it-roy-ru.com

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

Я использую тему "Штрих" . Я знаком с 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. ?>
3
Elizabeth Rimbo

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

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

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

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

Примечание: Проверьте эта страница в WordPress Codex , для шаблона категории.

2. Открыть категорию-4.php в любом редакторе (я использую Editra). Замените все внутри div id "content" следующим кодом. Затем проверьте ваш сайт, чтобы увидеть, работает ли он правильно. Если это работает, сделайте 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, приведенного в руководстве.

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

1
Logen