如何在WordPress管理中有条件地呈现仪表板小工具

时间:2011-10-10 作者:Aadi

我想有条件地呈现一些自定义仪表板小部件。如果登录用户的角色大于或等于编辑器角色,我希望呈现比具有订阅者角色的用户更多的小部件。如何做到这一点?任何帮助请。。。

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

// PHP 5.3 syntax - anonymous functions (Closures)
add_action(\'wp_dashboard_setup\', function(){
    if(current_user_can(\'activate_plugins\')){ // Administrator
        wp_add_dashboard_widget(\'dbwidget-Administrator\', \'#Administrator\', function(){
            // Print widget here
        });
    }elseif(current_user_can(\'delete_others_posts\')){ // Editor
        wp_add_dashboard_widget(\'dbwidget-Editor\', \'#Editor\', function(){
            // Print widget here
        });
    }elseif(current_user_can(\'delete_published_posts\')){ // Author
        wp_add_dashboard_widget(\'dbwidget-Author\', \'#Author\', function(){
            // Print widget here
        });
    }elseif(current_user_can(\'edit_posts\')){ // Contributor
        wp_add_dashboard_widget(\'dbwidget-Contributor\', \'#Contributor\', function(){
            // Print widget here
        });
    }elseif(current_user_can(\'read\')){ // Subscriber
        wp_add_dashboard_widget(\'dbwidget-Subscriber\', \'#Subscriber\', function(){
            // Print widget here
        });
    }
});
正如您所见,我将它们与elseif链接起来,以确保角色顺利降级,因为管理员也可以完成以下所有操作。随心所欲地玩吧。了解更多有关Roles and Capabilities here.

结束

相关推荐

Integrating plugins in themes

我找不到讨论这个的帖子,所以开始这篇。我目前正在为3.1+开发一个相当复杂的主题,我的意思是,除了样式和常规的前端功能之外,我还在主题的核心包括后端和前端的插件。因此,为了使这一点更有条理,我将其分为三个问题:集成插件是一种常见的做法吗</自动更新主题/插件有什么影响/复杂之处</在不破坏现有功能的情况下,包含每个插件的最佳方式是什么