1

我对 wordpress/php 很陌生。我在下面有两个示例,请有人向我解释为什么$post需要一个示例而不是另一个示例?

示例 1:在下拉菜单中显示所有帖子:(有$post

global $post;
$args = array( 'numberposts' => -1);
$posts = get_posts($args);
foreach( $posts as $post) : setup_postdata($post);
echo $post->ID;
endforeach;

示例 2:计算媒体库中 jpg、png 图像的数量:(没有$post

function img_count() {  
$query_img_args = array(
'post_type' => 'attachment',
'post_mime_type' => array(
'jpg|jpeg|jpe' => 'image/jpeg',
'gif' => 'image/gif',
'png' => 'image/png',
),
'post_status' => 'inherit',
'posts_per_page' => -1,
);
$query_img = new WP_Query( $query_img_args );
echo $query_img->post_count;
}

为什么示例一包含 a $post,而示例二不包含?我会认为示例 2 也需要$post?我认为这是一个 php 问题,而不是 wordpress 问题(因此不在 wordpress stackexchange 上发布)。

谢谢。

4

1 回答 1

0

在示例 1 中,代码检索实际帖子,这就是它需要$post变量的原因。

在示例 2 中,代码检索图像的计数,它与图像无关,$post因为它不需要$post.

于 2013-05-15T16:04:29.413 回答