Замените wordpress l oop на первой странице - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь опубликовать sh блог, используя тему twenty seventeen, но хочу другой подход к главной странице. Вместо отображения последних опубликованных сообщений я хочу перечислить все категории с выдержкой из самого последнего сообщения в этой категории.

Для этого мне нужно заменить этот код:

<main id="main" class="site-main" role="main">
  <?php
  if ( have_posts() ) :
    while ( have_posts() ) :
      the_post();
      get_template_part( 'template-parts/post/content', get_post_format() );
    endwhile;
    the_posts_pagination( ... );
  else :
    get_template_part( 'template-parts/post/content', 'none' );
  endif;
  ?>
</main><!-- #main -->

в файл index.php с одним, который перебирает каждую имеющуюся у меня категорию, отображая последнее сообщение в этой категории (название категории также должно отображаться над содержимым сообщения).

У меня очень минимальный опыт работы с php. И я ищу решение, которое не требует редактирования кода для index.php в опции Edit theme на wordpress, поскольку для обновления темы мне потребуется повторять эту задачу.

Кто угодно может дать подсказка, как это сделать sh?

1 Ответ

1 голос
/ 14 июля 2020

Используйте приведенный ниже код и замените содержимое своей структурой шаблона.

$cats = get_the_category();

foreach($cats as $cat) {
    $args = array('numberposts' => 1, 'category' => $cat->term_id);
    $post = get_posts($args);

    echo 'Post under Category: '.$cat->name;
    echo get_the_excerpt($post);

    echo '<br>';
}

Я не хотел запускать l oop внутри foreach некоторое время, это было бы очень плохой практикой. Это базовый код c, просто замените html в соответствии с вашими потребностями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...