In diesem Artikel wird WordPress -Hooks und -filter, leistungsstarke Tools zum Anpassen von Plugins und Themen untersucht. Entwickler können diese verwenden, um benutzerdefinierte Funktionen an bestimmten Punkten im Betrieb von WordPress hinzuzufügen.
Schlüsselkonzepte:
remove_action
Funktion: Diese Funktion entfernt Standardhaken und Filter. Es erfordert den Hakennamen, die Funktion und die Priorität der Funktion. remove_action
übergeben. Dies kann eine Herausforderung sein, wenn das Klassenobjekt nicht leicht zugänglich ist. WordPress verwendet ein System von Hooks und Filtern, mit denen Entwickler benutzerdefinierte Funktionen integrieren können. Diese Haken bieten Interventionspunkte im WordPress -Workflow. Plugins und Themen stützen sich stark auf dieses System, entweder intern oder um Entwickler Erweiterungspunkte anzubieten. Unzureichend exponierte Hooks können die Anpassungsoptionen begrenzen.
Viele Plugins und Themen verwenden objektorientierte Programmierprinzipien (OP) und definieren die Funktionalität innerhalb der Klassen. Das Entfernen oder Ersetzen von Haken innerhalb dieser Klassen stellt einzigartige Herausforderungen dar.
Entfernen von Standardhaken:
remove_action
Haken außerhalb des Klassenes entfernen ist unter Verwendung der
$tag
$function_to_remove
$priority
do_action
add_action
Funktionen, die über
hinzugefügt wurden.
Beispiel: WooCommerce -Brotkrumen do_action( 'woocommerce_before_main_content' );
remove_action('woocommerce_before_main_content', 'woocommerce_breadcrumb', 20);
Entfernen von Haken innerhalb der Klassen:
remove_action
remove_action('woocommerce_before_main_content', 'woocommerce_breadcrumb', 20);
Das Klassenobjekt ist entscheidend. Verwenden Sie für Singleton -Klassen Methoden wie MyClass::getInstance()
. Versuchen Sie ansonsten global zu greifen (z. B. global $myClassObject
). Das Überprüfen von Elementen und die Rückverfolgung zu ihren zugehörigen Funktionen kann dazu beitragen, den Haken und die Funktion zu identifizieren.
Beispiel: WooCommerce -E -Mails
Die WC_Emails
-Klasse in WooCommerce übernimmt die E -Mail -Generierung. Um Kundendetails aus E -Mails zu entfernen:
remove_action('hook_name', array($myclass, 'my_function_remove'), 10);
Beispiel: Benutzerdefinierte Klassenhakenentfernung
Dieses Beispiel zeigt, dass das Entfernen eines Hakens aus einer benutzerdefinierten Klasse in einem übergeordneten Thema, das in einem Kinderthema behandelt wurde:
function remove_customer_email_details($instance) { remove_action('woocommerce_email_customer_details', array( $instance, 'customer_details'), 10); } add_action('woocommerce_email', 'remove_customer_email_details');
Wenn diese Technik fehlschlägt:
Wenn das Klassenobjekt nicht zugänglich ist, beachten Sie:
Dieser umfassende Leitfaden ermöglicht Entwickler, WordPress -Hooks und Filter für eine verbesserte Site -Anpassung effektiv zu verwalten. Denken Sie daran, Entwickler-freundliche Plugins und Themen zu priorisieren, die ausreichend Hakenzugriff bieten.
(Der verbleibende FAQ -Abschnitt ist für die Kürze weggelassen, da es sich um eine Wiederholung von Informationen handelt, die bereits im Artikel behandelt werden.)
Das obige ist der detaillierte Inhalt vonTiefer in WordPress -Haken und Filter graben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!