как отобразить полный пост с разбиением на страницы на главной странице

Я использую тему «Hatch» . Я знаком с HTML / CSS, но не с WordPress, впервые работая с этим.
У меня есть домашняя страница, показывающая последние сообщения, и это хорошо.

Тем не менее, я хочу создать новую страницу под названием «Блог», где я могу показать все свои полные сообщения, с разбивкой на страницы.

Я думал, что мне, возможно, придется создать шаблон? Или я попытался создать категорию «блог», но я не знаю, как изменить отображение этой конкретной категории.

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

мой сайт LizettePhotography.com

Код home.php:

<?php /** * Home Template * * A custom home page template. * * @package Hatch * @subpackage Template */ get_header(); // Loads the header.php template. ?> <?php do_atomic( 'before_masthead' ); // hatch_before_masthead ?> <div id="masthead"> <?php do_atomic( 'open_masthead' ); // hatch_open_masthead ?> <?php $hatch_author_bio = hybrid_get_setting( 'hatch_author_bio' ) ? hybrid_get_setting( 'hatch_author_bio' ) : '1'; ?> <div id="author-bio"><?php the_author_meta( 'description', $hatch_author_bio ); ?></div> <div id="header-banner" role="banner"> <?php // Check to see if the header image has been removed $header_image = get_header_image(); if ( ! empty( $header_image ) ) : ?> <img src="<?php header_image(); ?>" alt="" /> <?php endif; // end check for removed header image ?> </div> <?php do_atomic( 'close_masthead' ); // hatch_close_masthead ?> </div> <?php do_atomic( 'before_content' ); // hatch_before_content ?> <div id="content"> <?php do_atomic( 'open_content' ); // hatch_open_content ?> <div class="hfeed"> <?php if ( have_posts() ) : ?> <?php $counter = 1; ?> <?php while ( have_posts() ) : the_post(); ?> <?php do_atomic( 'before_entry' ); // hatch_before_entry ?> <?php if ( ( $counter % 4 ) == 0 ) { ?> <div id="post-<?php the_ID(); ?>" class="<?php hybrid_entry_class(); ?> last"> <?php } else { ?> <div id="post-<?php the_ID(); ?>" class="<?php hybrid_entry_class(); ?>"> <?php } ?> <?php do_atomic( 'open_entry' ); // hatch_open_entry ?> <?php if ( current_theme_supports( 'get-the-image' ) ) { get_the_image( array( 'meta_key' => 'Thumbnail', 'size' => 'archive-thumbnail', 'image_class' => 'featured', 'width' => 220, 'height' => 150, 'default_image' => get_template_directory_uri() . '/images/archive_image_placeholder.png' ) ); } ?> <?php echo apply_atomic_shortcode( 'entry_title', '[entry-title]' ); ?> <?php do_atomic( 'close_entry' ); // hatch_close_entry ?> </div><!-- .hentry --> <?php do_atomic( 'after_entry' ); // hatch_after_entry ?> <?php $counter++; ?> <?php endwhile; ?> <?php else : ?> <?php get_template_part( 'loop-error' ); // Loads the loop-error.php template. ?> <?php endif; ?> </div><!-- .hfeed --> <?php do_atomic( 'close_content' ); // hatch_close_content ?> <?php get_template_part( 'loop-nav' ); // Loads the loop-nav.php template. ?> </div><!-- #content --> <?php do_atomic( 'after_content' ); // hatch_after_content ?> <?php get_footer(); // Loads the footer.php template. ?> 

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

Вот как я это сделаю.

1. Дублируйте шаблон page.php в файле темы и переименуйте его в категорию – (введите идентификатор категории) .php. Основываясь на вашем сайте, я определил, что ваш идентификатор категории блога – 4. Таким образом, категория-4.php.

Причина, по которой мы не дублируем archive.php в вашей теме, заключается в том, что форматирование блога еще не существует. Используя page.php, мы сохраняем основную страницу и правую компоновку боковой панели.

Примечание. Посмотрите эту страницу в wordpress codex для шаблона категории.

2. Откройте категорию-4.php в редакторе по вашему выбору (я использую Editra). Замените все содержимое «id» идентификатора div следующим кодом. Затем проверьте свой сайт, чтобы убедиться, что он работает правильно. Если это сработает, сделайте css-стиль. На следующем шаге я покажу вам код, чтобы добавить нумерованную разбивку на страницы.

  <!-- Start the Loop. --> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <!-- The following tests if the current post is in category 4. --> <!-- If it is, the div box is given the CSS class "post-cat-four". --> <!-- Otherwise, the div box will be given the CSS class "post". --> <? php if ( in_category('4') ) { ?> <div class="post-cat-four"> <?php } else { ?> <div class="post"> <?php } ?> <!-- Display the Title as a link to the Post's permalink. --> <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2> <!-- Display the date (November 16th, 2009 format) and a link to other posts by this posts author. --> <small><?php the_time('F jS, Y') ?> by <?php the_author_posts_link() ?></small> <!-- Display the Post's Content in a div box. --> <div class="entry"> <?php the_content(); ?> </div> <!-- Display a comma separated list of the Post's Categories. --> <p class="postmetadata">Posted in <?php the_category(', '); ?></p> </div> <!-- closes the first div box --> <!-- Stop The Loop (but note the "else:" - see next line). --> <?php endwhile; else: ?> <!-- The very first "if" tested to see if there were any Posts to --> <!-- display. This "else" part tells what do if there weren't any. --> <p>Sorry, no posts matched your criteria.</p> <!-- REALLY stop The Loop. --> <?php endif; ?> 

Примечание: приведенный выше код относится к wordpress codex, который я уже настроил для вашего блога категории.

3. Добавьте разбивку на страницы после своей петли с помощью этого учебника по разбивке по страницам WP tut . Я извлек код для удобства.

  <?php global $wp_query; $total_pages = $wp_query->max_num_pages; if ($total_pages > 1){ $current_page = max(1, get_query_var('paged')); echo paginate_links(array( 'base' => get_pagenum_link(1) . '%_%', 'format' => '/page/%#%', 'current' => $current_page, 'total' => $total_pages, )); } ?> 

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

Обратите внимание, что я не тестировал код. Надеюсь, это поможет.