过滤wordpress搜索结果 - 没有获取值

时间:2015-01-12 23:30:01

标签: php wordpress

我将搜索查询发送到此directory-search.php模板。它得到的结果没有问题,但是如我所见,我试图过滤结果,所以我可以让那些在更高的member_type值更高的那些。即使我完全删除了这个过滤器,它仍然以完全相同的顺序显示相同的结果,似乎不想注意这些参数。

参数
directory-search.php模板,显示resut(s)(名称,徽标等)。

<?php 
    $args = array(
        'post_type'=> 'directory_listings',
        's'    => $s,
        'paged' => $paged,
        'meta_query' => array(
                array(
                    'key' => 'membership_type',
                    'orderby' => 'meta_value',
                    'order' => DESC
                    ,
                ),
            ),
        );
?>

<?php while (have_posts()) : the_post(); ?>

<div class="listing-image hide-for-small-only">
    <?php 
        $new_logo = get_field('company_logo');
        $old_logo = get_field('old_company_logo');
        if( !empty($new_logo) ):
    ?>

    <img src="<?php echo get_field('company_logo'); ?>" />

    <?php elseif( !empty($old_logo) ): ?>

    <img src="<?php echo get_field('old_company_logo'); ?>" />

    <?php else : ?>

        <img src="http://placehold.it/150x150" alt="" title="" />

    <?php endif; ?>
</div>


<?php endwhile;
wp_reset_postdata(); ?>

1 个答案:

答案 0 :(得分:0)

问题在于你没有将$args数组传递到任何地方,所以wordpress当然会忽略它。此外,DESC应该在"DESC"之类的字符串中。

此代码应该有效:

<?php 
$args = //... your values posted above
$query=new WP_Query($args);
?>

<?php if ($query->have_posts()): ?>
<?php while ($query->have_posts()): $query->the_post(); ?>
<!-- your code here -->
<?php endwhile; ?>
<?php endif; ?>

查看WP_Query

的代码