我使用以下代码隐藏Woo商店页面上的产品循环:
add_action( 'pre_get_posts', 'bbloomer_remove_products_from_shop_page' );
function bbloomer_remove_products_from_shop_page( $q ) {
if ( ! $q->is_main_query() ) return;
if ( ! $q->is_post_type_archive() ) return;
if ( ! is_admin() && is_shop() ) {
$q->set( 'tax_query', array(array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array( 'null' ),
'operator' => 'IN'
)));
}
remove_action( 'pre_get_posts', 'bbloomer_remove_products_from_shop_page' );
}
function wc_no_products_found() {
if ( is_shop() ) {
echo '<style>p.woocommerce-info{display:none}</style';
}
}
有效。它删除了所有产品和Woo no products found错误消息。
问题如下:
因为上面的代码删除了找不到产品的错误消息。如果有人在我的某个类别中搜索不存在的内容,则生成的搜索结果页面也会为空白。
因此,简单来说,我只想从商店页面中删除找不到产品的错误消息。我删除了所有产品的地方。并且仍然会在(不成功的)搜索结果页面上显示错误消息。
提前感谢您的帮助。
答案 0 :(得分:1)
add_action( 'woocommerce_no_products_found', function(){
if(is_shop()) {
remove_action( 'woocommerce_no_products_found', 'wc_no_products_found', 10 );
}
}, 9 );
我希望此代码可以帮助您