#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. это даст мне сообщения только от администратора, я прав? Но я хочу, чтобы все сообщения, которые у меня есть, включая сообщения администратора и не администратора, где сообщения администратора будут вверху