Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 自定义post类型post_计数不起作用,我更喜欢显示4个post,但现在只有1个_Php_Wordpress - Fatal编程技术网

Php 自定义post类型post_计数不起作用,我更喜欢显示4个post,但现在只有1个

Php 自定义post类型post_计数不起作用,我更喜欢显示4个post,但现在只有1个,php,wordpress,Php,Wordpress,我制作了一个页面模板,并尝试从模板部分回显自定义帖子类型“products” 但当我发布页面时,它只显示一个产品帖子,我更喜欢显示4个帖子:( 像这样更改您的查询 $query = array( 'post_type' => 'product', 'post_status' => 'publish', 'posts_per_page' => 4 ); $loop = new WP_Query($query); 我希望这有助于您像这样更改代码 ge

我制作了一个页面模板,并尝试从模板部分回显自定义帖子类型“products” 但当我发布页面时,它只显示一个产品帖子,我更喜欢显示4个帖子:(


像这样更改您的查询

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

我希望这有助于您像这样更改代码

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();

希望这对您有所帮助

您的查询结构不正确,正如其他人所提到的,我一直知道的最佳实践是使用WordPress循环。希望这对您有所帮助

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


使用
numberposts
//将全局post变量设置为first post。
–那么,对于其他三篇文章,您到底在哪里执行此操作(以及以下步骤)?如果您想多次执行任何操作,那么编码显然应该包含某种循环。
<?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(); ?>