Eu pretendia executar um site com vários autores, não quero que as postagens de outros autores sejam mostradas na /wp-admin/edit.php
página.
Eu consegui resolver esse problema pelos códigos desse segmento . O código é assim:
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');
Os códigos funcionam muito bem, ocultam os posts de outros autores a serem mostrados aqui. Mas encontro outro problema - o menu na parte superior da página não altera o número associado de postagens do autor, mostra o número de todas as postagens no meu site.
O menu que eu quero dizer é assim:
Mine () | All () | Published () | Draft () | Trash ()
Como alterar o número no ()
para refletir o número associado apenas ao autor?
admin
query-posts
dev-jim
fonte
fonte
Respostas:
Aqui está o que eu uso:
Fonte
fonte
elseif
lá? (2) E por que usar a tradução como__()
um todo,href
apenasAll
por exemplo?Solução mais curta com base na resposta https://wordpress.stackexchange.com/a/49200/83038 .
NOTA: Disponível desde o WordPress 3.7.0.
fonte
A melhor maneira
TODAS AS RESPOSTAS AQUI TÊM PREOCUPAÇÕES DE SEGURANÇA.
A melhor maneira é adicionar recursos personalizados e gerenciar postagens etc. pelos recursos.
Uma maneira fácil
A solução de Artem parece ser melhor porque o WP não refere as contagens de postagens apenas na tela de pós-edição, mas também no widget Dashboard, na resposta do Ajax etc.
Para uma melhor solução baseada na de Artem.
why:
wp_count_posts
retorna anteriormente as contagens de postagem em cache quando o resultado foi armazenado em cache antes.por que: cache aumenta o desempenho.
$perm
parâmetro dowp_count_posts
gancho.por que: a contagem de postagens deve incluir as postagens particulares do usuário com base em
readable
perm.por quê: os filtros podem ser substituídos por outros filtros.
Motivo: contagem de postagens adesivas inclui postagens de outras pessoas e são contabilizadas separadamente por
WP_Posts_List_Table
.Por que: a
read_others_posts
capacidade pode ser modificada.Você pode querer ajustes adicionais
post_author
query var comoWP_Comment_Query
.wp_count_comments
gancho.A seguir está uma versão modificada com base no
wp_post_counts()
WP 4.8.Problema conhecido: as postagens fixas que não pertencem ao usuário são contadas.corrigido removendo a exibição de postagens aderentes.fonte