2014-10-16 4 views
0

Я makign одна тема Wordpress, где я хочу показать больше страниц на главной странице. Я сделал home.php, который начинается с этого:Сохранить заказ в Wordpress запрос

$args = array(
    'post_type' => 'page', 
    'post__in' => explode(",",get_option('fp_pages'))); 
$the_query = new WP_Query($args); 
while ($the_query->have_posts()): $the_query->the_post(); 
.... 

У меня есть одна большая проблема. fp_pages имеет идентификаторы страниц, разделенные запятыми. Я хочу их, чем показывать на странице в этом порядке, но результат другой. Заказ идентификаторов не имеет значения - они всегда одни и те же, но я хочу его, как я написал его в fp_pages.

Я изучал веб-страницы и нашел FIND_IN_SET(). Моя проблема в том, что я не знаю, как ее интегрировать в wordpress-запрос. Другая возможность - загрузить их из базы данных один за другим, но я боюсь, что это может замедлить загрузку страницы (я говорю о 8 - 10 страницах макс).

Так вы можете мне помочь с интеграцией FIND_IN_SET() на WordPress запроса или, может быть, сказать, если загрузка по одному хорошая идея или сказать другое решение :)

ответ

1

Вы должны взглянуть на Order & Orderby Parameters из WP_Query. Так как Wordpress 3.5, у вас есть возможность сохранить порядок постов ID дал в post__in

«post__in» - заказник пост ID, выдаваемой в post__in массиве (доступно с версии 3.5).

Таким образом, вы можете просто добавить 'orderby' => 'post__in', ваши аргументы запроса