我见过类似的问题和解决方案,但到目前为止,我无法将其应用到我的代码中。
以下代码(functions.php)工作得非常好:
if( isset($query->query_vars[\'post_type\']) && $query->query_vars[\'post_type\'] == \'turniere\' )
{
$query->set(\'orderby\', \'meta_value_num\');
$query->set(\'meta_key\', \'date_start\');
$query->set(\'order\', \'ASC\');
}
现在我想添加一种日期范围。这是迄今为止我得到的“最好的”:if( isset($query->query_vars[\'post_type\']) && $query->query_vars[\'post_type\'] == \'turniere\' )
{
$query->set(\'orderby\', \'meta_value_num\');
$query->set(\'meta_key\', \'date_start\');
$query->set(\'order\', \'ASC\');
$query->set(\'meta_value\', \'20140520\');
$query->set(\'compare\', \'>=\');
$query->set(\'type\', \'NUMERIC\');
}
但它不起作用,页面上只说“没有可用的帖子”。我尝试了每个参数的不同组合(meta\\u值有无)、不同的比较方法和每种可能的类型)。
“date\\u start”存储为yyyymmdd。我使用插件“高级自定义字段”来设置每篇文章的日期。
非常感谢您的帮助。:)