Bekommen Sie alle klebrigen Beiträge von einem Benutzer über die Benutzer-ID

Also muss ich die Anzahl der Haftnotizen, die jeder Benutzer hat, bekommen und sie mit einer Variablen vergleichen. Ich habe es geschafft, aber ich frage mich, ob das der richtige Weg ist.

//Retrive all sticky posts ID $sticks = $wpdb->get_results("SELECT * FROM $wpdb->options WHERE option_name = 'sticky_posts'"); $stickies = unserialize( $sticks[0]->option_value ); //array with the IDs of sticky posts // print_r($stickies); // Get user id from sticky post ID $i = 0; foreach ($stickies as $sticki) { $post_meta = get_post($sticki); if($post_meta->post_author == $current_user->ID && $post_meta->post_status != 'trash' && strtotime($post_meta->post_date) > strtotime('-30 days') ) { $i++; } } 

Und $ i ist eine Anzahl von Haftnotizen für diesen Benutzer. Also, was ich mache, ist durch alle klebrigen Beiträge zu durchlaufen, Post-Meta für jeden klebrigen Beitrag zu erhalten und durch Post-Meta-Post-Autor, um es mit der aktuellen Benutzer-ID zu vergleichen.

Solutions Collecting From Web of "Bekommen Sie alle klebrigen Beiträge von einem Benutzer über die Benutzer-ID"

Kopieren Sie diese function und fügen Sie sie in die Datei function.php unter dem aktuellen Thema ein.

 // Create a new filtering function that will add where clause to the query function filter_where( $where = '' ) { // posts in the last 30 days $where .= " AND post_date > '" . date('Ym-d', strtotime('-30 days')) . "'"; return $where; } 

Fügen Sie es dort ein, wo Sie es anzeigen möchten.

 $sticky = get_option( 'sticky_posts' ); $args = array( 'numberposts' => -1 'post__in' => $sticky, 'author' => $current_user->ID ); add_filter( 'posts_where', 'filter_where' ); $query = new WP_Query( $args ); remove_filter( 'posts_where', 'filter_where' ); // The Loop while ( $the_query->have_posts() ) : $the_query->the_post(); echo '
  • ' . get_the_title() . '
  • '; endwhile;