如何使用Get Media Attachments遍历所有帖子和计算附件

时间:2020-02-14 作者:Aditya Agarwal

我正在编写一个代码,在这个代码中,我需要循环浏览给定作者的所有帖子,然后针对该作者的每篇帖子,计算该帖子的媒体附件数量,然后对其进行回应。

我能够循环浏览帖子,效果如预期,但我想计算每个帖子的附件数量,如果我失败了,请帮助。

$author_posts = get_posts( array(\'author\' => $author_id, \'numberposts\' => -1, \'post_type\'=> array(\'post\',\'download\', \'attachment\' ), \'post_status\'=> array(\'publish\',\'privatised\'), )); 
这是原始循环。

下面是代码,这里的单词按预期计算,注释也按预期计算。为简单起见,建议不包括回声部分

 foreach ( $author_posts as $post ) {   
$View_Count = absint( get_post_meta( $post->ID, \'Creation_Views\', true ) ); 
$Word_Count = str_word_count( strip_tags( get_post_field( \'post_content\', $post->ID )));
$Image_Count = count( get_attached_media( \'image\', $post->ID ) );
$Comment_Count = get_comments_number($post->ID) ;
请帮助,$Image\\u Count始终为0,无论我检查哪个帖子。我有500多篇帖子,所有帖子都显示为0,而所有帖子至少都有1个附件

2 个回复
SO网友:Leora Deans

如果正在统计帖子图像,请尝试以下操作。它不会捕获帖子的特色图像,但会在帖子内容中获取图像。

$attached_images = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image;
$Image_Count=count($attached_images);

SO网友:Mircea

必须在循环内使用

$post_images = get_children( $post->ID );
$images_count = count( $post_images );
echo $images_count;