这个strtotime()
功能是您在此所需的:
$date = date( \'Y-m-d\', strtotime( $date ) ); //2015-04-10 with your example
请注意,保存这些值时需要执行此操作,而不是在运行查询时。运行查询时,不能动态转换数据库中已有的数据。
Edit:我注意到您的元查询中有一个错误。这应该可以:
function wpd_date_meta_query( $query ) {
if( $query->is_post_type_archive( \'event\' ) && $query->is_main_query() ){
$meta_query = array(
array(
\'key\' => \'<your custom field name>\',
\'value\' => date( \'Y-m-d\' ),
\'compare\' => \'>=\',
\'type\' => \'date\'
)
);
$query->set( \'meta_query\', $meta_query );
$query->set( \'meta_key\', \'<your custom field name>\' );
$query->set( \'orderby\', \'meta_value\' );
$query->set( \'order\', \'ASC\' );
}
}
add_action( \'pre_get_posts\', \'wpd_date_meta_query\' );