#php #arrays #wordpress
#php #массивы #wordpress
Вопрос:
Я работаю над кодом WordPress, как показано ниже, в котором измененный пост отображается вверху.
$temp_args = [
'post_type' => array('current-channel', 'post', 'current-episodes'),
'post_status' => 'publish',
'orderby' => array(
'feat_yes' => 'ASC',
'post_type' => 'ASC',
'modified' => 'DESC',
'date' => 'DESC'),
'posts_per_page' => $data->{"no_articles_" . ICL_LANGUAGE_CODE},
'tax_query' => [
[
'taxonomy' => 'category',
'field' => 'term_id',
'terms' => $cat_today,
],
],
];
$q = new WP_Query($temp_args);
На данный момент порядок по выполняется следующим образом с отображением измененного поста вверху.
'orderby' => array(
'feat_yes' => 'ASC',
'post_type' => 'ASC',
'modified' => 'DESC',
'date' => 'DESC'),
Формулировка проблемы:
Мне интересно, какие изменения я должен внести в приведенный выше код, чтобы липкие посты отображались вверху перед обычным постом.
Порядок должен быть таким, чтобы sticky post всегда был вверху, а затем все обычные посты.
Комментарии:
1. Можете ли вы прочитать статью для sticky post?
2. Sticky post используется только для встроенного поста, а не для пользовательского типа поста.
3. получите идентификатор поста и добавьте этот пост перед вызовом цикла posts. Пример: <липкий пост></sticky post><цикл сообщений></posts loop>
4. Еще один способ добавить ACF (предварительное пользовательское поле) из серверной части, чтобы вы могли легко фильтровать липкие посты.
5. Если вам нужна помощь относительно ACF, я объясню процесс.