Пользовательский тип сообщения post_count не работает, я предпочитаю отображать 4 сообщения, но теперь только 1 - PullRequest
0 голосов
/ 15 января 2020

Я создал шаблон страницы и попытался повторить пользовательский тип сообщения "products" из частей шаблона, но когда я публикую sh страницу, на которой отображается только один пост продуктов, я предпочитаю отображать 4 сообщения: (


get_header();

 // Reference global $post variable.
global $post;

// Get posts.
$posts = get_posts(array(
    'post_type' => 'product',
    'post_count' => 4
));  

// Set global post variable to first post.
$post = $posts[0];

// Setup post data.
setup_postdata( $post );

// Output template part.
get_template_part( 'template-parts/products' );

// Reset post data.
wp_reset_postdata();

Ответы [ 3 ]

1 голос
/ 15 января 2020

Измените свой код следующим образом

get_header();

 // Reference global $post variable.

 global $post;

// Get posts.
$posts = get_posts(array(
    'post_type' => 'product',
    'post_status' => 'publish',
    'posts_per_page' => 4
));  

// Set global post variable to first post.
$post = $posts[0];

foreach($posts as $post){
// Setup post data.
setup_postdata( $post );
}

// Output template part.
get_template_part( 'template-parts/products' );

// Reset post data.
wp_reset_postdata();

надеюсь, это поможет вам

0 голосов
/ 16 января 2020

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

<?php
$args = array(
    'post_type' => 'product',
    'post_status' => 'publish',
    'posts_per_page' => 4   
);
$query = new WP_Query($args);
if($query->have_posts()):while($query->have_posts()):$query->the_post(); {
 // write your code
}
endwhile; endif;
wp_reset_postdata(); ?>
0 голосов
/ 15 января 2020

Измените ваш запрос следующим образом

$query = array(
    'post_type' => 'product',
    'post_status' => 'publish',
    'posts_per_page' => 4   
);
$loop = new WP_Query($query);

Надеюсь, это вам поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...