Wordpress Woocommerce:仅在独立页面上显示提供的产品
我想创建一个名为“折扣”的独立页面,并显示所有提供的产品,我有以下功能添加到我的儿子主题,但它使商店的主页(所有产品)仅显示提供的产品,因为我可以有此功能,但仅在特定页面上?我突然想到要执行“空”搜索以显示所有折扣产品(使用此功能),我走的路对吗Wordpress Woocommerce:仅在独立页面上显示提供的产品,wordpress,function,woocommerce,Wordpress,Function,Woocommerce,我想创建一个名为“折扣”的独立页面,并显示所有提供的产品,我有以下功能添加到我的儿子主题,但它使商店的主页(所有产品)仅显示提供的产品,因为我可以有此功能,但仅在特定页面上?我突然想到要执行“空”搜索以显示所有折扣产品(使用此功能),我走的路对吗 add_action( 'woocommerce_product_query', 'onsale_custom' ); function onsale_custom( $q ){ $product_ids_on_sale = wc_get_
add_action( 'woocommerce_product_query', 'onsale_custom' );
function onsale_custom( $q ){
$product_ids_on_sale = wc_get_product_ids_on_sale();
$q->set( 'post__in', $product_ids_on_sale );
}
你需要有一种方法来区分不同的页面 我为解决这个问题所做的是在slug
折扣
下创建一个新的空产品类别(slug名称可以更改,但要跟踪它)
然后,我修改了您附加的函数,通过检查是否正在监视此类别,同时在调用此函数时提供类别slug名称
然后在query arg中设置post\u和取消设置产品类别
,以允许查看所有正在销售的产品
结果是:
add_action( 'woocommerce_product_query', 'onsale_custom' );
function onsale_custom( $query ){
if ( is_product_category('discounts') ) { // My slug name is 'discounts'
$product_ids_on_sale = wc_get_product_ids_on_sale();
$query->set( 'post__in', $product_ids_on_sale );
unset ($query->query_vars['product_cat']);
}
}
这太完美了!非常感谢您的宝贵帮助!