Как я могу вернуть контент Wordpress с сгенерированными идентификаторами на основе количества тегов H2Php

Кемеровские программисты php общаются здесь
Anonymous
Как я могу вернуть контент Wordpress с сгенерированными идентификаторами на основе количества тегов H2

Сообщение Anonymous »

Я пытаюсь создать код, в котором все теги H2 из the_content извлекаются и считываются для создания таблицы содержания. Я успешно сделал это с помощью приведенного ниже кода:

Код: Выделить всё

function h2s_in_the_content($content) {
if (preg_match_all('#(.*?)#', $content, $matches)) {
foreach ($matches[1] as $key => $value) {

echo '[*]';
echo '[url=#]' . $value . '[/url]';
echo '';
}
}
}

add_filter('the_content', 'h2s_in_the_content', 98);
Вывод аналогичен изображению ниже, где все H2 извлекаются и преобразуются в ссылки.
Изображение

Проблема, с которой я столкнулся, заключается в том, что я хочу получить the_content, прочитать и заменить все H2. так же, как указано выше, и верните их с помощью переменной $key, которая должна вывести следующее: . Я использую этот код, чтобы попытаться сделать это:

Код: Выделить всё

function replace_text_wps($content){
if (preg_match_all('#(.*?)#', $content, $matches)) {
foreach ($matches[1] as $key => $value) {
$replace = array(
'' => ''
);
return $content;
}
}
$content = str_replace(array_keys($replace), $replace, $content);
return $content;
}

add_filter('the_content', 'replace_text_wps',99);
Код в некоторой степени успешен, но проблема в том, что все H2 возвращаются с id="2" вместо 0/1/2/3/и т. д. См. изображение исходного кода ниже.
Изображение
< /p>
Что не так в моем коде и как я могу сделать так, чтобы он считал каждый H2 и возвращал идентификатор на основе количества встреченных H2. Это работает в первом примере, где H2 извлекаются и заменяются ссылками, но не работает во втором примере.
Большое спасибо за помощь!

Подробнее здесь: https://stackoverflow.com/questions/763 ... mber-of-h2

Вернуться в «Php»