Как я могу использовать фильтр "the_title" WordPress только для основного заголовка внутри типа сообщения? - PullRequest
0 голосов
/ 24 января 2019

Я пытаюсь изменить заголовок в WordPress:

function change_title_func($title) {
  if( in_the_loop() && !is_archive() ) { // Avoiding Menu Items
     return $title.'<span class="cls"></span>';
  }
}
add_filter('the_title', change_title_func(), 10, 2); 

но атрибут заголовка якоря также изменяется, и я не хочу этого. Пример:

<a href="..." title="title<span class=" cls"="">"&gt;title<span class="cls"></span></a>

Это происходит, скорее всего, потому что один и тот же фильтр используется в обоих местах. Как я могу пропустить это изменение атрибута заголовка, так как они используют один и тот же фильтр?

Примечание: я пытаюсь сделать это внутри плагина, над которым я работаю, поэтому редактирование дочерняя тема не подходит.

1 Ответ

0 голосов
/ 24 января 2019

Вы не можете, этот фильтр используется функцией [get_the_title] [1], фильтр отправляет только 2 параметра title и post_id, и эта функция очень используется.

Лучший способ сделать это - создать новую функцию с именем get_the_title_with_span и добавить туда дополнительную разметку, изменить функцию get_the_title на get_the_title_with_span, где вы хотите добавить дополнительную разметку.

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