如何对附件进行元查询?

时间:2017-04-28 作者:Marko

我该怎么做meta_query 附件?这不会显示任何结果

$args = array(
    \'post_type\' => \'attachment\',
    \'post_mime_type\' => \'image/jpeg,image/gif,image/jpg,image/png\',  
    \'posts_per_page\' => 200, 
    \'post_status\' => \'inherit\',
    \'meta_query\' => array(
        array(
            \'key\' => \'image_category\', 
            \'value\' => 102, 
            \'compare\' => \'=\'
            )
        )
    );

$query = new WP_Query($args);

if ($query->have_posts()) : 
         while ($query->have_posts()) : $query->the_post();
              echo get_post_meta(get_the_ID(), \'image_category\', true);
         endwhile; 
   endif; 
如果我删除的参数meta_query 然后回声get_post_meta(get_the_ID(), \'image_category\', true); 显示有大量带有image\\u category 102的附件

我使用此代码为每个附件设置了meta

$args = array(
    \'post_type\' => \'attachment\',
    \'post_mime_type\' => \'image/jpeg,image/gif,image/jpg,image/png\',  
    \'post_status\' => \'all\',  
    \'posts_per_page\' => -1, 
    );

$query = new WP_Query($args);

if ($query->have_posts()) 
{
    while($query->have_posts())
    {
        $query->the_post(); 
        global $post;
        ... // Get post category ID to which image is attached to
        update_post_meta($post->ID, \'image_category\', $post_category);
    }

}
基本上,我正在尝试有一个页面,将显示所有基于帖子类别的图像。如果我有一篇包含苹果图片的帖子,而这篇帖子属于植物类,那么查询应该列出所有植物图片。

现在我不确定是否最好只将这些图像存储为自定义帖子类型,并将其类别作为自己的常规类别,缺点是我需要在一个表中多存储20000行才能存储它们。。。

1 个回复
SO网友:Marko

我使用了自定义分类法,而不是自定义元字段,它工作得很好(尽管我仍然不知道为什么meta\\u查询不起作用)

我为每个附件保存了自定义分类术语

wp_set_object_terms($post->ID, $slug, \'image_category\' );
和自定义查询参数是

$args = array(
        \'post_type\' => \'attachment\',
        \'posts_per_page\' => 44,
        \'post_status\' => \'inherit\',
        \'post_parent\' => null,
        \'tax_query\' = array(
            array(
                \'taxonomy\'     => \'image_category\',
                \'field\'   => \'slug\',
                \'terms\' => $cat
                )
            )
        );

相关推荐

按自定义域(wp-Query和循环)排序和显示帖子)

我只想在主页上显示即将到来的活动帖子。我使用“custom field suite”插件创建了一个自定义字段,名为“ENDS”,表示事件结束的日期。正如你所知,我只想在家里举行即将到来的活动,最接近现在的日期排在第一位。过期后,我希望将其归档到“归档”中,该页面在另一个页面上可见(该页面还应以最近过期的事件开始排序归档的事件帖子)。模板使用无限滚动加载帖子,这是我的索引文件,带有默认循环:http://pastebin.com/x3NzZBZX我需要集成这样的东西,但没有成功:<?php $