Сообщения администратора в верхней части всех сообщений?

#php #wordpress

#php #wordpress

Вопрос:

Я извлекаю какое-то сообщение и показываю сообщение на первом пришедшем первом базовом. Теперь я хочу показать те сообщения вверху, которые опубликованы администратором, а остальные сообщения, не являющиеся администраторами, появятся после сообщений администратора.

код, который я использую в php, является:

 $tit = get_the_title();
    $args = array(
        'post_type' =>'contribute',
        'numberposts' => 100,
        'meta_key' => 'portfolio',
        'meta_value' => $tit ,
    );
    $slides = get_posts($args);
    ?>
     <ul id="myList">
     <?php foreach($slides as $post) : setup_postdata($post);   ?>

           <li>the post will go here</li>

    <?php endforeach; wp_reset_postdata(); ?>
  

Ответ №1:

Чтобы сначала отобразить сообщения от администратора, а затем от не-администратора, вам нужно дважды вызвать get_posts.

Однажды с :-

 $args = array(
        'post_type' =>'contribute',
        'numberposts' => 100,
        'meta_key' => 'portfolio',
        'meta_value' => $tit ,
        'author' => '123' // where 123 is ID of your admin author
    );
  

Другой будет :-

 $args = array(
        'post_type' =>'contribute',
        'numberposts' => 100,
        'meta_key' => 'portfolio',
        'meta_value' => $tit ,
        'author' => '-123' // display posts except admin author
    );
  

Комментарии:

1. любой другой метод, кроме вызова двух get_posts, потому что у меня много данных внутри каждого раздела, означает слишком много.. это перегрузит мою страницу, и любая ошибка будет недоступна.

2. вы можете использовать wp_query_reset() после каждого get_posts

3. Я думаю, что нашел решение своей проблемы, добавив порядок=> администратор. с одним get_post.

Ответ №2:

Добавьте author метод в свой массив:

  $args = array(
    'post_type' =>'contribute',
    'numberposts' => 100,
    'meta_key' => 'portfolio',
    'meta_value' => $tit,
    'author_name' => 'Administrator' //add this, change Administrator to your name
);
  

Комментарии:

1. это даст мне сообщения только от администратора, я прав? Но я хочу, чтобы все сообщения, которые у меня есть, включая сообщения администратора и не администратора, где сообщения администратора будут вверху