Ich habe eine WordPress-Website und möchte unter jedem Artikel (Beitrag) 3 zufällige Artikel (Beiträge) anzeigen, damit ich alle meine Beiträge miteinander verknüpfen kann. Ich möchte, dass dies ein einfacher Code ist - nur als anklickbarer Text angezeigt - nichts Ausgefallenes...
Können Sie bitte helfen?
Vielleicht ein Code in functions.php?
Danke
Fügen Sie in Ihrem Child-Theme in functions.php diese Codezeilen hinzu:
/* Shortcode for random posts */
/* The shortcode to put in any post/widget is [my-random-posts] */
function my_rand_posts() {
$args = array(
'post_type' => 'post',
'orderby' => 'rand',
'posts_per_page' => 3,
);
$the_query = new WP_Query($args);
$string = "";
if ($the_query->have_posts()) {
$string .= '<ul>';
while ($the_query->have_posts()) {
$the_query->the_post();
$string .= '<li><a href="' . get_permalink() . '" target="_blank">' . get_the_title() . '</a></li>';
}
$string .= '</ul>';
/* Restore original Post Data */
wp_reset_postdata();
} else {
$string .= 'no posts found';
}
return $string;
}
add_shortcode('my-random-posts', 'my_rand_posts');
add_filter('widget_text', 'do_shortcode');
Dieser Code erstellt einen Shortcode, den Sie jederzeit einfügen können! In Zeile #8 (posts_per_page) können Sie auswählen, wie viele Beiträge angezeigt werden sollen - in unserem Fall: 3.
Der Shortcode zum Einfügen in jeden Beitrag/Widget lautet: [my-random-posts]
Viel Spaß!
Sie können auch Ihr eigenes WP-Plugin erstellen, um um den Code und den Shortcode zu behalten für den Fall, dass Sie Ihr WordPress-Thema wechseln/ändern.
Hier ist der Code meines WordPress-Plugins, das die letzten 3 Beiträge (mit den Daten am Ende 🙂 mit Hilfe des Shortcodes anzeigt: [my-plugin-recent-posts]:
<?php
/*
Plugin Name: My plugin recent posts shortcode
Plugin URI: https://mypluginrecentpostsshortcode.com
Description: WP plugin for showing recent posts with a shortcode
Author: My plugin recent posts shortcode Ltd.
Version: 1.0
Author URI: https://mypluginrecentpostsshortcode.com
Text Domain: my-plugin-recent-posts-shortcode
Domain Path: /languages/
*/
function my_plugin_recent_posts_shortcode() {
$buffer = '<h4>Recent Posts:</h4><ul>';
$args = array(
'post_type' => 'post',
'posts_per_page' => 3,
);
$q = new WP_Query( $args );
while ( $q->have_posts() ) {
$q->the_post();
$buffer .= '<li><a href=" ' . get_the_permalink() . '">' . get_the_title() . '</a> - ' . get_the_date() . ' </li>';
}
wp_reset_postdata();
$buffer .= '</ul>';
return $buffer;
}
add_shortcode( 'my-plugin-recent-posts', 'my_plugin_recent_posts_shortcode' );
...und dies ist der Screenshot meines WordPress-Blogs:

