andrewk
  • 0
Новичок

добавить класс текущего кота на страницу с одним сообщением

  • 0

я знаю, находитесь ли вы на странице категории..wp автоматически объявляет current-cat класс дочернему элементу родительской категории, в которой вы находитесь.

подобно

`<li class="cat-item cat-item-701 current-cat"><a href="http://goog.com/cat/subcat">Free Stuff</a>
</li>`

как я могу сделать это для страницы с одним сообщением.

У меня есть the_category(); файл single.php, и он показывает как родительскую, так и дочернюю категорию. Я хочу добавить current-cat класс дочерней кошке, когда я нахожусь на странице с одним сообщением.

заранее спасибо, надеюсь, я вас не запутал.

Share
  1. the_category() использует get_the_category_list() для выполнения своей работы, но эта функция не дает возможности указать классы. Однако вы можете отфильтровать вывод с помощью the_category хука. Поскольку вы знаете формат ссылок текущей категории, вы можете искать и заменять их.

    Это будет выглядеть примерно так (не проверено):

    add_filter('the_category', 'highlight_current_cats', 10, 3);
    function highlight_current_cats($thelist, $separator, $parents)
    {
        // The current cat links will look like <a href="[category link]" [other stuff]
        // We want them it look like <a href="[category link]" class="current-cat" [other stuff]
        $current_cats = get_the_category();
        if ($current_cats) {
            foreach ($current_cats as $cat) {
                $cat_link = get_category_link($cat->term_id);
                $thelist = str_replace('<a href="' . $cat_link . '"', '<a href="' . $cat_link . '" class="current-cat"', $thelist);
            }
        }
        return $thelist;
    }
    
    • 0

Оставить ответ

You must login to add an answer.