/members
显示,因为它被重写为index.php?pagename=members
或index.php?category=members
当WordPress Rewrite 发动机启动。
根据“成员”实际是什么以及其他页面是什么,您可以使用is_user_logged_in()
函数,并使用它在用户未登录时满足某些条件时有条件地重定向。
作为最简单的示例(这在模板文件中):
如果(!is\\u user\\u logged\\u in())退出(\'访问受限\');
您还可以编写插件来钩住查询,让它在满足某些条件的情况下阻止页面或重定向,例如:
function wpse31700_restrict_access() {
global $wp_query;
$query_vars = $wp_query->query_vars;
// Allow by returning
$allowed_pages = array( \'\', \'contact\' );
if ( in_array($query_vars[\'pagename\'], $allowed_pages )
return;
// Or restrict by redirecting
$restricted_pages = array( \'members\', \'pricelist\', \'etc\' );
if ( !is_user_logged_in() and in_array($query_vars[\'pagename\'], $restricted_pages )
wp_redirect( ... );
}
add_action( \'wp\', \'wpse31700_restrict_access\' );
上面的代码只是为了说明这个概念,它不会开箱即用。您可以检查
pagename
s、 发布
name
s
author_name
, 甚至可以通过ID查看帖子/页面的元值,例如,查看它们是否包含“受限”值。