Listen Sie alle Benutzer und Einträge der aktuellen Woche auf

Ich suche nach einem einfachen Code, um alle Benutzer mit dem Rollenzuschauer aufzulisten und wenn sie einen Eintrag in der aktuellen Woche gemacht haben, geben Sie “ja” und wenn nicht “nein” ein

Solutions Collecting From Web of "Listen Sie alle Benutzer und Einträge der aktuellen Woche auf"

Wenn Sie mit “einen Eintrag gemacht” meinen, “hat mindestens einen Beitrag veröffentlicht”, dann wird es folgen (mit der unten angegebenen Bedingung):

$args = array ( 'role' => 'spectator', ) ; $spectators = new WP_User_Query ($args) ; $users_with_recent_posts = array () ; foreach ($spectators->get_results () as $user) { $args = array ( // if you are interested in posts with a different // post_type, then just change the following to // be the post_type you're interested in 'post_type' => 'post', 'date_query' => array ( 'after' => '7 days ago', 'inclusive' => true, ), 'author' => $user->ID, 'posts_per_page' => 1, ) ; $posts = new WP_Query ($args) ; $users_with_recent_posts[$user->data->user_nicename] = $posts->found_posts > 0 ? 'yes' : 'no' ; } 

Proviso: Das obige zeigt nur einen Benutzer als yes wenn er mindestens einen Post hat, dessen pust_status gerade publish , dh wenn ein Benutzer einen Post innerhalb der letzten 7 Tage veröffentlicht hat, dann hat dieser post_status zu etwas anderem als publish geändert Sie werden als no angezeigt, wenn dies der einzige Beitrag war, den sie in den letzten 7 Tagen veröffentlicht haben.

Wenn Sie etwas anderes mit “Eintragen” meinen, dann erklären Sie bitte, was Sie meinen.