Fehler beim Übergeben des Attributs in die Shortcode-function

Aus irgendeinem Grund wird die WP_Query-Instanz in meiner Shortcode-function das Abfrageattribut, das vom Shortcode gesendet wird, nicht übernehmen. Der Shortcode ist wie folgt: [postlist query = “post_type = any & posts_per_page = 5” style = “list”]

Hier ist der Code.

function hey_query_shortcode( $atts ) { extract( shortcode_atts( array( 'query' => '', 'style' => '' ), $atts ) ); ob_start(); $the_query = new WP_Query( $query ); while ( $the_query->have_posts() ) : $the_query->the_post(); ?> 

I know $style is set bc it shows up here:

I know $query is set bc it shows up here:

<?php endwhile; echo '
'; wp_reset_postdata(); $list = ob_get_clean(); return $list; } add_shortcode( 'postlist', 'hey_query_shortcode' );

Irgendeine Idee, was hier vor sich geht? $ query gibt gute Ergebnisse aus, aber aus irgendeinem Grund hat dies keine Auswirkungen auf die WP_Query-Abfrage.

Solutions Collecting From Web of "Fehler beim Übergeben des Attributs in die Shortcode-function"

Entschuldigung, ich habe meinen Kommentar gelöscht, weil ich das Problem gefunden habe. Sie müssen eine Html-Entitätsdekodierung für die Abfragevariable durchführen. Verwenden Sie den folgenden Code.

 function hey_query_shortcode( $atts ) { extract( shortcode_atts( array( 'query' => '', 'style' => '' ), $atts ) ); $query = html_entity_decode( $query ); ob_start(); $the_query = new WP_Query( $query ); while ( $the_query->have_posts() ) : $the_query->the_post(); ?> 

< ?php the_title(); ?>

< ?php the_excerpt(); ?>

I know $style is set bc it shows up here: < ?php echo $style; ?>

I know $query is set bc it shows up here: < ?php echo $query; ?>

< ?php endwhile; echo '
'; wp_reset_postdata(); $list = ob_get_clean(); return $list; } add_shortcode( 'postlist', 'hey_query_shortcode' );