#php #wordpress #wordpress-theming #custom-wordpress-pages #wordpress-rest-api
#php #wordpress #wordpress-тематизация #пользовательские-wordpress-страницы #wordpress-rest-api
Вопрос:
У меня есть массив сообщений из WPQuery, выполнив
$query = new WPQuery(.....)
$array_of_posts = $query->post_content
Однако это возвращает содержимое в виде HTML, как и в случае с некоторыми другими материалами
<!-- wp:paragraph -->
<p>the text</p>
<!-- /wp:paragraph -->
И затем я хочу отобразить это как содержимое для каждого сообщения в массиве
foreach($array_of_posts as $post){
<h1> echo $post->post_content </h1>
Но, конечно, это просто дает мне h1 с html и другими вещами. Как я могу просто получить строку?
Кроме того, этот код — просто псевдокод, я знаю, что синтаксис неправильный
Ответ №1:
Вы ищете wp_strip_all_tags()
Правильно удалите все HTML-теги, включая script и style. Это отличается от strip_tags() тем, что удаляет содержимое
<script>
<style>
тегов and . Например, вернется .strip_tags( '<script>something</script>' )
‘something’
wp_strip_all_tags
вернет‘’
echo wp_strip_all_tags( the_content() );
В качестве альтернативы, вы могли бы использовать remove_filter('term_description','wpautop');
в своем function.php
, чтобы удалить <p>
теги.
Комментарии:
1. В итоге я использовал strip_tags(), есть ли способ использовать the_content() ? Это выдает мне ошибку
2.
the_content()
должно использоваться для отображения содержимого сообщения.