Wordpress:如何在点击时添加查询arg

时间:2014-04-08 07:46:57

标签: php ajax wordpress

我目前正在建立一个列出公寓出租的网站。我创建了一个自定义帖子类型,其中包含多个自定义字段。现在我有一个页面列出了我的所有自定义帖子,查询看起来像这样:

<?php 
// args
$args = array(
    'post_type' => 'lejlighed'
);

// get results
$the_query = new WP_Query( $args );

// The Loop
?>
<?php if( $the_query->have_posts() ): ?>

我想在用户点击链接或选中复选框时添加/更改查询。我已经尝试使用add_query_arg函数,但没有成功:

<a href="<?php echo add_query_arg( 'post_nr','6500' ); ?>"> 6500 </a>

&#34; post_nr&#34;是元键和&#34; 6500&#34;是元价值。

我们的想法是,用户可以通过邮政编码等自定义字段过滤公寓列表。理想情况下,我想在没有页面刷新的情况下加载新内容,但这是另一回事。

所以我的问题是如何通过单击元素来为查询添加参数?

1 个答案:

答案 0 :(得分:1)

您可以尝试加载所有可用的帖子并使用JavaScript过滤它们。这将要求您将过滤数据应用于每个帖子(例如,名为data-zipcodedata-postnr的属性),然后创建过滤按钮(或类似),用于确定要显示的帖子类型和当

另一种选择是创建一个后加载的脚本(并返回HTML或JSON),然后每次用户点击过滤器时AJAX都会嵌入它。这可以通过为你的后加载器脚本生成一个AJAX请求来实现,后者又会将正确的帖子输出到你的主模板中(AJAX请求会将WP_Query参数传递给你的后加载器脚本)。

第一个选项是前期有点重,但第二个选项需要在每个请求上有一些带宽。根据您最初需要展示的帖子数量,您需要决定哪一个是更好的方式。