Wordpress | Можно ли вставить разметку после разметки заголовка сообщения с помощью хука? - PullRequest
0 голосов
/ 05 сентября 2018

Я создаю плагин, который должен вставить несколько ссылок после основного заголовка на любой странице / посте.

Если я использую фильтр post_title, моя разметка добавляется внутри H1, например ... не после it.

function so_title_filter( $title, $id = null ) {

    if (in_the_loop()) {
        $title = $title . "<p>Custom markup!</p>";
    }

    return $title;
}
add_filter( 'the_title', 'so_title_filter', 10, 2 );

Есть ли способ добавить пользовательскую разметку после разметки заголовка?

1 Ответ

0 голосов
/ 07 сентября 2018

Нет, это невозможно с помощью крючка. Если вы посмотрите на исходный код the_title, вы заметите, что нет никаких фильтров для аргументов before и after, только для функции get_the_title(). Также нет единообразного способа, которым темы реализуют заголовки, например, они могут использовать что-то вроде the_title( '<h1>', '</h1>' ); или <h1><?php the_title(); ?></h1>, так что это не то, чего вы можете ожидать с помощью ловушек.

Вы можете сделать это с помощью некоторого JavaScript, хотя

PHP (добавить класс к введенному элементу)

function so_title_filter( $title, $id = null ) {

    if (in_the_loop()) {
        $title = $title . '<p class="moveme">Custom markup!</p>';
    }

    return $title;
}
add_filter( 'the_title', 'so_title_filter', 10, 2 );

JS

jQuery( document ).ready( function() {
    jQuery( '.moveme' ).each( function() {
         jQuery( this ).insertAfter( jQuery( this ).parent() );
    });
});

Кодовая демонстрация

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