我正在尝试在我的主页(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())包装它,钩子不起作用......
由于
答案 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()