wordpress鉤子:掌握對象和名稱空間方法
掛鉤是WordPress開發的基礎。 先前的SitePoint文章探索了鉤子基礎知識,動作和過濾器之間的區別以及替代事件射擊方法。本文著重於掛鉤實例化類方法和在WordPress掛鉤系統中導航命名空間。
>掛鉤對象方法:廣告管理器示例
想像一下構建廣告管理器插件。 您將使用用於不同廣告網絡的方法創建一個AdManager
>類。
<code class="language-php">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; } }</code>
>將adsense
的方法掛接到before_post_content
>操作(例如,在主題的functions.php
>中),您需要類的實例:
add_action( 'before_post_content', array( AdManager::get_instance(), 'adsense' ) );
使用Singleton方法(get_instance()
)提供了一種干淨的方法來管理類實例。
>名稱空間和WordPress掛鉤系統
> WordPress掛鉤系統早於名稱空間。 掛接名稱的函數和方法需要仔細注意。
考慮AdManager
>>>> SitePointPlugin
的類:
<code class="language-php">namespace SitePoint\Plugin; class AdManager { // ... }</code>要掛接其
方法,請先預留名稱空間:adsense
add_action( 'before_post_content', array( SitePointPluginAdManager::get_instance(), 'adsense' ) );
如果
>
add_action
<code class="language-php">namespace SitePoint\Plugin; function google_site_verification() { echo '<meta content="ytl89rlFsAzH7dWLs_U2mdlivbrr_jgV4Gq7wClHDUJ8" name="google-site-verification">'; } add_action( 'wp_head', 'SitePoint\Plugin\google_site_verification' );</code>
>註冊卸載掛鉤的掛鉤需要類似的護理。 無法充分限定班級名稱可能會導致意外行為。 即使
和類都在同一命名文件文件中,始終預定名稱空間。>
register_uninstall_hook
結論
了解如何處理WordPress掛鉤系統中的對象方法和名稱空間對於構建強大的插件和主題至關重要。 雖然由於系統的歷史背景而存在一些怪癖,但仔細注意細節可確保平穩整合。
>以上是了解WordPress鉤系統中的名稱空間的詳細內容。更多資訊請關注PHP中文網其他相關文章!