Как мне сделать так, чтобы сообщения в блоге появлялись в CMS?
Я работаю с сайтом WordPress CMS, который был создан без блога. Я хочу, чтобы сайт продолжал функционировать так, как он работал, в основном со статическими страницами, включая домашнюю страницу. Я хочу, чтобы страница под названием "Блог" функционировала как блог.
Теперь меня попросили добавить блог, и то, что я ожидал, будет чрезвычайно легко, оказалось не так.
Вот что я пробовал:
- Добавил страницу под названием "Блог" и опубликовал ее.
- В разделе Настройки >> Читая, установите страницу Сообщений в Блог. (Выбрана Статическая страница, для главной страницы установлено значение "Главная".)
- Добавлен блог в основную навигацию в Настройках темы.
- Создал 2 сообщения.
Когда я просматриваю страницу блога, вместо двух сообщений в блоге появляются два сообщения:
Please go to Admin Panel > Settings > Reading and setup "Front page displays" option
Еще одна деталь, которая может иметь значение, заключается в том, что существует только 2 шаблона страниц: Шаблон по умолчанию и архивы. Если я выберу Архивы в качестве шаблона для блога, я получу меню архив, которое ссылается на 2 сообщения, которые я установил.
Должен ли я также иметь шаблон блога? Как я могу добавить его? На что еще мне следует обратить внимание?
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 файлы, и именно поэтому ваши сообщения не отображаются.
Ответ Погокинга помог мне указать правильное направление, но не решил проблему. Вот что я в итоге сделал.
Я создал новый шаблон в рамках настраиваемой темы, которую мы используем, и отредактировал страницу блога, чтобы использовать новый шаблон.
.../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('« Previous') ?></div>
<div class="alignright"><?php next_posts_link('More »') ?></div>
</div>
<?php
wp_reset_query(); // Restore global post data
?>
<?php get_sidebar(); ?>
<?php get_footer(); ?>