it-swarm.com.de

Wo finde ich die Funktionen, die in einem Hook ausgelöst werden?

Ich bin neu bei WP, habe aber in der Vergangenheit andere CMS verwendet.

Ich wollte zum Üben einen einfachen Woo-Commerce-Laden bauen. Ich habe WP, Woo-Commerce und das Woo-Commerce-Store-Front-Theme installiert und alles ist gut gelaufen.

Jetzt möchte ich mit dem Anpassen des Themas beginnen. Als erstes wollte ich ein neues Logo in die Kopfzeile setzen. Ich öffnete die Datei header.php im Storefront-Designverzeichnis und fand den div, der angibt, wo sich das Logo befinden soll, aber alles, was ich sehe, ist:

do_action( 'storefront_header' );

Ich habe mich im Verzeichnis umgegraben, kann aber keine storefront_header-Dateien oder -Funktionen finden.

Also, was soll ich hier machen? Gibt es Anleitungen oder eine Karte, um die einzelnen Elementfunktionen oder die PHP -Datei zu finden?

Wie finde ich in der Vorlagenstruktur die Elemente, an denen ich arbeiten möchte?

1
MeltingDog

Betrachten Sie die aktuelle Version von Storefronts header.php:

/**
 * Functions hooked into storefront_header action
 *
 * @hooked storefront_skip_links                       - 0
 * @hooked storefront_social_icons                     - 10
 * @hooked storefront_site_branding                    - 20
 * @hooked storefront_secondary_navigation             - 30
 * @hooked storefront_product_search                   - 40
 * @hooked storefront_primary_navigation_wrapper       - 42
 * @hooked storefront_primary_navigation               - 50
 * @hooked storefront_header_cart                      - 60
 * @hooked storefront_primary_navigation_wrapper_close - 68
 */
do_action( 'storefront_header' ); ?>

In diesem Kommentarblock sind alle Rückruffunktionen (mit Prioritäten) aufgeführt, die mit der Aktion storefront_header verknüpft sind.

Wenn Sie in den Dateien des Verzeichnisses storefront nach Text für die Zeichenfolge 'storefront_header' suchen, finden Sie diese Funktionen. Es gibt keine Standardmethode, um zu organisieren, wo diese Funktionen angezeigt werden. Sie können sie jedoch manuell suchen, indem Sie mit functions.php beginnen und den gesamten Code von dort aus verfolgen. Die Suche ist jedoch effizienter.

storefront_site_branding ist die Funktion, die die Anzeige des Logos regelt. Es befindet sich in storefront/inc/storefront-template-functions.php.

2
Dave Romsey

do_action steht nicht in direktem Zusammenhang mit der Vorlagenhierarchie, sondern ist im Grunde ein Auslöser für Beobachter, die beobachten möchten, wann die bestimmte Aktion ausgelöst wird.

Der beste Weg, um die Beobachter herauszufinden, ist eine Codesuche nach dem Namen der Aktion (in diesem Fall storefront_header). In diesem Fall ist es auf die Themendateien beschränkt. Wenn Sie jedoch an einem Thema arbeiten, für das Plugins erforderlich sind, möchten Sie wahrscheinlich auch den Code des Plugins durchsuchen.

Ein häufiges Problem (insbesondere im Kerncode) sind Aktionen, die dynamisch durch Kombinieren von Zeichenfolgen erstellt werden. Wenn Sie also bei der Suche nach storefront_header keine Ergebnisse erzielen, sollten Sie versuchen, nach dem Präfix oder Suffix der Aktion zu suchen

2
Mark Kaplun