Получить post_content в виде строки

#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() должно использоваться для отображения содержимого сообщения.