添加待审核文章数量气泡提醒到 WordPress 文章菜单-类似主题插件升级或评论提醒
文 / @WordPress主题
小本本的自我介绍
作为一名WordPress插件开发者,在实际开发过程中,遇到了一些添加消息提醒到后台菜单的需求,例如主题插件升级或待审核评论提醒,但是WordPress并没有提供这样的接口。在网上研究了很久,发现实现这个功能有不止一种方法。
通过添加提醒消息到 add_menu_classes filter 的方法
这种方法非常灵活,可以在开发WordPress主题时,添加提醒消息到已有的菜单项目上。
add_filter('add_menu_classes','show_pending_number');
function show_pending_number($menu){
$type = "animals";
$status = "pending";
$num_posts = wp_count_posts($type,'readable');
$pending_count = 0;
if(!empty($num_posts->$status))
$pending_count=$num_posts->$status;
//需要添加提醒的菜单项目
if($type=='post'){
$menu_str = 'edit.php';
//支持自定义文章类型
}else{
$menu_str = 'edit.php?post_type='.$type;
}
//遍历菜单,找到需要添加的菜单项目,添加提醒
foreach($menu as $menu_key => $menu_data){
if($menu_str != $menu_data[2])
continue;
$menu[$menu_key][0] .= "<span class='update-plugins count-$pending_count'><span class='plugin-count'>".number_format_i18n($pending_count).'</span></span>';
}
return $menu;
}
AnsPress 的实现方法
这种实现方法是通过直接添加提醒消息字符串到菜单名称标签后面的方法实现的,比较直接,适合需要添加提醒消息到新创建菜单的时候使用。
add_menu_page('AnsPress','AnsPress'.$counts['total'],'delete_pages','anspress',array($this,'dashboard_page'),ANSPRESS_URL.'/assets/answer.png',$pos);
WooCommerce 的实现方法
这种方法和上面 AnsPress 的方法类似,也是直接把提醒消息添加到了菜单名称标签后面。
if(apply_filters('woocommerce_include_processing_order_count_in_menu',true)&¤t_user_can('manage_woocommerce')&&($order_count=wc_processing_order_count())){
foreach($submenu['woocommerce'] as $key => $menu_item){
if(0 === strpos($menu_item[0],_x('Orders','Admin menu name','woocommerce'))){
$submenu['woocommerce'][$key][0] .= ''.number_format_i18n($order_count).'';
break;
}
}
}
通过上面的代码示例,我们可以发现,添加提醒消息的方法非常简单,只需要获取一个数量,然后加上一些显示起泡效果的前端代码,最后添加到菜单里面即可。掌握了这个方法,我们还可以添加其他类型的提醒,例如待处理用户提交的信息的提醒。
相关文章
-
如何创建WordPress古腾堡编辑器的区块(PHP+原生JS) 2024-01-10 01:01:06
-
搭建一个WordPress网站需要多少成本 2023-11-06 00:09:51
-
Symlink介绍(附:如何使用Symlink进行WordPress开发) 2023-11-05 23:38:32
-
让WordPress实现数据库同步的插件:HyperDB 2023-10-24 23:40:49
-
allegro电商平台值得做吗(附:2023年Allegro注册流程指南) 2023-10-08 21:53:39
-
印度跨境电商平台有哪些(附:印度跨境电商做什么产品好) 2023-10-08 21:34:23
-
跨境电商必看的几大海外二手电商平台 2023-10-08 18:04:42
-
WordPress同城互联网产品解决方案:UBASE 2023-10-03 16:40:39
-
WordPress网站的安全插件:wordfence 2023-09-14 09:25:18
-
WordPress 6.3 支持在手动更新插件和主题失败后回滚旧版本 2023-08-28 16:58:45