it-swarm.com.de

wie man einen vollständigen Beitrag mit Paginierung auf der Homepage anzeigt

Ich verwende das Thema 'Schraffur' . Ich bin mit HTML/CSS vertraut, aber nicht mit WordPress, wenn ich zum ersten Mal damit arbeite.
Ich habe meine Homepage mit den neuesten Beiträgen und das ist gut so.

Ich möchte jedoch eine neue Seite namens "Blog" erstellen, auf der ich alle meine vollständigen Beiträge anzeigen kann, auch mit Seitenumbrüchen.

Ich dachte, ich müsste vielleicht eine Vorlage erstellen? Oder ich habe versucht, ein Kategorie-Blog zu erstellen, weiß aber nicht, wie ich die Anzeige dieser bestimmten Kategorie ändern kann.

Ich habe ähnliche Fragen gelesen. Nach meinem Verständnis muss eine Schleife entstehen, aber ich weiß nicht, wo.

meine Website ist LizettePhotography.com

home.php code:

<?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

Okay. Ich habe mir Ihre Seite angesehen. Sie scheinen Kategorien zu verwenden, um Hochzeiten, Porträts, Ereignisse und Blogs anzuzeigen. Ich gehe davon aus, dass Sie nicht möchten, dass die anderen Beiträge dieser Kategorien in Ihrem Blog erscheinen. Die Verwendung der Kategorie wäre also angemessen.

So würde ich es machen.

1. Dupliziere die page.php-Vorlage in deine Designdatei und benenne sie in category- (gib deine Kategorie-ID ein) .php um. Anhand Ihrer Website habe ich festgestellt, dass Ihre Blogkategorie-ID 4 lautet. Daher category-4.php.

Der Grund, warum wir die archive.php nicht in Ihrem Theme duplizieren, ist, dass die Blog-Formatierung noch nicht vorhanden ist. Mit page.php behalten wir das Layout der Hauptseite und der rechten Seitenleiste bei.

Hinweis: Check out diese Seite in WordPress Codex , für die Kategorie-Vorlage.

2. Öffne category-4.php in einem Editor deiner Wahl (ich benutze Editra). Ersetzen Sie alles in der Div-ID "content" durch den folgenden Code. Testen Sie dann Ihre Site, um festzustellen, ob sie ordnungsgemäß funktioniert. Wenn es funktioniert, machen Sie das CSS-Styling. Im nächsten Schritt zeige ich Ihnen den Code zum Hinzufügen einer nummerierten Paginierung.

    <!-- 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; ?>

Hinweis: Der obige Code stammt aus dem WordPress-Codex, den ich bereits an Ihre Kategorie "Blog" angepasst habe.

3. Fügen Sie nach Ihrer Schleife eine Paginierung hinzu mit diesem Paginierungs-Tutorial von WP tut . Ich habe den Code zum einfachen Nachschlagen extrahiert.

          <?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,
              ));
          } ?>

Sie können die Paginierungslinks mit dem im Tutorial angegebenen CSS-Code formatieren.

Bitte beachten Sie, dass ich den Code nicht ausprobiert habe. Ich hoffe das hilft.

1
Logen