Wordpress показывает черновики страниц в интерфейсе

Я разрабатываю веб-портал с помощью Wordpress.

Мне нужно получить доступ к черновикам сообщений из внешнего интерфейса. Если я вхожу в систему с учетной записью администратора, я могу просматривать черновики сообщений (сообщения администраторов) на отдельных страницах. Но другие пользователи не могут получить доступ к своим черновикам из внешнего интерфейса и получают ошибку 404.

Ссылки на главной странице, такие как http://website.com/?p=486.

Я не уверен, в чем проблема. Возможно, ограничения доступа, настройки постоянных ссылок, настройки 404 или что-то еще. Есть идеи?


person Sedat Yusuf Ergüneş    schedule 21.05.2017    source источник


Ответы (2)


Я нашел решение. Проблема в том, что на одной странице отображаются только опубликованные сообщения. Используя хук wordpress pre_get_posts, я изменил запрос и добавил черновики сообщений.

function ceo_single_page_published_and_draft_posts( $query ) {
    if( is_single() ) {
        $query->set('post_status', 'publish,draft');
    }
}
add_action('pre_get_posts', 'ceo_single_page_published_and_draft_posts');
person Sedat Yusuf Ergüneş    schedule 21.05.2017
comment
привет, попробовал это, и это не работает, я получаю пустую страницу - person rob.m; 02.05.2018

Решение, которое работает для меня, состоит в том, чтобы запросить опубликованные и черновики:

        query_posts(array(
            'post_status' => array( 'publish', 'draft')
        ));
person rob.m    schedule 02.05.2018