5

Wordpress の子テーマ、WooCommerce テーマ Storefront を使用しています。

Storefront ヘッダー フック関数は次のように並べられます。

<?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' ); ?>

product_searchが の前になるように順序を変更したいと思いsecondary_navigationます。

私は店先のファイルを調べましたが、この注文がどこに設定されているかを見つけることができず、アイテムが個別に設定されているだけです.

誰でも私がフックするのを手伝ってくれますか、注文を変更するために必要なことをしてくれますか?

4

5 に答える 5

5

@loictheaztec からの提案には、以下のように add_action がありませんでした -

add_action( 'init' , 'add_and_remove' , 15 );
function mh_add_and_remove() {
        remove_action( 'storefront_header', 'storefront_product_search', 40 );
        add_action( 'storefront_header', 'storefront_product_search', 25 );
}
于 2016-06-10T23:27:42.700 に答える
1

そのためには、最初にremove_action()関数でそれを削除する必要があり、次に関数で再度フックしてadd_action()、優先度を 40 から 25 に変更します。

プライオリティ 25 は次の間にあります。
@hooked storefront_site_branding- プライオリティ 20 と@hooked storefront_secondary_navigation- プライオリティ 30

このコード スニペットを、アクティブなテーマ フォルダーの function.php に貼り付けます (または、アクティブな子テーマ フォルダーに貼り付けます)。

remove_action( 'storefront_header', 'storefront_product_search', 40 );
add_action( 'storefront_header', 'storefront_product_search', 25 );
于 2016-06-10T16:09:52.893 に答える