Количество рабочих мест в навигации - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь добавить номер в свой пункт меню «Работа», чтобы показать, сколько рабочих мест доступно.

Вот пример

У меня есть значение (количество заданий), но я не знаю, как добавить номер в мой пункт меню.

<?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

1 Ответ

0 голосов
/ 02 июля 2019

Вы должны использовать ловушку nav_menu_link_attributes (), как описано здесь:

https://wordpress.stackexchange.com/questions/121123/how-to-add-a-data-attribute-to-a-wordpress-menu-item

То есть что-то вроде:

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;
}

Данные нового атрибута "-badge "со значением $count_posts появится для вашего пункта меню (при условии, что он имеет идентификатор 123).

Затем вам нужно реализовать то же самое интерфейсное решение, что и на вашем примере сайта, чтобы отобразить этот атрибут, так как онотображается там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...