使WordPress中的单个页面仅对管理员和订阅者可用

时间:2017-04-06 作者:Marcelo Srougi

我正在尝试使单个页面仅对管理员和网站订阅者可用。我已经在WordPress admin中将该页面设置为私有,并尝试使用上面的代码仅允许这两个角色使用该页面,但它无法正常工作。任何帮助都将不胜感激。

<?php 
if ( have_posts() ) : while ( have_posts() ) : the_post();
    $private = get_post_custom_values("private");
    if (isset($private[0]) && $private == "true") {

        if ( current_user_can( \'administrator\' ) ) { 
        the_title();
        the_content();
        } else if ( current_user_can( \'subscriber\' ) )  {
                the_title();
                the_content();
               } else  {            // text to show instead the post
                    echo \'this post is private\';
        }


    } else {        // this is visible to all
        the_title();
        the_content();
    }

endwhile; 
endif; 
?>
我也尝试过:

我也尝试过,但没有成功:

<?php
if ( have_posts() ) :
    while ( have_posts() ) : the_post();
    $private = get_post_custom_values( \'private\' );
    if ( isset($private[0]) && $private == \'true\' ) {

        if ( current_user_can(\'subscriber\') || current_user_can(\'administrator\') )  {
            the_title();
            the_content();
        }      

    } else {        // this is visible to all
        echo \'This post is private.\';
      }

 endwhile;
endif;
?>
但也没有成功。

1 个回复
SO网友:kamleshpal

please try this

if ( have_posts() ) : while ( have_posts() ) : the_post();
   if ( get_post_status (get_the_id()) == \'private\' ) {
     if ( current_user_can( \'administrator\' ) ) { 
        the_title();
        the_content();
     } else if ( current_user_can( \'subscriber\' ) )  {
        the_title();
        the_content();
     } else  {
        echo \'this post is private\';
     }
    } else {
        the_title();
        the_content();
    }

endwhile; 
endif;

相关推荐

Recommended File Permissions

嘿,伙计们,我花了很长时间试图解决这个问题。我想知道WordPress中的文件权限应该是什么样子in order to use the autoupdate feature. 到目前为止,我的wordpress安装程序一直在询问我的FTP信息,我不想使用那种升级/安装方法,我想使用纯/直接PHP。某些上下文:Web服务器和php fcgi守护程序运行为www-data:www-data</wordpress安装位于/home/blaenk/sites/domain.tld/</首先,我read