WordPress -Hooks: Mastering -Objekt und Namensmethoden
beherrschenHaken sind für die WordPress -Entwicklung von grundlegender Bedeutung. Vorherige SitePoint -Artikel untersuchten die Grundlagen der Hook, die Unterscheidung zwischen Aktionen und Filtern und alternativen Ereignisfeuerungsmethoden. In diesem Artikel konzentriert
Haken -Objektmethoden: Ein Anzeigenmanager -Beispiel
Stellen Sie sich vor, Sie bauen ein Werbemanager -Plugin auf. Sie erstellen eine
-Klasse mit Methoden für verschiedene Anzeigennetzwerke. AdManager
class AdManager { public function adsense() { ?> <ins data-ad-client="ca-pub-xxxxxxxxxxxxxxxx" data-ad-slot="6762452247" style="display:inline-block;width:336px;height:280px"></ins> (adsbygoogle = window.adsbygoogle || []).push({}); <?php } public function buysellads() { // ... } public static function get_instance() { static $instance = null; if ( $instance == null ) { $instance = new self(); } return $instance; } }
-Methode an die adsense
-Kaktion (z. B. in der before_post_content
Ihres Themas) anzuschließen, benötigen Sie eine Instanz der Klasse: functions.php
add_action( 'before_post_content', array( AdManager::get_instance(), 'adsense' ) );
) bietet eine saubere Möglichkeit, die Klasseninstanz zu verwalten. get_instance()
Das WordPress -Hook -System lehnt die Namenspaces vor. Die Namensfunktionen und Methoden des Hakens erfordert sorgfältige Aufmerksamkeit.
Betrachten Sie eine
-Klasse innerhalb des AdManager
Namespace: SitePointPlugin
namespace SitePoint\Plugin; class AdManager { // ... }
adsense
add_action( 'before_post_content', array( SitePointPluginAdManager::get_instance(), 'adsense' ) );
Wenn der
add_action
namespace SitePoint\Plugin; function google_site_verification() { echo '<meta content="ytl89rlFsAzH7dWLs_U2mdlivbrr_jgV4Gq7wClHDUJ8" name="google-site-verification"></meta>'; } add_action( 'wp_head', 'SitePoint\Plugin\google_site_verification' );
Registrieren Sie die Deinstallation von Hooks mit Namespat -Klassen erfordert eine ähnliche Sorgfalt. Wenn Sie den Klassennamen nicht vollständig qualifizieren, kann dies zu unerwartetem Verhalten führen. Bereiten Sie den Namespace immer vor, auch wenn die
und die Klasse in der gleichen Namenspatei sind.
register_uninstall_hook
Schlussfolgerung
Verstehen, wie Objektmethoden und Namespaces innerhalb des WordPress -Hook -Systems umgehen, ist entscheidend, um robuste Plugins und Themen zu erstellen. Während einige Macken aufgrund des historischen Kontextes des Systems existieren, sorgt sorgfältige Liebe zum Detail eine reibungslose Integration.
Das obige ist der detaillierte Inhalt vonVerständnis der Namespaces im WordPress Hook -System. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!