Woocommerce |如果page_id = .. {}

时间:2017-04-05 09:55:03

标签: php wordpress if-statement woocommerce

我正在尝试将特定功能应用于Woocommerce中的某个页面ID。 但是,似乎并不适用。我查看了Wordpress和Woommerce条件标记(https://docs.woocommerce.com/document/conditional-tags/)。

我正在测试的简单代码如下所示,但即使这样也无效。

if ( is_product()) {
    echo ' HALLO sdfdsfsdfsdfsdf ';
}

我也尝试过使用page_id和post_id,但无法使用它。 我已将此代码添加到我的子主题中的functions.php中。

是否有人知道只为特定产品页面编写特定功能(我知道该值)。

1 个答案:

答案 0 :(得分:0)

方法 - 1

is_page()依赖于完整的全局 $ wp_query 对象。如果您在触发操作template_redirect之前调用它,则可能无法获取该数据。

add_filter( 'template_include', function( $template ) {
    if ( is_product() )
        echo 'HELLO';

    return $template;
});

方法 - 2

WordPress / WooCommerce conditional tags在触发wp操作之后才会起作用,使其成为您可以使用标记的最早点。您可以在“操作参考”页面查看整个列表以及核心WordPress操作的顺序。

add_action( 'wp', 'init' );
function init() {    
  if ( is_shop() ) {    
    echo 'HELLO, this works!';
  }    
}