关于您的注意事项:-
是的,真的!它将在每次访问时更新页面将根据发出请求的用户更频繁地更新数据库。但不会有错误的输出我建议使用template_include 滤器分配一个静态首页,然后通过检查用户是否登录,将模板应用于该页。因此,您可以向登录的用户和访问者显示不同的布局/设计参见此示例:-
add_filter( \'template_include\', \'home_page_template\', 99 );
/**
* Home page Template based on user
* @param type $template
* @return type
*/
function home_page_template( $template ) {
if (!is_front_page()) {
return $template; //Return if not home page
}
$new_template = false;
if (is_user_logged_in()) {
$new_template = locate_template( array( \'logged-in-users.php\' ) );
} else {
$new_template = locate_template( array( \'not-logged-in-users.php\' ) );
}
if ( !empty($new_template) ) {
return $new_template ; //Only return if template exist
}
return $template; //Always return value from filter
}
对于其余内容,您可以为登录用户和来宾用户创建两个菜单,并在头文件中有条件地调用它们。要撤消来宾用户对某些页面/帖子的访问权限,请使用
init 钩住
is_user_logged_in() 然后做
temporary 重定向到某个页面。您可以在此网站上搜索此方法的示例。