php - 导航中的工作计数
问题描述
我正在尝试在我的菜单项“工作”中添加一个数字,以显示有多少工作可用。
这是一个例子
我有价值(工作数量),但我不知道如何将数字添加到我的菜单项中。
<?php
add_filter( 'nav_menu_link_attributes', 'dfib_contact_menu_atts', 10, 3 );
function dfib_contact_menu_atts( $atts, $item, $args ) {
$jobs = new WP_Query(array( 'post_type' => 'jobs' ));
if ($jobs->have_posts()) {
$count_posts = wp_count_posts( 'jobs' )->publish;
echo "<span class='jobs__count'>$count_posts</span>";
}
// The ID of the target menu item
$menu_target = "menu-item-19";
// inspect $item
if ($item->ID == $menu_target) {
$atts["data-badge"] = $count_posts;
}
return $atts;
}
?>
我想将此数字添加到具有“menu-item-job”类的菜单项中,但我不知道如何在 php 中执行此操作
解决方案
您应该使用 nav_menu_link_attributes() 钩子,如下所述:
也就是说,类似:
add_filter( 'nav_menu_link_attributes', 'wpse121123_contact_menu_atts', 10, 3 );
function wpse121123_contact_menu_atts( $atts, $item, $args )
{
// The ID of the target menu item
$menu_target = 123;
// inspect $item
if ($item->ID == $menu_target) {
$atts['data-badge'] = $count_posts;
}
return $atts;
}
$count_posts
因此,将为您的菜单项显示具有值的新属性“data-badge” (假设它的 id 为 123)。
然后,您必须实现与示例站点上相同的前端解决方案,以显示该属性,因为它在那里显示。
推荐阅读
- javascript - 如何使用 ReactJs 切换元素的类
- arrays - 我得到一个未处理的运行时错误错误:渲染的钩子比上一次渲染期间更多
- javascript - Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0 when connected Flask and D3.js
- apache-spark - 如何转换由 | 分隔的顺序数据 并且在 pyspark 中的行和列中没有换行符
- javascript - 在 React 中状态更改后,功能组件不会重新渲染
- java - 无法更改 HTTP 接受标头 - 对包含“lang”的多部分 FormData 使用不同的区域设置解析策略
- python - 如何从具有范围的数据库中获取数据?
- php - 带有自定义分类法的 Wordpress 自定义查询 - 分页错误
- c# - 具有多种命令类型的命令行解析器
- javascript - 从文本文件中读取多行,然后通过将读取的文件插入到函数上来迭代函数