Как отображать липкий пост всегда вверху (перед обычным постом) в WordPress?

#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, я объясню процесс.