我一直在用new theme customizer 我真的在想,如果允许潜在的主题买家/客户等与定制者一起玩演示主题(无需登录),那该有多棒。自定义程序位于:
..wp-admin/customize.php
.
因此,需要以某种方式允许对该URL的开放访问but 后端没有其他内容。我想这可能是一个安全问题,但我想我会在这里进行讨论,以防安全地执行此操作,因为我相信其他人可能也有同样的想法。
所以问题是:是否有任何安全的方法可以允许对管理员的单个页面进行开放访问?
我一直在用new theme customizer 我真的在想,如果允许潜在的主题买家/客户等与定制者一起玩演示主题(无需登录),那该有多棒。自定义程序位于:
..wp-admin/customize.php
.
因此,需要以某种方式允许对该URL的开放访问but 后端没有其他内容。我想这可能是一个安全问题,但我想我会在这里进行讨论,以防安全地执行此操作,因为我相信其他人可能也有同样的想法。
所以问题是:是否有任何安全的方法可以允许对管理员的单个页面进行开放访问?
只是一个想法:
创建一个名为“Guest”的用户并查找用户ID将潜在客户端重定向到管理页面时,重定向到以Guest用户身份登录客户端的脚本(代码#1)
$creds = array(
\'user_login\' => \'guest_user\',
\'user_password\' => \'guest_user_plain_password\'
);
$user = wp_signon( $creds, false );
if ( is_wp_error( $user ) )
echo $user->get_error_message();
else
wp_redirect( \'your_absolute_admin_url\' ); exit;
代码#2add_action( \'init\', \'check_guest_user\' );
function check_guest_user() {
// Only when in backend and the guest user is logged in
if ( is_admin() && user_id = get_current_user_id() ) {
// Block other pages then custom.php
global $pagenow;
if ( \'customize\' != $pagenow )
exit();
}
}
// replace user_id with the user ID of \'Guest\'
此脚本的唯一问题是当多个用户尝试自定义程序时。保存每个用户的自定义设置会让事情变得更加困难。它回答了您的问题,因为它是一种解决方案,允许用户访问特定页面,而无需注册帐户。