使用条件标记将某些内容限制为1个用户?

时间:2013-07-23 作者:Cully

我正在使用以下小部件

http://wordpress.org/plugins/widget-logic/

这允许我使用WP Conditional tags.

我想要的是将一个小部件限制为仅2个用户。

这适用于一个用户current_user_can(\'level_10\') 但允许访问所有其他level\\u 10(无atm),而不允许访问其他用户。

如何将此限制为仅2个用户?我试过了is_author( \'4\' ) 但似乎没有接受它(认为它只是针对作者页面)

1 个回复
最合适的回答,由SO网友:gmazzap 整理而成

don\'t 知道这个插件,但对它有一个快速的观察,似乎你想要的不是,而是你可以依赖的widget_content filter 由您使用的插件激发。

所以,在你的主题中function.php 放置:

if ( function_exists(\'widget_logic_redirected_callback\') )
   add_filter(\'widget_content\', \'my_widget_for_user\', 10, 2);

function my_widget_for_users ($widget_content, $widget_id) {
   $allowed_users = array(\'username1\', \'username2\');
   $restricted_widgets = array(\'widget_id_1\', \'widget_id_2\');
   global $current_user;
   get_currentuserinfo();
   if ( in_array($widget_id, $restricted_widgets) && ( empty($current_user->user_login) || ! in_array($current_user->user_login, $allowed_users) ) ) {
      $widget_content = \'\';
   }
   return $widget_content;
}
这样做时,如果没有用户登录或该用户不是允许的用户,则从技术上讲,小部件将显示,但带有no content 所以你会看到。。。没有什么

结束

相关推荐

Using tabs in admin widgets

更新:我应该指出,我在插件/主题选项页面上测试了下面的方法,效果非常好。事实上,我还能够包括jQuery cookie插件,以保留页面加载之间的当前选项卡选择(很好!)。当您有多个小部件选项时,尝试向管理小部件添加选项卡以减少表单占用空间。我正在使用WordPress附带的jQuery UI选项卡。以下是我迄今为止在插件中编写的代码。http://pastebin.com/fe4wdBcp当小部件被拖动到小部件区域时,选项卡似乎呈现为OK,但您无法单击查看第二个选项卡。更糟糕的是,如果刷新窗口小部件页面,