WordPress仪表板上的自定义内容

Posted

技术标签:

【中文标题】WordPress仪表板上的自定义内容【英文标题】:Custom Content on WordPress Dashboard 【发布时间】:2012-08-01 01:43:21 【问题描述】:

我正在尝试找出将自定义内容添加到将在我的管理面板中定义的 wordpress 仪表板的最佳方法。

所以基本上我会让我的管理员帐户能够设置某些设置,而其他用户(订阅者、编辑者等)在登录时会看到自定义仪表板(管理员也会看到) .

到目前为止,我已经清除了整个仪表板,并且知道如何向其中添加小部件,但我正在尝试添加自定义 html(没有小部件框)。

有什么建议/想法吗?我希望得到一些帮助,谢谢!

【问题讨论】:

这样的工作是否可行,或者您是否对学习使用 php API 自定义仪表板更感兴趣? wordpress.org/extend/plugins/adminimize 我从 adminimize 为我的插件使用了几个想法,这是一个很好的开始。但我希望用户能够在仪表板上基本上有 4 个部分,这些部分可以是自定义 html,也可以是他们可以简单地输入一些信息并为他们生成“部分”的东西。 【参考方案1】:

也许您可以简单地在您的 functions.php 中添加一个自定义函数,其中包含您的特定 HTML 内容,如下所示:

/* add content */
function customContent() 
  echo '<div><p>Custom Lorem Ipsum Content</p></div>';
 

/* add action */
add_action('load-index.php', 'customContent');

在这种情况下,您将在仪表板的管理栏下向所有用户显示一些 customContent。但是现在做造型将是相当多的工作。那么为什么不使用具有其功能的普通 customDashboardWidgets 并重置样式呢?

/* add content */   
function customContent() 
  echo '<div><p>Custom Lorem Ipsum Content</p></div>';


/* add widget */
function add_customDashboardWidget() 
  wp_add_dashboard_widget('wp_dashboard_widget', 'Custom Content', 'customContent');


/* add action */
add_action('wp_dashboard_setup', 'add_customDashboardWidget' );

最后你可以做一些样式:

<style type="text/css">
.postbox,
.postbox div.handlediv,
.postbox h3.hndle 
  background: none;
  border: none;                       
                       
</style>

注意:如果在 functions.php 中插入样式,请确保在 CSS 之前/之后正确关闭/打开 PHP 标记

【讨论】:

这很棒。它完美地工作。但是如何在其中指定用户角色?我有 LearnDash 插件,它创建了一个新角色(即讲师),我希望这个角色只能看到小部件。请问可以为此编辑您的代码吗?【参考方案2】:

以下功能将从您的仪表板中删除一些不需要的框。它还添加了一个名为“帮助和支持”的自定义框。您可以将任何 html 添加到此部分。

将以下代码添加到您的functions.php

//Remove unwanted boxes and Add a custom widget called 'Help and Support
function my_custom_dashboard_widgets() 
   global $wp_meta_boxes;
   unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
   unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
   unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
   unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
   wp_add_dashboard_widget('custom_help_widget', 'Themes: Help and Support', 'custom_dashboard_help');

function custom_dashboard_help() 
    echo '<p>Support: <a href="#" target="_blank">Support Forum</a><i> (For members only).</i><p><p>Wants to customize your theme by our WordPress Experts? <a href="#" target="_blank">Customize my theme</a> <i>(Our wp Experts will do it for you!)</i></p>';

希望对你有帮助。

【讨论】:

我已经掌握了大部分内容,目前正在尝试找出不使用仪表板小部件的解决方案。基本上,我想要一些可以让你通过插件 100% 自定义仪表板的东西。所以如果你想要一张彩虹的图片,你可以将它设置在一个 HTML 框中,它就会出现(不在小部件或任何字段中,只是空白的 HTML)。有什么想法吗?

以上是关于WordPress仪表板上的自定义内容的主要内容,如果未能解决你的问题,请参考以下文章

将用户转发到 Wordpress 中的自定义仪表板

如何在仪表板帖子列表中显示自定义字段(替换标题)

在 thingsboard 上的自定义控件小部件仪表板上显示 thingsboard 设备属性最新值

Wordpress:使用 wp_insert_post() 填充自定义帖子类型字段

如何在 WordPress 中创建自定义可拖动小部件

wordpress 产品页面上的自定义文本颜色