Polylang下的分类过滤器

时间:2013-12-27 作者:AnaRita

下面的过滤器代码来自ThemeskingdomExclusy 主题它对帖子ID进行sql查询,然后查询与这些帖子关联的分类术语。然后,我使用同位素jquery插件提供一个年份(术语)列表,用户可以根据该列表过滤帖子。我的问题是,我正在创建一个双语网站Polylang. 而且,虽然当我在这个网站的英文版上时,我只得到一个英文帖子列表,但我可以从英文和母语帖子中获得所有可供过滤的年份。我认为我必须用一个接受polylanglang parameter, 并用当前区域设置条件将其括起来。但是我需要一个可以返回ID的查询函数,这样我就不会对原来的ID做太多更改。还是有更简单的方法?非常感谢。

<div class="gallery-filter left">
            <span><?php _e(\'Filter:\', tk_theme_name) ?></span>
            <a href="#" data-filter="*" class="active-project active"><?php _e(\'All\', tk_theme_name) ?></a>
            <?php
            global $wpdb;
            $gallery_orderby = get_theme_option(tk_theme_name . \'_gallery_gallery_orderby\');
            $gallery_order = get_theme_option(tk_theme_name . \'_gallery_gallery_order\');
            $post_type_ids = $wpdb->get_col("SELECT ID FROM $wpdb->posts WHERE post_type = \'texto\' AND post_status = \'publish\'");
            if (!empty($post_type_ids)) {
                $post_type_cats = wp_get_object_terms($post_type_ids, \'ano\', array(\'orderby\' => \'name\', \'order\' => \'DESC\', \'fields\' => \'ids\', \'hide_empty\' => true ));
                if ($post_type_cats) {
                    $post_type_cats = array_unique($post_type_cats);
                }
            }
            $include_category = null;
            if (!empty($post_type_ids)) {
                foreach ($post_type_cats as $category_list) {
                    $cat = $category_list . ",";
                    $include_category = $include_category . $cat;
                    $cat_name = get_term($category_list, \'ano\');
                    ?>
                    <a href="#" data-filter="<?php echo \'.class-\' . $category_list ?>"><?php echo $cat_name->name ?></a>
                <?php }
            } ?>
</div><!--/gallery-filter-->

1 个回复
最合适的回答,由SO网友:AnaRita 整理而成

我明白了。借助此答案的帮助:get all posts ID from a category

$post_type_ids = get_posts(array(
\'numberposts\'   => -1, // get all posts.
\'post_type\' => \'texto\',
\'fields\'        => \'ids\', // Only get post IDs
  ));          

结束

相关推荐

query_posts orderby postmeta

我正在尝试检索自定义帖子类型,并按Posteta中存储的自定义日期进行排序。自定义日期是unix时间戳。meta\\u查询工作正常-它只检索将来具有自定义日期的帖子。但是orderby不起作用-订单仍然基于post\\u日期。我错过了什么? $today = date(\"m/d/Y\"); $today = strtotime( $today ); query_posts( array( \'post_type\' =>