Einfache Möglichkeit, Auszüge bestimmter Beiträge auf einer Seite anzuzeigen

Angenommen, ich habe 3 Posts auf meiner WordPress-Site mit dem Titel:

  • Test_post_1 mit dem Tag test_tag
  • Test_post_2 ohne Tag
  • Test_post_3 mit dem Tag test_tag

Angenommen, ich habe eine Seite mit dem Titel page_1 . Auf dieser Seite habe ich einen schriftlichen Text. Am Ende dieser Seite möchte ich auf meine 2 Beiträge mit dem Tag test_tag . Ich möchte, dass die 2 Links als Postauszüge erscheinen , mit Titel, Bild und etwa 50 Wörtern. ( Hier ist ein Beispiel für solche Postauszüge. )

Ich habe etwas darüber nachgeforscht, und es scheint, dass ich die function php the_excerpt() verwenden muss. Dies würde dazu führen, dass bestimmte Seitenvorlagen in WordPress erstellt werden oder Seiten-PHP-Code angepasst wird. Ich habe einige Hinweise, wie ich das schon machen soll, aber das ist nicht das, was ich will. Ich möchte eine einfache Möglichkeit, Post-Experten aus dem Seiteneditor in WordPress hinzufügen. Etwas so einfaches wie ein Shortcode. Etwas wie [excerpt tag="test_tag"] , das ich direkt nach meinem Text im [excerpt tag="test_tag"] kann. Hat jemand irgendwelche Anhaltspunkte für ähnliche einfache Wege?

Solutions Collecting From Web of "Einfache Möglichkeit, Auszüge bestimmter Beiträge auf einer Seite anzuzeigen"

Du brauchst ein paar Dinge. Ein Shortcode-Handler und eine benutzerdefinierte Abfrage :

 function wpse_186346_excerpt_length() { return 50; } function wpse_186346_excerpt( $atts ) { $atts = wp_parse_args( $atts, array( 'posts_per_page' => 2, // Any other default arguments ) ); // We don't need paging, always save a query $atts['no_found_rows'] = true; // Create query based off arguments from shortcode $query = new WP_Query( $atts ); // Start the buffer to "catch" our output below, so that we can return it as a string ob_start(); // Set our custom excerpt length add_filter( 'excerpt_length', 'wpse_186346_excerpt_length' ); // Loop over the posts and output whatever markup you need while ( $query->have_posts() ) { $query->the_post(); the_title( '

', '

' ); the_excerpt(); } // Remove our custom excerpt length remove_filter( 'excerpt_length', 'wpse_186346_excerpt_length' ); // Restore the current global post wp_reset_postdata(); return ob_get_clean(); } add_shortcode( 'excerpt', 'wpse_186346_excerpt' );

Und benutze es so:

 [excerpt tag="test_tag"] 

Ihre Shortcode-Argumente müssen nur mit den verfügbaren übereinstimmen, sodass Sie nicht nur auf Tags beschränkt sind!