Хук Wordpress для отображения последних ожидающих сообщений вместо уже опубликованныхPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Хук Wordpress для отображения последних ожидающих сообщений вместо уже опубликованных

Сообщение Anonymous »

Я застрял на чем-то, что, я уверен, должно быть довольно простым, но меня это сводит с ума. На работе я вынужден использовать WordPress, с которым у меня нет опыта, и я до сих пор пытаюсь понять, как он работает в отношении перехватчиков и фильтров.

Что я хочу, так это довольно просто:
Я использую блок последние сообщения для отображения сообщений, написанных пользователями. За исключением того, что страница, над которой я работаю, будет интерфейсом для модератора веб-сайта, которому придется видеть сообщения со статусом «ожидание», а не со статусом «опубликовать». Я не смог найти возможности изменить это в редакторе, поэтому пытаюсь установить перехватчик для изменения запроса с «post_status» => «publish» на «post_status» => «pending», но это не работает , я получаю «Упс!» Эту страницу невозможно найти».

Вот что я написал в файле function.php:

function name_of_the_function( $query ) {
if( get_query_var('pagename') == 'name_of_the_page' && current_user_can('publish_posts') && $query->is_main_query() ) {
$query->set ( 'post_status', 'pending' );
return $query;
add_filter( 'pre_get_posts', 'name_of_the_function' );


Если я оставлю эту функцию точно так же, но напишу «опубликовать» вместо «ожидания», на странице будут правильно отображаться последние опубликованные сообщения, но с «ожиданием» я получу упомянутое мной сообщение до. И я попробовал использовать add_action вместо add_filter и получил те же результаты.

Я хотел бы добавить, что у меня есть ожидающие сообщения, и если я напишу следующее в шаблоне страницы, они будут найдены :

$args = array (
'cat' => 5,
'post_status' => 'pending'

);
$query = new WP_Query( $args );
while ( $query->have_posts() ) {
$query->the_post(); echo get_the_title();
}



Просто чтобы проверить, прямо в файл wp-includes/latest-posts.php я изменил:

$args = array(
'posts_per_page' => $attributes['postsToShow'],
'post_status' => 'publish'
, 'order' => $attributes['order'],
'orderby' => $attributes['orderBy'],
'suppress_filters' => false,
);



в :

$args = array(
'posts_per_page' => $attributes['postsToShow'] ,
'post_status' => 'pending'
,
'order' => $attributes['order'],
'orderby' => $attributes[ 'orderBy'],
'suppress_filters' => false,
);



Он работает и отображает ожидающие сообщения, но, конечно, я не могу использовать это, так как файл будет удаляться при каждом обновлении WordPress.

Извините за длинный пост, но я сейчас потерялся и не знаю, что еще делать , Я просмотрел весь Интернет, но не нашел ответа на этот вопрос. Буду очень признателен за любую помощь по этому вопросу, заранее спасибо.


Подробнее здесь: https://stackoverflow.com/questions/698 ... -published
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Показать 5 последних сообщений в нижнем колонтитуле Wordpress в третьем пункте меню.
    Anonymous » » в форуме Php
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Заголовки последних сообщений WordPress
    Anonymous » » в форуме Php
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Заголовки последних сообщений WordPress
    Anonymous » » в форуме Php
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Заголовки последних сообщений WordPress [закрыто]
    Anonymous » » в форуме Php
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Циклическое разбиение на страницы сообщений Wordpress: первая страница возвращает 125 сообщений вместо 10, а остальные в
    Anonymous » » в форуме Php
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»