woo-commerce受密码保护的产品显示对某些用户没有任何限制


woo-commerce password protected products display with out any restriction for some users

我从后端创建了一些"受密码保护"的产品。现在,我想向一些特定用户显示那些"密码保护"产品,不受任何密码限制。对于剩余的用户,他们应该询问密码以查看产品。这可能吗。如果有任何解决方案,请告诉我。

简而言之,需要从functions.php 更改WordPress可见性选项

谢谢,Satya

在对WordPress的内置功能进行了一些研究后,我得到了一个解决方案及其工作原理。

在"functions.php"文件中,我做了以下代码。

function password_visibility(){
  $post = get_post();
  if(!is_admin() && !empty($post->post_password)):
    require_once ABSPATH . WPINC . '/class-phpass.php';
    $hasher = new PasswordHash( 8, true );

    $expire = apply_filters( 'post_password_expires', time() + 10 * DAY_IN_SECONDS );
    $secure = ( 'https' === parse_url( home_url(), PHP_URL_SCHEME ) );
    setcookie( 'wp-postpass_' . COOKIEHASH, $hasher->HashPassword( wp_unslash( $post->post_password ) ), $expire, COOKIEPATH, COOKIE_DOMAIN, $secure );
    wp_safe_redirect( wp_get_referer() );
  endif;
}
add_action( 'pre_get_posts' , 'password_visibility' );

希望这能对其他有同样要求的人有所帮助。我可以将此代码用于某些特定用户或特定类别,等等。。

相关文章: