woocommerce:is_home()在functions.php中不起作用

时间:2014-03-28 16:14:42

标签: wordpress woocommerce

我正在尝试在我的主页(home.php)上显示产品,而不是静态首页,使用woocommerce短代码,并在functions.php中挂钩...

这是home.php中的短代码: echo do_shortcode('[product_category category="stuff" columns="3"]' );

这是我在functions.php中的代码:

if (is_home())
{ 
remove_action( 'woocommerce_after_shop_loop_item','woocommerce_template_loop_add_to_cart', 10 );
remove_action( 'woocommerce_after_shop_loop_item_title','woocommerce_template_loop_price', 10 );
}

我试过,wp_reset_query()和wp_reset_postdata()但没有任何意义可行......

显示产品,但如果我用if(is_home())包装它,钩子不起作用......

由于

2 个答案:

答案 0 :(得分:0)

如果is_home()无效,请尝试使用is_page_template()。目前您的主页由home.php显示,我可以根据您的问题制作。所以你可以试试这个

function remove_woocommerce_actions() {
if (is_page_template( 'home.php' ))
{ 
remove_action( 'woocommerce_after_shop_loop_item','woocommerce_template_loop_add_to_cart', 10 );
remove_action( 'woocommerce_after_shop_loop_item_title','woocommerce_template_loop_price', 10 );
}
}
add_action( 'template_redirect', 'remove_woocommerce_actions' ); 

答案 1 :(得分:-1)

尝试使用函数is_front_page()