繁体   English   中英

显示WooCommerce中未登录用户的私人产品列表

[英]Display a list of private products for unlogged users in WooCommerce

由于某些原因,我需要在WooCommerce的单个页面上为来宾用户(未登录的用户)显示私人产品的列表。 如何使用(或不使用)编程来完成此任务?

您可以在要显示私有产品的特定页面上使用普通的woocommerce简码,例如:

[products limit="12" columns="4" paginate="true"]

您将根据需要设置简码参数(例如列数,每页项数,启用分页等)

然后,要查询所有私有产品,请使用以下命令(在102以下用您使用简码的页面ID代替)

add_filter( 'woocommerce_shortcode_products_query', 'display_private_product_list', 10, 3 );
function display_private_product_list( $query_args, $atts, $loop_name ){
    if( get_the_id() == 102 ){
        if( ! is_user_logged_in() ){
            $query_args['post_status'] = 'private';
        } else {
            $query_args['post_type'] = 'nothing'; // Display nothing for logged users
        }
    }
    return $query_args;
}

代码进入活动子主题(或活动主题)的function.php文件中。 经过测试和工作。

它将显示未登录用户的所有私有产品。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM