<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                一個重要但經常被忽視的做法是在您的插件中使用自定義鉤子,以便其他開發人員可以擴展和修改它。 自定義鉤子以與WordPress Core鉤子相同的方式創建和調用。 ## 創建一個鉤子 要創建自定義鉤子,請對操作使用do_action(),對過濾器應用apply_filters()。 >[warning] 注意:我們建議在輸出到瀏覽器的任何文本上使用apply_filters()。 特別是在前臺。 這樣可以根據用戶的需要更容易地修改插件。 ## 向Hook添加回調 要將一個回調函數添加到自定義鉤子中,請對“過濾器”使用“動作”的add_action()和add_filter()。 ## 命名沖突 由于任何插件都可以創建一個自定義鉤子,所以重要的是為您的掛鉤名稱前綴以避免與其他插件的沖突。 例如,名為email_body的過濾器將不那么有用,因為另一個開發人員可能會選擇相同的名稱。 如果用戶安裝這兩個插件,可能會導致難以追蹤的錯誤。 命名功能wporg_email_body(其中wporg_是您的插件的唯一前綴)將避免任何沖突。 # 示例 ## 可擴展操作:設置表單 如果您的插件向管理面板添加了一個設置表單,您可以使用操作來允許其他插件添加自己的設置。 ``` <?php function wporg_settings_page_html() { ?> Foo: <input id="foo" name="foo" type="text"> Bar: <input id="bar" name="bar" type="text"> <?php do_action('wporg_after_settings_page_html'); } ``` 現在另一個插件可以為wporg_after_settings_page_html鉤子注冊一個回調函數,并注入新的設置: ``` <?php function myprefix_add_settings() { ?> New 1: <input id="new_setting" name="new_settings" type="text"> <?php } add_action('wporg_after_settings_page_html', 'myprefix_add_settings'); ``` ## 可擴展過濾器:自定義文章類型 在此示例中,當注冊新的帖子類型時,定義它的參數通過過濾器傳遞,因此另一個插件可以在創建帖子類型之前更改它們。 ``` <?php function wporg_create_post_type() { $post_type_params = [/* ... */]; register_post_type( 'post_type_slug', apply_filters('wporg_post_type_params', $post_type_params) ); } ``` 現在另一個插件可以為wporg_post_type_params鉤子注冊回調函數,并更改帖子類型參數: ``` <?php function myprefix_change_post_type_params($post_type_params) { $post_type_params['hierarchical'] = true; return $post_type_params; } add_filter('wporg_post_type_params', 'myprefix_change_post_type_params'); ``` ## 外部資源 - Extendable Extensions by Michael Fields - WordPress Plugins as Frameworks by Josh Harrison - The Pluggable Plugin by Brandon Dove - WordPress Plugin Pet Peeves #3: Not Being Extensible by Will Norris
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看