我从后端创建了一些"受密码保护"的产品。现在,我想向一些特定用户显示那些"密码保护"产品,不受任何密码限制。对于剩余的用户,他们应该询问密码以查看产品。这可能吗。如果有任何解决方案,请告诉我。
简而言之,需要从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' );
希望这能对其他有同样要求的人有所帮助。我可以将此代码用于某些特定用户或特定类别,等等。。