Добавление тега ID в пост WordPress или заголовок страницы h1 - PullRequest
0 голосов
/ 18 апреля 2020

Я искал различные решения для StackOverflow и inte rnet, но не могу найти способ добавить тег id к заголовку поста Wordpress h1 через мой файл функций. Я нашел интересное решение для добавления id к любому тегу h1 к h6 в the_content поста WordPress здесь . Но при этом используется текст от h1 до h6, и я хочу использовать конкретный c текст, который я могу определить в функции. Также в этом решении кажется, что заголовок моего сообщения h1 находится за пределами the_content. Когда я добавляю код, предложенный решением, в свой файл функций, он добавляет тег id ко всем тегам h внутри сообщения, но НЕ фактическое название поста h1!

Поэтому любой может предложить функцию фильтра, которую я могу добавить в мой файл функций, который добавит тег id к заголовку поста h1 (если id для него уже не существует), чье имя я могу определить в функции?

Как я уже говорил, я смотрел на различные похожие решения и пытался их изменить (включая множество попыток с помощью Решение связано с выше), но не имели успеха после нескольких недель попыток! - поэтому любая помощь с этим будет наиболее ценной. Заранее большое спасибо за вашу помощь.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ (опубликовано 24 часа спустя). , .

ОК, я все еще пытаюсь решить эту проблему, и мне грозит крайний срок! Для объяснения:

Я нашел другой пример кода (с тем, который приведен выше), который кажется немного проще и поэтому подумал, что я смогу отредактировать эту версию, чтобы добиться добавления тега ID к сообщению название (см. новый код ниже). Я изменил A) the_content на the_title и B) $content на $title по сравнению с оригинальной версией, думая, что это, следовательно, отфильтрует заголовок сообщения, а не содержание сообщения - но, попробовав это, все равно не радуйтесь! Кто-нибудь сможет взглянуть на приведенный ниже код и предложить способ сделать так, чтобы он добавлял ID-тег к заголовку сообщения <h1>: (любая помощь в решении этой проблемы будет чрезвычайно полезна!)

function auto_id_headings( $title ) {

    $title = preg_replace_callback( '/(\<h[1-6](.*?))\>(.*)(<\/h[1-6]>)/i', function( $matches ) {
        if ( ! stripos( $matches[0], 'id=' ) ) :
            $matches[0] = $matches[1] . $matches[2] . ' id="' . sanitize_title( $matches[3] ) . '">' . $matches[3] . $matches[4];
        endif;
        return $matches[0];
    }, $title);

    return $title;
        }

add_filter( 'the_title', 'auto_id_headings' );
...