Отобразить указанный c текстовый блок из всех сообщений - PullRequest
0 голосов
/ 08 апреля 2020

Я использую последнюю версию Wordpress, дочернюю тему и Визуальный Composer WPBakery Page Builder.

Я получаю сообщения из своего блога в виде файла шаблона php используя WP_Query и на этой странице мне нужно:

  1. отобразить Избранное изображение (с подписью) - ВЫПОЛНЕНО,
  2. Дата публикации - ГОТОВО,
  3. и просто текстовый блок из содержимого публикации - указанная c строка со столбцом с текстовым блоком внутри. Этот текстовый блок имеет имя класса: bblog-text-row.

Мне нужно отобразить / показать / показать только этот текст, но когда я делаю the_content ();, он выводит шорткоды V C подряд как необработанный текст с шорткодами и текстом. Мне также нужно ограничить текст для этого до 250 символов.

Вот код, который у меня есть только для части содержимого:

<?php
$query = new WP_Query( array( 'post_type' => 'post' ) );
$posts = $query->posts;
foreach($posts as $post) {
?>
  <p>
   <?php
      $char_limit = 250; //character limit
      $content = $post->post_content; //contents saved in a variable
      echo substr(strip_tags($content), 0, $char_limit);
   ?>
  </p>
<?php
    }
?>

Спасибо заранее.

H

1 Ответ

0 голосов
/ 13 апреля 2020

Я нашел небольшое решение моей проблемы с получением содержимого публикации, созданной с помощью WPBakery Page Builder, в шаблонном файле php, в котором перечислены все сообщения - например, на странице блога. Возможно, есть умные и лучшие способы сделать это, но это решило мою проблему.

<?php
$the_query = new WP_Query( array( 'post_type' => 'post' ) );
while ($the_query->have_posts() ) {
    $the_query->the_post(); ?>
<!-- you may add more post content here
I just want to refer to the content, not meta content or custom fields -->
 <p class="bowe-post-content-bloc">
  <?php
    $conteudo = get_the_content(); //get ALL content for the post
    $padrao = array('(\[vc(.?)\])', '(\[/vc(.?)\])','(\[booom_baannng_anypostsharebuttons])'); //create a filter
    $reparacao = preg_replace ($padrao, "",$conteudo ); //remove content based on filter
    echo wp_trim_words ( $reparacao, 40, '...'); //display only 40 words
  ?>
 </p>
<!-- you may add more post content here
I just want to refer to the content, not meta content or custom fields -->
<?php
}
wp_reset_postdata(); ?>
...