it-swarm.com.ru

Цикл на front-page.php

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

Это мой код (ниже). В тот момент, когда каждое сообщение имеет заголовок "Домой", я так понимаю, это потому, что домашняя страница является основным запросом?

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

Итак, как бы я изменил этот код, чтобы он извлек 3 последних сообщения из блога, используя loop.php?

У меня также есть пользовательский тип сообщения, который использует другую страницу/цикл. Но я предполагаю, что, как только это сработает, нужно просто поменять "цикл" на "цикл-2", чтобы заставить его работать с использованием того же кода?

Надеюсь, кто-то может помочь с этим. Это один шаг вперед, два шага назад в минуту для меня!

ПРАВКА

Содержимое loop.php в ответ на запрос :)

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

Вот как бы вы это сделали. Ваш цикл основан на нахождении в архиве или индексной странице. (или домой)

$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; 

исправлен код, выполняющий полный запрос без 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();

я не могу полностью проверить это из-за функций, вызываемых вашей темой, но попробуйте.

Если это работает, вы можете вытащить содержание статьи. Замените все содержимое вашего текущего loop.php на содержимое выше, но только из

<!-- article -->

в

<!-- /article -->

Так как это будет в вашем новом loop.php, вы удалите его с главной страницы.

4
rudtek

Попробуй это

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

Для получения дополнительной информации о WP запросе с пользовательскими параметрами, проверьте эту ссылку

0
MagniGeeks Technologies