为什么其中一个示例有$ post而另一个没有?

时间:2013-05-15 15:58:56

标签: php post

我是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;
}

为什么示例一包含$post,而示例二则不包含$post?我会想到示例2还需要{{1}}?我认为这是一个php问题,&不是wordpress一个(因此不会发布在wordpress stackexchange上)。

感谢,你。

1 个答案:

答案 0 :(得分:1)

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

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