Мне интересно, как я мог бы реализовать уникальные идентификаторы для каждого элемента заголовка в посте (исключая страницы) в Wordpress. То есть, если два заголовка идентичны, они должны получить разные идентификаторы. Идентификаторы также должны быть описательными. Штриховая версия фактического текста заголовка великолепна.
Я нашел этот код в Интернете:
// This function adds nice anchor with id attribute to our h2 tags for reference
// @link: http://www.w3.org/TR/html4/struct/links.html#h-12.2.3
function anchor_content_h2($content) {
// Pattern that we want to match
$pattern = '/<h2>(.*?)</h2>/';
// now run the pattern and callback function on content
// and process it through a function that replaces the title with an id
$content = preg_replace_callback($pattern, function ($matches) {
$title = $matches[1];
$slug = sanitize_title_with_dashes($title);
return '<h2 id="' . $slug . '">' . $title . '</h2>';
}, $content);
return $content;
}
add_filter('the_content', 'anchor_content_h2');
Меня беспокоит то, что два одинаковых заголовка получат одинаковый идентификатор. Это также работает только для H2-элементов. Есть ли лучший способ сделать то, что я хочу, или это вообще не очень разумно для реализации?