WooCommerce:如何在挂钩操作中排除特定页面

WooCommerce: How to exclude a specific page in a hooked action

除了我试图确定如何排除主要商店页面不包含在操作中之外,此代码工作正常。此挂钩将 HTML 代码添加到所有存档类型页面,包括主商店页面。鉴于这是一个 link 返回商店页面,它应该被排除在商店页面之外。

如有任何帮助,我们将不胜感激。

function add_back_to_catalog_category() { 
    ?>
    <div><br><p class="button-catalog"><a href="/shop/">Back to Catalog - All Products</a></p></div><?php
}
add_action( 'woocommerce_after_shop_loop', 'add_back_to_catalog_category' );

Visual reference to woocommerce_after_shop_loop action hook.

您可以使用 WooCommerce 条件标签 is_shop() 例如:

add_action( 'woocommerce_after_shop_loop', 'add_back_to_catalog_category' );
function add_back_to_catalog_category() { 
    // Not on shop page
    if( ! is_shop() ) {
        printf( '<div><br><p class="button-catalog"><a href="%s">%s</a></p></div>', 
            get_permalink( wc_get_page_id( 'shop' ) ), 
            __("Back to Catalog - All Products", "your-text-domain") 
        );
    }
}

代码进入活动子主题(或活动主题)的 functions.php 文件。它应该有效。