我在WordPress的Admin(Dashboard)页面中创建了一个自定义选项菜单。
这个想法是允许管理员输入帖子ID以限制为仪表板中的逗号分隔值(例如" 100,102,104和#34;)。我希望将逗号分隔值作为数组传递,以限制使用帖子ID访问帖子。
为了限制访问,我试图在主题文件中获取值:
$restricted_ids = array();
$restricted_ids = get_option('_s_theme_options')['restricted_post_ids'];
if(is_single ($restricted_ids)) && !is_user_logged_in()) {
// My code here
}
我测试了它,发现变量" $ restricted_ids"没有得到预期的Post ID。例如,如果我输入' 123,456',$ restricted_ids会将其作为数组接收,其值为' 1,2,3 ...'不是' 123,456'。 如何更正" $ restricted_ids"的代码?正确接收输入的Post ID作为数组?
感谢您的帮助。
答案 0 :(得分:0)
尝试从字符串中删除空格,然后将其拆分为包含explode()
的数组:
$restricted_ids = array();
$post_ids = str_replace(' ', '', get_option('_s_theme_options')['restricted_post_ids']);
$restricted_ids = explode(',', $post_ids);
if(is_single ($restricted_ids) && !is_user_logged_in()) {
// Do the things
}