Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 用于对用户ID隐藏产品ID的功能_Wordpress_Function_Woocommerce - Fatal编程技术网

Wordpress 用于对用户ID隐藏产品ID的功能

Wordpress 用于对用户ID隐藏产品ID的功能,wordpress,function,woocommerce,Wordpress,Function,Woocommerce,我在一个网站上安装了woocommerce,该网站拥有特定数量的用户,这些用户将能够访问受密码保护的商店 问:除了少数客户之外,是否可以对所有用户隐藏产品。我想创建一个函数,将是 隐藏除用户ID:93、64、22等之外的所有产品ID 我需要帮助。提前谢谢 $user = get_current_user_id(); if($user == '93' && get_post_meta(get the meta value of the product which applies

我在一个网站上安装了woocommerce,该网站拥有特定数量的用户,这些用户将能够访问受密码保护的商店

问:除了少数客户之外,是否可以对所有用户隐藏产品。我想创建一个函数,将是

隐藏除用户ID:93、64、22等之外的所有产品ID

我需要帮助。提前谢谢

 $user = get_current_user_id();
 if($user == '93' && get_post_meta(get the meta value of the product which applies to password protexted)) {
      show product here

 } else {
    dont_show
 }

您可以将其挂接到pre_get_posts hook

您可以使用此处提供的答案:

我会尝试这样做:您需要在woocommerce文件夹中的content-product.php中使用它,并使用li编辑该部分,使其看起来像:

$user_id = 1

if(user_id_exists($user_id )){ 
    <li <?php post_class( $classes ); ?>>

    <?php do_action( 'woocommerce_before_shop_loop_item' ); ?>

    <a href="<?php the_permalink(); ?>">

        <?php
            /**
             * woocommerce_before_shop_loop_item_title hook
             *
             * @hooked woocommerce_show_product_loop_sale_flash - 10
             * @hooked woocommerce_template_loop_product_thumbnail - 10
             */
            do_action( 'woocommerce_before_shop_loop_item_title' );

            /**
             * woocommerce_shop_loop_item_title hook
             *
             * @hooked woocommerce_template_loop_product_title - 10
             */
            do_action( 'woocommerce_shop_loop_item_title' );

            /**
             * woocommerce_after_shop_loop_item_title hook
             *
             * @hooked woocommerce_template_loop_rating - 5
             * @hooked woocommerce_template_loop_price - 10
             */
            do_action( 'woocommerce_after_shop_loop_item_title' );
        ?>

    </a>

    <?php

        /**
         * woocommerce_after_shop_loop_item hook
         *
         * @hooked woocommerce_template_loop_add_to_cart - 10
         */
        do_action( 'woocommerce_after_shop_loop_item' );

    ?>

</li>
} else {
    return;
}

您可以创建用户数组,并使用foreach循环对其进行过滤,然后在其中为每个用户创建if条件

谢谢,野狗,我来试试。谢谢,迪米塔,我来试试。
$user_id = 1

if(user_id_exists($user_id )){ 
    <li <?php post_class( $classes ); ?>>

    <?php do_action( 'woocommerce_before_shop_loop_item' ); ?>

    <a href="<?php the_permalink(); ?>">

        <?php
            /**
             * woocommerce_before_shop_loop_item_title hook
             *
             * @hooked woocommerce_show_product_loop_sale_flash - 10
             * @hooked woocommerce_template_loop_product_thumbnail - 10
             */
            do_action( 'woocommerce_before_shop_loop_item_title' );

            /**
             * woocommerce_shop_loop_item_title hook
             *
             * @hooked woocommerce_template_loop_product_title - 10
             */
            do_action( 'woocommerce_shop_loop_item_title' );

            /**
             * woocommerce_after_shop_loop_item_title hook
             *
             * @hooked woocommerce_template_loop_rating - 5
             * @hooked woocommerce_template_loop_price - 10
             */
            do_action( 'woocommerce_after_shop_loop_item_title' );
        ?>

    </a>

    <?php

        /**
         * woocommerce_after_shop_loop_item hook
         *
         * @hooked woocommerce_template_loop_add_to_cart - 10
         */
        do_action( 'woocommerce_after_shop_loop_item' );

    ?>

</li>
} else {
    return;
}