为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
泛舟湖上清波郎朗 2021-06-28 13:41:32
出于某种原因,我需要在 WooCommerce 的单个页面上为访客用户(非登录用户)显示私人产品列表。这如何通过(或不通过)编程来完成?
查看完整描述

1 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

您可以在要显示私人产品的特定页面上使用普通的 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 文件中。测试和工作。


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


查看完整回答
反对 回复 2021-07-02
  • 1 回答
  • 0 关注
  • 148 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号