Добавить Incrementing ID в каждый абзац in_content

Мне нужно пройти через каждый абзац в_состоянии и добавить идентификатор к каждому абзацу с инкрементным значением.

function incrementparagraphs( $content ) { for ($i = 0; $i <count($content); $i++) { return str_replace( "<p>", "<p data-section-id=" . $i . ">", $content ); } } add_filter( 'the_content', 'incrementparagraphs', 10, 1 ); 

Если я правильно понял ваш вопрос, вы можете попробовать следующее:

 add_filter( 'the_content', 'incrementparagraphs', 10, 1 ); function incrementparagraphs( $content ) { return preg_replace_callback( '|<p>|', function ( $matches ) { static $i = 0; return sprintf( '<p data-section-id="%d">', $i++ ); }, $content ); } 

заменить теги <p> на <p data-section-id="1"> , где атрибут data-section-id содержит инкрементный счет текущего тега p .

Пример:

До:

 <p>aaa</p> <p>bbb</p> <p>ccc</p> 

После:

 <p data-section-id="0">aaa</p> <p data-section-id="1">bbb</p> <p data-section-id="2">ccc</p> 

Подробнее о preg_replace_callback здесь .