\'orderby\' => \'meta_value_num\'
将尝试通过添加0将值强制为数字。换句话说,"2013-09-30 22:00:00"+0
当我测试PHP和MySQL都将字符串转换为2013
, 这不是你想要的。
如果您不使用特定的日期格式,那么只有该日期格式才能正确排序。也就是说,它将按照人类日历进行排序。不使用meta_value_num
. 你没有号码。你有一根绳子。仅使用meta_value
.
其次order
和orderby
在内部无效meta_query
这些需要在meta_query
, 事实上,我认为你不需要meta_query
完全
$mypost =
array(
\'post_type\' => \'football_games\',
\'order\'=>\'DESC\',
\'orderby\' => \'meta_value\',
\'meta_key\' => \'football_game_datetime\'
);
$loop = new WP_Query( $mypost );
你所拥有的基本上是,
this example from the Codex:
$query = new WP_Query( array ( \'post_type\' => \'product\', \'orderby\' => \'meta_value\', \'meta_key\' => \'price\' ) );