Я намеревался запустить сайт с несколькими авторами, я не хочу, чтобы посты других авторов отображались на /wp-admin/edit.php
странице.
Мне удалось решить эту проблему по кодам из этой ветки . Код выглядит так:
function posts_for_current_author($query) {
global $pagenow;
if( 'edit.php' != $pagenow || !$query->is_admin )
return $query;
if( !current_user_can( 'manage_options' ) ) {
global $user_ID;
$query->set('author', $user_ID );
}
return $query;
}
add_filter('pre_get_posts', 'posts_for_current_author');
Коды работают отлично, они скрывают посты других авторов для показа здесь. Но я нахожу другую проблему - меню в верхней части страницы не меняет связанное с автором количество сообщений, оно показывает количество всех сообщений на моем сайте.
Я имею в виду меню так:
Mine () | All () | Published () | Draft () | Trash ()
Как изменить номер в, ()
чтобы отразить номер, связанный только с автором?
admin
query-posts
DEV-джим
источник
источник
Ответы:
Вот что я использую:
Источник
источник
elseif
там? (2) И почему использовать перевод__()
в целом,href
а не только,All
например?Более короткое решение на основе ответа https://wordpress.stackexchange.com/a/49200/83038 .
ПРИМЕЧАНИЕ. Доступно с версии WordPress 3.7.0.
источник
Лучший путь
ВСЕ ЭТИ ОТВЕТЫ ЗДЕСЬ ИМЕЮТ БЕЗОПАСНОСТЬ.
Лучший способ - добавить пользовательские возможности, управлять сообщениями и т. Д. С помощью этих возможностей.
Легкий способ
Решение Артема кажется лучше, потому что WP не учитывает количество сообщений только на экране редактирования сообщения, но также в виджете Dashboard, ответе Ajax и т. Д.
Для лучшего решения, основанного на Артеме.
почему:
wp_count_posts
раньше возвращает количество записей в кэше, когда результат был ранее кэширован.почему: кеш увеличивает производительность.
$perm
параметрwp_count_posts
хука.почему: в число сообщений должны входить личные сообщения пользователя на основе
readable
разрешений.почему: фильтры могут быть переопределены другими фильтрами.
почему: количество прикрепленных постов включает посты других, и они подсчитываются отдельно
WP_Posts_List_Table
.почему:
read_others_posts
возможность может быть изменена.Возможно, вы захотите дополнительные настройки
post_author
запрос varWP_Comment_Query
.wp_count_comments
крючке.Ниже приведена модифицированная версия, основанная на
wp_post_counts()
WP 4.8.Известная проблема: липкие сообщения, которые не принадлежат пользователю, учитываются.исправлено удаление липких сообщений.источник