簡體   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