Я искал ошибку на некоторое время и понятия не имею, что может быть причиной этого.Wordpress orderby запрос иногда не работает
Около 80% времени, следующий код работает, но иногда это просто приказы совершенно случайные:
function filter_where($time, $where = '') {
$where .= " AND post_date > '" . date('Y-m-d H:i:s', strtotime($time)) . "'";
$where .= " AND post_status = 'publish' ";
return $where;
}
add_filter('posts_where', 'filter_where');
$array = array(
'cat' => 2,
'meta_key' => 'ratings_score',
'orderby' => 'meta_value_num',
'order' => 'DESC',
'meta_query' => array(
array(
'key' => 'ratings_score',
),
),
'posts_per_page' => 6
);
filter_where($time);
query_posts($array);
Функция работает фильтр. Я тестировал его с разными значениями $time
и post_status.
Может ли это быть какой-то задержкой или я заказал код неправильно? Некоторые сообщения не имеют meta_key
из ratings_score
, но все сообщения в cat = 2 имеют это meta_key
.
Возможно, это как-то связано с проблемой?
Убедитесь, что вы вызываете wp_reset_query прямо перед каждым выполнением запроса или сразу после этого. http://codex.wordpress.org/Function_Reference/wp_reset_query –