允许匿名用户访问主题定制器

时间:2014-05-21 作者:Jeg Bagus

我创建了一个主题并使用主题定制器。有没有什么方法可以让匿名用户访问主题定制器而不保存它?

如果用户能够知道我们提供什么样的主题定制以及如何更改,那么在用户体验方面将非常方便。

非常感谢。

2 个回复
最合适的回答,由SO网友:Jeg Bagus 整理而成

如何实现让匿名用户登录到您的主题定制器有点棘手。以下是我使用的步骤:

首先是创建具有演示角色的用户(演示角色在WordPress上不可用,因此您需要编写类似bellow的代码来添加演示角色)

function jeg_demo_role () { add_role( \'demo\', \'Demo\', array( \'read\' => true, \'edit_theme_options\' => true, \'edit_posts\' => false, \'delete_posts\' => false )); } add_action(\'init\', \'jeg_demo_role\');

/**模板名称:演示-主题定制器*/

$creds=数组(\'用户\\u登录\'=>\'演示\',\'用户\\u密码\'=>\'演示\');

$user=wp\\u signon($creds,false);

if(is\\u wp\\u error($user)){echo$user->get\\u error\\u message();}else{$CustomizeUrl=get\\u admin\\u url()。\'customize.php\';wp\\u重定向($CustomizeUrl);}出口

不要忘记自定义程序,并禁用自定义程序上的保存选项

函数jeg\\u is\\u demo\\u user(){if(is\\u user\\u logged\\u()){$current\\u user=wp\\u get\\u current\\u user();if($current\\u user->roles[0]===“demo”){返回true;}返回false;}

/**禁用演示时保存*/函数jeg\\u customize\\u save(){if(jeg\\u is\\u demo\\u user()){exit;}}add\\u action(\'customize\\u save\',\'jeg\\u customize\\u save\');

然后,您只需使用这些模板创建页面,当您的用户转到这些url时,它们将自动重定向到其他页面。

SO网友:Pali Madra

尝试使用此解决方案为用户提供访问特定页面的权限,而无需注册帐户。

http://codex.wordpress.org/Function_Reference/wp_signon

如果它不起作用或者您需要进一步的帮助,请告诉我。

结束

相关推荐