Php — Настройка Вывода Виджета Архива И Категории Без Изменения Исходного Поведения Виджета.

  • Автор темы MiltonCede
  • Обновлено
  • 21, Oct 2024
  • #1

Текущий немодифицированный вывод выглядит следующим образом →

newinjected_class1
newinjected_class2

Но я хочу, чтобы в итоге это выглядело так →

<div id="archives-4" class="widget widget_archive newinjected_class1">

<h2 class="h2b">Archives</h2>       

<ul class="newinjected_class2">

<li><a href="http://........./2017/11/">November 2017</a>&nbsp;(3)</li>

<li><a href="http://........./2017/10/">October 2017</a>&nbsp;(9)</li>

<li><a href="http://........./2017/09/">September 2017</a>&nbsp;(6)</li>

<li><a href="http://........./2017/05/">May 2017</a>&nbsp;(7)</li>

<li><a href="http://........./2017/04/">April 2017</a>&nbsp;(1)</li>

<li><a href="http://........./2017/03/">March 2017</a>&nbsp;(5)</li>

<li><a href="http://........./2017/02/">February 2017</a>&nbsp;(8)</li>

<li><a href="http://........./2017/01/">January 2017</a>&nbsp;(1)</li>

</ul>
</div>

Вы осознали появление двух новых классов:

<div id="archives-4" class="widget widget_archive">

<h2 class="h2b">Archives</h2>       

<ul>

<li><a href="http://........./2017/11/">November 2017</a>&nbsp;(3)</li>

<li><a href="http://........./2017/10/">October 2017</a>&nbsp;(9)</li>

<li><a href="http://........./2017/09/">September 2017</a>&nbsp;(6)</li>

<li><a href="http://........./2017/05/">May 2017</a>&nbsp;(7)</li>

<li><a href="http://........./2017/04/">April 2017</a>&nbsp;(1)</li>

<li><a href="http://........./2017/03/">March 2017</a>&nbsp;(5)</li>

<li><a href="http://........./2017/02/">February 2017</a>&nbsp;(8)</li>

<li><a href="http://........./2017/01/">January 2017</a>&nbsp;(1)</li>

</ul>
</div>

Возможно ли добиться этого с помощью какого-либо фильтра, чтобы изменялся только вывод без изменения нормального поведения виджета?

#php #функции #категории #виджеты #архивы

MiltonCede


Рег
06 Feb, 2014

Тем
71

Постов
210

Баллов
585
  • 25, Oct 2024
  • #2

Нет, фильтров для этого не существует. Для этого вам нужно будет создать свою собственную версию виджетов.

Вы можете найти виджеты WordPress по умолчанию в следующей папке:

function myplugin_register_widgets() {

register_widget( 'CustomArchiveWidget' );

register_widget( 'CustomCategoriesWidget' );
}

add_action( 'widgets_init', 'myplugin_register_widgets' );
in your WordPress installation.

Просто скопируйте код из соответствующих файлов .php виджета в свою тему или плагин:

register_widget()

и

class-wp-widget-categories.php

Затем просто отредактируйте код виджета по своему вкусу.

Наконец, вам нужно будет зарегистрировать виджеты, используя

class-wp-widget-archives.php
function as per the WordPress Codex page - https://codex.wordpress.org/Function_Reference/register_widget. Что должно выглядеть примерно так:

/wp-includes/widgets
 

Jzazz


Рег
22 Sep, 2006

Тем
70

Постов
191

Баллов
571
Похожие темы Дата
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно