我正在将edit post仪表板移动到前端。所以这里有一个案例,我必须查询,一个用于产品附件,另一个用于所有人。
现在,我想从所有附件中排除产品附件查询这里是一个如何从WordPress Codex中排除帖子缩略图的示例:
<?php
$args = array(
\'post_type\' => \'attachment\',
\'numberposts\' => -1,
\'post_status\' => null,
\'post_parent\' => $post->ID,
\'exclude\' => get_post_thumbnail_id()
);
$attachments = get_posts( $args );
if ( $attachments ) {
foreach ( $attachments as $attachment ) {
echo apply_filters( \'the_title\', $attachment->post_title );
the_attachment_link( $attachment->ID, false );
}
}
?>
在此之前,我有一个所有产品的查询,所以可以
exclude
接受数组参数?例如,我的代码
$mediaArgs = array(
\'post_type\' => \'attachment\',
\'post_mime_type\' => \'image\',
\'numberposts\' => -1,
\'post_status\' => null,
\'post_parent\' => $current_post,
);
$MediaAttachments = get_posts($mediaArgs);
然后我是否可以对此进行验证并将MediaAttachment->ID保存在某个数组中,然后将其排除在下一个tu中
exclude
? 在我的理论中,它应该像往常一样工作,但无论我如何尝试,它都不起作用。
最合适的回答,由SO网友:CBeTJlu4ok 整理而成
奇怪,但它的工作原理与我尝试的相同。也许我犯了一些语法错误。如果有人将来需要它,这里有一个代码,因为搜索结果中没有任何内容:
// get product media library
$mediaArgs = array(
\'post_type\' => \'attachment\',
\'post_mime_type\' => \'image\',
\'numberposts\' => -1,
\'post_status\' => null,
\'post_parent\' => $current_post, // any parent
);
$MediaAttachments = get_posts($mediaArgs);
$parentMediaArray = array();
foreach ($MediaAttachments as $MediaAttachment) {
$parentMediaArray[] = $MediaAttachment->ID;
}
// get ALL the media library exept that I\'m using now
$mediaArgs2 = array(
\'post_type\' => \'attachment\',
\'post_mime_type\' => \'image\',
\'numberposts\' => -1,
\'post_status\' => null,
\'exclude\' => $parentMediaArray,
\'post_parent\' => \'any\', // any parent
);
$MediaAttachmentsALL = get_posts($mediaArgs2);
在哪里
$parentMediaArray
是我排除的数组