J'avais l'intention de gérer un site multi-auteur, je ne veux pas que les articles d'autres auteurs soient affichés dans la /wp-admin/edit.php
page.
J'ai réussi à résoudre ce problème par les codes de ce fil . Le code est comme ceci:
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');
Les codes fonctionnent très bien, ils cachent les articles des autres auteurs à afficher ici. Mais je trouve un autre problème - le menu en haut de la page ne change pas le nombre de messages associés par l'auteur, il montre le nombre de tous les messages sur mon site.
Le menu que je veux dire est comme ceci:
Mine () | All () | Published () | Draft () | Trash ()
Comment changer le nombre dans le ()
pour refléter le nombre uniquement associé à l'auteur?
admin
query-posts
dev-jim
la source
la source
Réponses:
Voici ce que j'utilise:
La source
la source
elseif
là-bas? (2) Et pourquoi utiliser la traduction__()
dans l'ensemblehref
plutôt justeAll
par exemple?Solution plus courte basée sur la réponse https://wordpress.stackexchange.com/a/49200/83038 .
REMARQUE: disponible depuis WordPress 3.7.0.
la source
Le meilleur moyen
TOUTES CES RÉPONSES PRÉSENTENT DES PRÉOCCUPATIONS DE SÉCURITÉ.
La meilleure façon est d'ajouter des capacités personnalisées et de gérer les publications, etc. par les capacités.
Un moyen simple
La solution d'Artem semble être meilleure car WP ne fait pas référence au nombre de publications uniquement sur l'écran de modification des publications, mais également dans le widget Dashboard, la réponse Ajax, etc.
Pour une meilleure solution basée sur celle d'Artem.
pourquoi:
wp_count_posts
renvoie plus tôt le nombre de messages mis en cache lorsque le résultat a été mis en cache auparavant.pourquoi: le cache augmente les performances.
$perm
paramètre duwp_count_posts
crochet.pourquoi: le nombre de messages doit inclure les propres messages privés de l'utilisateur en fonction de la
readable
perm.pourquoi: les filtres peuvent être remplacés par d'autres filtres.
pourquoi: le nombre de messages collants comprend les messages des autres et ils sont comptés séparément par
WP_Posts_List_Table
.pourquoi: la
read_others_posts
capacité pourrait être modifiée.Vous voudrez peut-être des ajustements supplémentaires
post_author
requête var surWP_Comment_Query
.wp_count_comments
crochet.Ce qui suit est une version modifiée basée sur
wp_post_counts()
WP 4.8.Problème connu: les messages collants qui n'appartiennent pas à l'utilisateur sont comptés.corrigé en supprimant la vue des articles collants.la source