2010-02-15 55 views
0

在这里工作的WordPress。正如你可能知道的,所有用于在WordPress中显示即将发生的事件的典型解决方案都很糟糕,所以我用简单的自定义字段来完成它。用户输入的每个事件都会输入一个数字日期“YYYYMMDD”。WordPress的:创建一个动态过滤器显示数值的帖子

我需要了解的是如何在PHP中为脚本首先获取php代码:the_date <'YYYYMMDD'>然后动态显示WordPress过滤器事件,只显示值大于或等于打印的数值(这将是“今天”,这是通过PHP拉到的YYYYMMDD格式:the_date

这里是我使用的wp_query:

<?php 
     $recentPosts = new WP_Query(); 
     $recentPosts->query('showposts=5&meta_key=event_date&orderby=meta_value&category_name=events&order=ASC');  
    if ($recentPosts->have_posts()) : while ($recentPosts->have_posts()) : $recentPosts->the_post(); ?> 
+0

Buehler ... Buehler ...任何人? – Brian 2010-02-16 18:19:49

回答

1

来获得日期:$current_date = date('Ymd')

然后,你应该能够查询你的帖子是这样的:

$recentPosts = new WP_Query(); 
$recentPosts->query(array(
    'category_name' => 'events', 
    'meta_key' => 'event_date', 
    'meta_compare' => '>=', 
    'meta_value' => $current_date, 
    'orderby' => 'meta_value', 
    'order' => 'ASC', 
    'posts_per_page' => 5 
)); 

然后你可以循环通过职位正常。如果您需要分页,则会更复杂一点,请参阅query_posts的文档。

+0

非常感谢!我编辑了上面的问题以显示我正在使用的WordPress查询。它按照“升序”的顺序排列,“showposts”设置为“5”。 – Brian 2010-02-16 19:56:27

+1

我不确定您是否需要它,但我已经用查询中的参数更新了我的答案。 – 2010-02-16 20:23:02

+0

非常感谢Richard!我确实需要它,我非常感谢所有StackOverflowers的帮助,我更像是一名设计师,而不是开发人员,我对所有像你这样的人都很开心! – Brian 2010-02-16 20:29:44