问题
我正在循环浏览Wordpress中的自定义帖子类型(高级自定义字段)。我只想显示 start_date 等于$ newdate变量的事件,该变量在开头定义。
start_date的格式为YYYY-MM-DD HH:mm(与$ newdate相同)。 $ newdate设置为当天的开头,因此我不会排除当天不同时段的事件,并且比较设置为大于(仅用于测试查询)。
但是我没有得到任何结果。
<?php
$newdate = date('Y-m-d 00:00');
//<-- Start the Loop. -->!
$args = array(
'post_type' => 'epsa_events',
'posts_per_page' => 5,
'orderby' => 'meta_value',
'order' => 'ASC',
'meta_query' => array (
array(
'key' => 'start_time',
'value' => $newdate,
'compare' => '>=',
'type' => 'datetime'
)
)
);
$loop = new WP_Query( $args );
答案 0 :(得分:0)
尝试此查询: -
from django.db import models
from django.core.exceptions import ValidationError
from django.utils.translation import ugettext_lazy as _
class MyModel(models.Model):
goal = models.DecimalField(decimal_places=2, max_digits=16,
validators=[MinValueValidator(1)])
def clean(self):
if self.goal < 1:
raise ValidationError(_('Only numbers equal to 1 or greater are accepted.'))
答案 1 :(得分:0)
我猜你在这里有一些小错误。
首先,如果您使用'orderby' => 'meta_value'
,则必须在'meta_key' => KEYVALUE
添加$args
,其中KEYVALUE
是您要用于排序的自定义字段的名称。查看Order & Orderby Parameters上的WP_Query
文档。
其次,假设您的start_date
字段类型为日期时间选择器 ,如果您想要获取已经开始的所有事件,请使用错误的比较运算符因此,假设您还希望按日期排序,则$args
代码应为:
$args = array(
'post_type' => 'epsa_events',
'posts_per_page' => -1,
'orderby' => 'meta_value',
'order' => 'ASC',
'meta_key' => 'start_time',
'meta_type' => 'DATETIME'
'meta_query' => array (
array(
'key' => 'start_time',
'compare' => '<=',
'value' => $newdate,
'type' => 'DATETIME'
)
)
);
同时查看日期时间选择器 documentation。
我希望这有帮助!