我有2个自定义元一个用于我的活动的开始日期,一个用于我的活动的结束日期,我需要根据开始日期订购我的活动,并在结束日期结束时删除它们。
元:
开始日期:date_de_levenvement 结束日期:date_de_fin
这是我的循环:
<?php query_posts( 'post_type=agenda&meta_key=date_de_fin&meta_compare=>=&meta_value=' . $todaysDate . '&orderby=meta_value&order=ASC'); ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php
$date = get_field('date_de_fin');
$newDate = date("d/m/Y", strtotime($date)); ?>
只需要更改查询但我不知道如何使用带有元值的2个参数。 &orderby=meta_value
必须与&orderby="date_de_levenement"
答案 0 :(得分:0)
我实际上会使用更健壮的WP_Query对象来完成此任务。更具体地说,您可以看到名为Custom Field Parameters的部分,并查看标题为多个自定义字段处理的示例。您可以像这样创建参数数组:
$args = array(
'post_type' => 'agenda',
'meta_key' => 'date_de_levenvement',
'meta_query' => array(
array(
'key' => 'date_de_fin',
'value' => $todaysDate,
'compare' => '>='
)
),
'orderby' => 'meta_value_num',
'order' => 'ASC'
);
$your_custom_query = new WP_Query($args);
// The Loop
if ( $your_custom_query->have_posts() ) {
while ( $your_custom_query->have_posts() ) {
$your_custom_query->the_post();
// your code goes here
}
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();
<强>解释强>
meta_query
元素是数组数组,这意味着您甚至可以根据需要过滤多个元(自定义字段)属性。请注意,我包含了meta_key
元素。这将允许您按开始日期排序。而key
元素的meta_query
元素将过滤您的结束日期帖子。 (在这种情况下,只有当agenda
大于或等于“今天”时,才会包含名为date_de_fin
的帖子类型。
<强> [编辑] 强>
请注意,“今天”日期应格式化为SQL格式,如下所示:
<?php $todaysDate = date('Y-m-d'); ?>
希望这会有所帮助。玩得开心!