SQL запрос совместно с new WP_Query РЕШЕНО!

Наконец нашёл решение для постраничной навигации по постам, полученных путём анализа даты в Custom Fields.

Для постраничной навигации подразумевается использование WP_Query и стандартного Loop.
А для того чтобы собрать необходимые посты необходим свой самописный SQL запрос.

Это решение для проблемы. http://forum.maxsite.org/viewtopic.php?id=9871

Никак не мог понять как можно это совместить, в интернете эта проблема обсуждалась крайне мало. Везде после SQL запроса использовали цикл Foreach, в котором навигация не получалась.

Итак, Код… Выделенные курсивом участки являются строкой, передаваемой в MySQL. По ней, субд вернёт нужные посты и в правильном порядке.
Чтобы это заработало нужно перед созданием запроса new WP_Query($args); вызывать функцию add_filter.

function filter_where($where = ”) {
$where .= "AND STR_TO_DATE(meta_value,’%d.%m.%Y’) >= CURDATE()";
return $where;
}

function date_order($orderby = ”) {
$order .= "STR_TO_DATE(meta_value,’%d.%m.%Y’) ASC";
return $order;
}

add_filter(‘posts_where’, ‘filter_where’);
add_filter(‘posts_orderby’, ‘date_order’ );

$args = array(
‘category__and’ => array($child_cat_id,$child_cat_id),
‘meta_key’ => $meta_field_name,
‘showposts’ => 6,
);
$my_query = new WP_Query($args);

Anonymous
Отправить
Ответ на: