wake-up-neo.com

Loop auf front-page.php

Ich versuche die 3 neuesten Beiträge auf meiner Homepage zu laden. Ich bin ein absoluter Neuling, aber ich scheine Fortschritte zu machen.

Dies ist mein Code (unten). In dem Moment, in dem jeder Beitrag den Titel "Startseite" hat, verstehe ich, dass die Startseite die Hauptabfrage ist?

<?php
    $latest_blog_posts = new WP_Query( array( 'posts_per_page' => 3 ) );
    if ( $latest_blog_posts->have_posts() ) : while ( $latest_blog_posts->have_posts() ) : $latest_blog_posts->the_post();
        get_template_part('loop');
    endwhile; endif;
?>

Wie würde ich diesen Code ändern, damit er die 3 neuesten Beiträge aus dem Blog mit loop.php abruft?

Ich habe auch einen benutzerdefinierten Beitragstyp, der eine andere Seite/Schleife verwendet. Aber ich nehme an, wenn das einmal funktioniert, müsste man nur die 'Schleife' gegen 'Schleife-2' tauschen, damit das mit demselben Code funktioniert?

Hoffe jemand kann dabei helfen. Es ist ein Schritt vorwärts, zwei Schritte zurück in der Minute für mich!

EDIT

Inhalt von loop.php wie in der Antwort angefordert :)

<?php if (have_posts()): while (have_posts()) : the_post(); ?>

    <!-- article -->
    <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

        <!-- post thumbnail -->
        <?php if ( has_post_thumbnail()) : // Check if thumbnail exists ?>
            <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" class="h-entry__image-link">
                <?php the_post_thumbnail(array(120,120)); // Declare pixel size you need inside the array ?>
            </a>
        <?php endif; ?>
        <!-- /post thumbnail -->

        <!-- post title -->
        <h2 class="p-name">
            <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
        </h2>
        <!-- /post title -->

        <!-- post details -->
        <time datetime="<?php the_time('Y-m-j'); ?>" class="dt-published"><?php the_time('jS F Y'); ?></time>
        <!-- /post details -->

        <?php html5wp_summary('html5wp_index'); // Build your custom callback length in functions.php ?>

        <p><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" class="arrow-link">Read the full article</a></p>

        <?php edit_post_link(); ?>

    </article>
    <!-- /article -->

<?php endwhile; ?>

<?php else: ?>

    <!-- article -->
    <article>
        <h2><?php _e( 'Sorry, nothing to display.', 'html5blank' ); ?></h2>
    </article>
    <!-- /article -->

<?php endif; ?>
1
user1406440

So würden Sie es machen. Ihre Schleife basiert darauf, dass Sie sich auf einer Archiv- oder Indexseite befinden. (oder zu Hause)

$args = array(
    'posts_per_page'    => 3,
    'post_type'     => 'post',  //choose post type here
    'order' => 'DESC',
);
// query
$the_query = new WP_Query( $args );


if( $the_query->have_posts() ):
    while( $the_query->have_posts() ) : $the_query->the_post();
        get_template_part('loop');
    endwhile; 
else :

endif; 

überarbeiteter Code mit vollständiger Abfrage ohne die content-part.php

// WP_Query arguments
$args = array(
    'posts_per_page'    => 3,
    'post_type'     => 'post',  //choose post type here
    'order' => 'DESC',
);

// The Query
$query = new WP_Query( $args );

// The Loop
if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
?>
        <!-- article -->
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

    <!-- post thumbnail -->
    <?php if ( has_post_thumbnail()) : // Check if thumbnail exists ?>
        <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" class="h-entry__image-link">
            <?php the_post_thumbnail(array(120,120)); // Declare pixel size you need inside the array ?>
        </a>
    <?php endif; ?>
    <!-- /post thumbnail -->

    <!-- post title -->
    <h2 class="p-name">
        <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
    </h2>
    <!-- /post title -->

    <!-- post details -->
    <time datetime="<?php the_time('Y-m-j'); ?>" class="dt-published"><?php the_time('jS F Y'); ?></time>
    <!-- /post details -->

    <?php html5wp_summary('html5wp_index'); // Build your custom callback length in functions.php ?>

    <p><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" class="arrow-link">Read the full article</a></p>

    <?php edit_post_link(); ?>

</article>
<!-- /article -->
<?php
    }
} else {
    // no posts found
}

// Restore original Post Data
wp_reset_postdata();

ich kann es nicht vollständig testen, da die Funktionen von Ihrem Thema aufgerufen werden, aber probieren Sie es aus.

Wenn dies funktioniert, können Sie den Artikelinhalt herausziehen. Ersetze den gesamten Inhalt in deiner aktuellen loop.php durch den obigen Inhalt, aber nur von

<!-- article -->

zu

<!-- /article -->

Da das in deiner neuen loop.php wäre, wirst du es von der Hauptseite entfernen.

4
rudtek

Versuche dies

<?php
    $latest_blog_posts = new WP_Query( array( 'posts_per_page' => 3, 'offset' => 3 ) );
    if ( $latest_blog_posts->have_posts() ) : while ( $latest_blog_posts->have_posts() ) : $latest_blog_posts->the_post();
        get_template_part('loop');
    endwhile; endif;
?>

Weitere Informationen zu WP Abfrage mit benutzerdefinierten Parametern finden Sie unter link