Gibt es eine Möglichkeit für die functionen wp_count_posts
, wp_count_terms
und wp_count_comments
, ihre Ergebnisse nur für einen bestimmten Benutzer zurückzugeben, möglicherweise unter Verwendung einer Benutzer- ID
?
Ich erstelle ein benutzerdefiniertes Dashboard-Widget “Right Now” für einen benutzerdefinierten Beitragstyp, und ich brauche es nur für den aktuellen Benutzer, nicht für die gesamte Website.
Danke im Voraus.
BEARBEITEN : Als Reaktion auf den Kommentar von @kaiser habe ich Folgendes getan, aber nichts passiert – die Ergebnisse sind die gleichen wie wenn der Filter nicht funktioniert (was nicht der Fall sein sollte) – hat überprüft, dass dieser Benutzer eine andere Anzahl von veröffentlichten hat employee
Beitragstypen). Es scheint, dass der Code in meiner function überhaupt nicht aufgerufen wird, da er nicht die Test- echo
statement in sich ausgibt:
ID; $new_where = $wpdb->prepare( $where . " AND post_author = %s " ,$current_user_ID ); var_dump($new_where); // not dumping anything, not even string(0) "" and no errors reported whatsoever, even in php_error_log return $new_where; } function employer_dashboard_right_now() { // modify query to limit to current user add_filter('posts_where', 'limit_to_current_user'); // execute queries $num_employees = wp_count_posts('employee'); $num_comm = wp_count_comments(); // remove filter remove_filter('posts_where', 'limit_to_current_user'); // more code here... } ?>
Ich habe meinen eigenen benutzerdefinierten Code für wp_count_posts()
und wp_count_comments()
, um die wp_count_comments()
von Grund auf neu zu generieren (durch benutzerdefinierte wp-Abfragen) basierend auf ihrem ursprünglichen Code ( wp_count_posts()
ist in wp-includes/post.php
und wp_count_comments()
ist in wp-includes/comment.php
). Danke @kaiser für die hervorragende performance.