【发布时间】:2013-12-24 11:28:14
【问题描述】:
我想创建一个页面,用于根据一些条件过滤帖子。
我可以使用wp_query 并很容易地发布帖子,我的问题是我无法弄清楚(我也无法在网上找到任何答案,相信我看过)如何让用户这样做。
以此为例,按价格(自定义字段元值)从高到低的顺序返回帖子,共有 33 个帖子。
<?php
$featuredPosts = new WP_Query( array(
'posts_per_page' => 33,
'meta_key'=>'Price',
'orderby' => 'meta_value_num',
'order' => DESC
) );
?>
<?php if ( $featuredPosts->have_posts() ) : ?>
<?php while ( $featuredPosts->have_posts() ) : $featuredPosts->the_post(); ?>
<article <?php post_class('item-post block'); ?> id="post-<?php the_ID(); ?>">
<h2 class="price-title"><?php the_title(); ?> </h2>
</article> <!-- end div post -->
<?php endwhile; wp_reset_query(); ?>
<?php endif; ?>
现在,即使在阅读和谷歌搜索之后,如果我能弄清楚如何在前端实现此功能以供用户过滤帖子,我会被诅咒的。
我的意思是,我知道您可以附加到 Wordpress 中的 URL 以更改帖子的顺序,但在这种情况下我完全迷失了。
我试过了,但它不起作用。
<?php
$by_price = esc_url(add_query_arg(array(
'meta_key' => 'price',
'orderby' => 'meta_value_num',
'order' => ASC
)));
$by_date = esc_url(add_query_arg(array(
'orderby' => 'date',
'order' => DESC
)));
?>
<ul>
<li><a href="<?php echo $by_price;?>">Order by price</a></li>
<li><a href="<?php echo $by_date;?>">Order by date</a></li>
</ul>
我想要实现的其实也很简单,让用户选择类别,选择价格范围(猜想我会在 JQuery 中写一些东西来将值传递到字段中),设置数量他们希望返回的结果。
我已经尝试在阳光下搜索 所有我能想到的,没有骰子。
【问题讨论】: