Files
Bookshelf/Old/bd-murphy-author/inc/nav-menu.php
2026-10-18 19:01:01 -07:00

55 lines
1.5 KiB
PHP

<?php
// Copyright 2026 Umbra Tools (umbratools.com)
// SPDX-License-Identifier: Apache-2.0
/**
* Navigation Menu Hooks
*
* @package BD_Murphy
*/
if (!defined('ABSPATH')) {
exit;
}
add_filter('wp_nav_menu_items', 'bdm_filter_nav_menu_items', 10, 2);
function bdm_filter_nav_menu_items($items, $args) {
if ($args->theme_location !== 'primary') {
return $items;
}
if (bdm_series_exist()) {
$series_item = '<li class="menu-item menu-item-type-taxonomy"><a href="' . home_url('/series/') . '">' . __('Series', 'bd-murphy') . '</a></li>';
$books_pos = strpos($items, 'Books');
if ($books_pos !== false) {
$before_books = substr($items, 0, $books_pos);
$from_books = substr($items, $books_pos);
$books_end = strpos($from_books, '</li>');
$books_item = substr($from_books, 0, $books_end + 5);
$rest = substr($from_books, $books_end + 5);
return $before_books . $books_item . $series_item . $rest;
}
}
return $items;
}
function bdm_series_exist() {
if (class_exists('BD_BookShelfHelper')) {
return BD_BookShelfHelper::series_count() > 0;
}
return false;
}
add_filter('nav_menu_css_class', 'bdm_nav_menu_css_class', 10, 4);
function bdm_nav_menu_css_class($classes, $item, $args, $depth) {
if ($item->url && strpos($item->url, '/series/') !== false) {
$classes[] = 'series-menu-item';
}
return $classes;
}