Как мне сделать так, чтобы сообщения в блоге появлялись в CMS?


Я работаю с сайтом WordPress CMS, который был создан без блога. Я хочу, чтобы сайт продолжал функционировать так, как он работал, в основном со статическими страницами, включая домашнюю страницу. Я хочу, чтобы страница под названием "Блог" функционировала как блог.

Теперь меня попросили добавить блог, и то, что я ожидал, будет чрезвычайно легко, оказалось не так.

Вот что я пробовал:

  1. Добавил страницу под названием "Блог" и опубликовал ее.
  2. В разделе Настройки >> Читая, установите страницу Сообщений в Блог. (Выбрана Статическая страница, для главной страницы установлено значение "Главная".)
  3. Добавлен блог в основную навигацию в Настройках темы.
  4. Создал 2 сообщения.

Когда я просматриваю страницу блога, вместо двух сообщений в блоге появляются два сообщения:

Please go to Admin Panel > Settings > Reading and setup "Front page displays" option

Еще одна деталь, которая может иметь значение, заключается в том, что существует только 2 шаблона страниц: Шаблон по умолчанию и архивы. Если я выберу Архивы в качестве шаблона для блога, я получу меню архив, которое ссылается на 2 сообщения, которые я установил.

Должен ли я также иметь шаблон блога? Как я могу добавить его? На что еще мне следует обратить внимание?

Author: Head of Catering, 2012-11-17

2 answers

Итак, кажется, все настроено правильно. Настройка на вашем шаге 2 - это все, что нужно сделать. Я не смогу вам помочь, не увидев, как структурированы файлы шаблонов темы.

Способ, которым это обычно работает, когда вы применяете настройку на шаге 2, заключается в том, что WordPress ищет шаблон под названием front-page.php, если он не существует, то WordPress использует index.php .

Теперь один из этих шаблонов должен использовать обычный цикл post, который является

if ( have_posts() ) :
while ( have_posts() ) :
the_post()

Я предполагаю, что этот цикл отсутствует в вашем index.php или front-page.php файлы, и именно поэтому ваши сообщения не отображаются.

 1
Author: Mateusz Hajdziony, 2012-11-17 04:10:49

Ответ Погокинга помог мне указать правильное направление, но не решил проблему. Вот что я в итоге сделал.

Я создал новый шаблон в рамках настраиваемой темы, которую мы используем, и отредактировал страницу блога, чтобы использовать новый шаблон.

.../html/wp-content/themes/[custom theme name]/blogposts.php

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

Вот мой код:

<?php
/*
Template Name: Blog Template
*/
?>
<?php get_header(); ?>

    <?php  
    $args = array(
                   'post_type' => 'post',
                   'posts_per_page' => 10,
                   'paged' => ( get_query_var('paged') ? get_query_var('paged') : 1),
                   );

    query_posts($args);  
    if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>  
    <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> 
    <h2><a href="<?php the_permalink(); ?>"
        title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
     </h2>
    <small>By <?php the_author_posts_link() ?>  | Published: <?php the_date() ?></small>
    <div class="thecontent">
    <br />
    <?php the_content(); ?>
    </div>
    <br />
    <hr>
    <br />
    <?php endwhile; else: ?>  
    // Our Blog will be online soon. Stay tuned... //
    <?php endif; ?> 
    <div class="navigation">
      <div class="alignleft"><?php previous_posts_link('&laquo; Previous') ?></div>
      <div class="alignright"><?php next_posts_link('More &raquo;') ?></div>
    </div>
    <?php
wp_reset_query();  // Restore global post data
?>
    <?php get_sidebar(); ?>

<?php get_footer(); ?>
 0
Author: Head of Catering, 2012-11-19 02:26:10