Benutzerdefinierte Abfrage gibt alles falsch zurück

Irgendwo fehlt etwas, aber ich kann die Punkte nicht verbinden. Alles wird ordnungsgemäß ausgegeben, außer dass die Abfrage alles aus der database zurückgibt, nicht nur Beiträge. Kann jemand einen Grund für dieses Verhalten finden?

Ich weiß, dass es etwas mit add_filter zu tun hat. Wenn man es entfernt, kann die Abfrage normal funktionieren. Ich weiß jedoch immer noch nicht, was das unbeabsichtigte Verhalten verursacht.

Getriggers: Ich habe einen Punkt weggelassen … Ich habe vergessen, den Parameter $ wo an my_posts_where () übergeben zu verketten. Gawd. Ich habe das 3 Stunden lang angeguckt …

// Filter 'posts where' so we can limit the date range of a custom query function my_posts_where( $where = '' ) { // Posts from the last 30 days // ERROR $where = " AND post_date > '" . date( 'Ym-d', strtotime( '-30 days' ) ) . "'"; $where .= " AND post_date > '" . date( 'Ym-d', strtotime( '-30 days' ) ) . "'"; return $where; } // Output a list of the most popular entries from the past 7 days function my_popular_entries() { // Filter the query add_filter( 'posts_where', 'my_posts_where' ); $args = array( 'posts_per_page' => 12, 'orderby' => 'meta_value_num', 'meta_key' => 'Views', 'post_type' => 'post', ); $query = new WP_Query( $args ); remove_filter( 'posts_where', 'my_posts_where' ); // Create the list, assuming we have posts if ( $query->have_posts() ) : $html = ''; echo $html; // Reset the post variable wp_reset_postdata(); endif; } 

Solutions Collecting From Web of "Benutzerdefinierte Abfrage gibt alles falsch zurück"