Ich wollte eine Website mit mehreren Autoren betreiben. Ich möchte nicht, dass die Beiträge anderer Autoren auf der /wp-admin/edit.php
Seite angezeigt werden.
Ich habe es geschafft, dieses Problem durch die Codes aus diesem Thread zu lösen . Der Code lautet wie folgt:
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');
Die Codes funktionieren hervorragend, sie verbergen die Beiträge anderer Autoren, die hier gezeigt werden sollen. Ich finde jedoch ein anderes Problem: Das Menü oben auf der Seite ändert nicht die zugehörige Anzahl von Beiträgen des Autors, sondern die Anzahl aller Beiträge auf meiner Website.
Das Menü, das ich meine, ist wie folgt:
Mine () | All () | Published () | Draft () | Trash ()
Wie ändere ich die Nummer in ()
, um die Nummer wiederzugeben, die nur dem Autor zugeordnet ist?
admin
query-posts
dev-jim
quelle
quelle
Antworten:
Folgendes benutze ich:
Quelle
quelle
elseif
dort verwenden? (2) Und warum zum Beispiel die Übersetzung__()
über das Ganzehref
eher nur aufAll
?Kürzere Lösung basierend auf der Antwort /wordpress//a/49200/83038 .
HINWEIS: Verfügbar seit WordPress 3.7.0.
quelle
Die beste Weise
ALLE DIESEN ANTWORTEN HIER HABEN SICHERHEITSBEDINGUNGEN.
Der beste Weg ist das Hinzufügen benutzerdefinierter Funktionen und das Verwalten von Posts usw. anhand der Funktionen.
Ein einfacher Weg
Die Lösung von Artem scheint besser zu sein, da WP die Anzahl der Posts nicht nur auf dem Post-Bearbeitungsbildschirm, sondern auch im Dashboard-Widget, in der Ajax-Antwort usw. referenziert.
Für eine bessere Lösung basierend auf Artems.
Warum:
wp_count_posts
Gibt früher die Anzahl der zwischengespeicherten Beiträge zurück, wenn das Ergebnis zuvor zwischengespeichert wurde.Warum: Cache erhöht die Leistung.
$perm
Parameter deswp_count_posts
Hakens.Warum: Die Anzahl der Beiträge sollte die eigenen privaten Beiträge des Benutzers basierend auf
readable
Dauerwelle enthalten.Warum: Die Filter werden möglicherweise von anderen Filtern überschrieben.
Warum: Die Anzahl der klebrigen Beiträge umfasst die Beiträge anderer und sie werden getrennt von gezählt
WP_Posts_List_Table
.Warum: Die
read_others_posts
Funktion kann geändert werden.Möglicherweise möchten Sie zusätzliche Optimierungen vornehmen
post_author
Abfrage var auf setzenWP_Comment_Query
.wp_count_comments
Haken.Das Folgende ist eine modifizierte Version basierend auf
wp_post_counts()
WP 4.8.Bekanntes Problem: Sticky Posts, die nicht dem Benutzer gehören, werden gezählt.behoben durch Entfernen der Ansicht mit klebrigen Pfosten.quelle