Anzahl der Posts von einem Benutzer abrufen (Entwurf, ausstehende Überprüfung und Veröffentlichung)

Ich versuche, die Anzahl der Beiträge von einem Benutzer einschließlich aller Post-Status (Entwurf, ausstehende Überprüfung und veröffentlicht) zu erhalten.

Dies wird für eine Regel verwendet. Wenn ein Benutzer mehr oder gleich X Posts auf einem Post-Typ hat, wird ein angepasster Text angezeigt.

Folgendes gefunden, aber nur die veröffentlichten Beiträge gezählt.

$userID = get_current_user_id(); echo 'Number of posts published by user: ' . count_user_posts( $userID , "books" ); 

Solutions Collecting From Web of "Anzahl der Posts von einem Benutzer abrufen (Entwurf, ausstehende Überprüfung und Veröffentlichung)"

Klingt sehr einfach, wenn Sie nach Posts suchen und die Ergebnisse durchgehen und mit dem Post-Status arbeiten. Stellen Sie sicher, dass 'post_status' => 'any' zu den Abfrageargumenten hinzugefügt wird, um mehr Status neben dem publizierten zu enthalten:

 $args = array( 'author' => 1, // user ID here 'posts_per_page' => -1, // retrieve all 'post_type' => 'post', // post type (change to your PT) 'post_status' => 'any' // any status ); $posts = get_posts( $args ); $drafts = $pendings = $published = array(); if ( ! empty( $posts ) ) :; foreach ( $posts as $post ) { switch ( $post->post_status ) { case 'draft': $drafts[] = $post; break; case 'pending': $pendings[] = $post; break; case 'published': $published[] = $post; break; default: break; } } endif; echo var_dump( 'drafts', $drafts, 'pending', $pendings, 'published', $published ); // or print_r 

Ich hoffe, das hilft.

Dies wird für eine Regel verwendet. Wenn ein Benutzer mehr oder gleich X Posts auf einem Post-Typ hat, wird ein angepasster Text angezeigt.

Eine Beispielverwendung: if ( count( $drafts ) >= (int) X ) { # Hey!! } if ( count( $drafts ) >= (int) X ) { # Hey!! }