WordPress Zufallsbeitrag
lima-city → Forum → Die eigene Homepage → Homepage Allgemein
all
anzeigen
artikel
ausgeben
auszug
bedeutung
code
display
entfernen
formatierung
funktioniert code
http
note
ordern
page
post
rand
url
zufall
zufallsgenerator
-
Hallo zusammen,
ich suche ein Plugin oder Skript, mit dem eine Art Redirect auf einen zufälligen Beitrag/Artikel erzeugt wird und das mir einen zufälligen Beitrag/Artikel in volle Länge anzeigt. Das was ich bisher im Internet dazu finden konnte waren leider nur Plugins bzw. Widgets für die Sidebar, die vor allem meistens nur den Titel und vielleicht auch noch den Auszug zeigen (und dann auch gleich von mehreren Artikeln), aber nicht in voller Länge oder von nur einem Artikel. So habe ich mich von den Plugins und Widgets abgewendet und auf englisch und deutsch nach passenden Codeschnipseln gesucht und u.a. diese ausprobiert (aber so wirklich funktioniert hat keiner):
1) Zufällige Beiträge in WordPress ausgeben
2) Zufällige WordPress-Beiträge anzeigen
3) Random Posts – zufällig ausgewählte Artikel ohne Plugin anzeigen
4) WordPress – Latest post and Random Post of specific category
Nun meine Frage an Euch: Kennt Jemand ein solches Plugin oder ein funktionierendes Zufallsskript, das mir einen (!) zufälligen Beitrag/Artikel auf einer extra dafür angelegten (leeren) Seite mit einem extra dafür erstellen und zugewiesenen Template anzeigt?
Gruß,
webdesgnerin -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ungetestet!
aber einfach im Schnipsel des 3. Links die Anzahl auf 1 eingrenzen (showposts) und natürlich the_content() noch hinzufügen sonst siehst du da nur den Titel als Link. ...Formatierung anpassen(Link weg, überschrift einfügen) ... sollte funktionieren.
<?php query_posts('showposts=1&orderby=rand'); while (have_posts()) : the_post(); ?> <div> <h1><?php the_title(); ?></h1> <?php the_content(); ?> </div> <?php endwhile; ?>
Das in die Templatedatei die du dafür vorgesehen hast, allerdings könntest du das evtl. auch im Standarttemplate mittels is_page(); einbinden.
Beitrag zuletzt geändert: 14.7.2013 17:50:02 von pcw -
Hallo pcw,
leider funktioniert das auch nicht - es wird zwar ein Zufall generiert, aber unendlich oft. Das bedeutet, dass die Seite unendlich lange lädt und zig Artikel in zufälliger Anordnung enthält, anstatt nur einen einzigen. Genau das Problem habe ich bei den ganzen Skripten (und vor allem bei dem von Dir vorgeschlagenen). Falls es von Bedeutung ist: ich nutze das Standardtheme twentyeleven. Das Template des Zufallgenerators sieht so aus (mit diesem Skript werden allerdings 2 statt 1 zufälliger Artikel generiert, warum weiß ich nicht):
<?php /* Template Name: Zufallsgenerator */ /** * The template for displaying all pages in random. * * This is the template that displays all articles in random order. * Please note that this is the WordPress construct of pages * and that other 'pages' on your WordPress site will use a * different template. * * @package WordPress * @subpackage Twenty_Eleven * @since Twenty Eleven 1.0 */ get_header(); ?> <div id="primary"> <div id="content" role="main"> <?php while ( have_posts() ) : the_post(); ?> <?php query_posts(array(‘orderby’ => ‘rand’, ‘showposts’ => 1)); if (have_posts()) : while (have_posts()) : the_post(); ?> <h1> <a href="<?php the_permalink() ?>"><?php the_title(); ?></a> </h1> <?php the_content(); ?> <?php endwhile; endif; ?> <?php wp_reset_query(); ?> <?php get_template_part( 'content', 'page' ); ?> <?php comments_template( '', false); ?> <?php endwhile; // end of the loop. ?> </div><!-- #content --> </div><!-- #primary --> <?php get_footer(); ?>
Gruß,
webdesignerin -
Hallo Webdesignerin,
ich hab es gerade mit dem twentyeleven theme getestet.
Das funktioniert:
<?php /* Template Name: Zufallsgenerator */ /** * The template for displaying all pages in random. * * This is the template that displays all articles in random order. * Please note that this is the WordPress construct of pages * and that other 'pages' on your WordPress site will use a * different template. * * @package WordPress * @subpackage Twenty_Eleven * @since Twenty Eleven 1.0 */ get_header(); ?> <div id="primary"> <div id="content" role="main"> <?php query_posts('showposts=1&orderby=rand'); while (have_posts()) : the_post(); ?> <div> <h1><?php the_title(); ?></h1> <?php the_content(); ?> </div> <?php endwhile; // end of the loop. ?> </div><!-- #content --> </div><!-- #primary --> <?php get_footer(); ?>
-
Hallo pcw,
Ich habe den Fehler mittlerweile selbst gefunden. Es lag daran, dass ich einfach nur folgende Zeile hätte entfernen müssen:
<?php get_template_part( 'content', 'page' ); ?>
Vielen Herzlichen Dank dennoch für die korrigierte Version, die auch bei mir wunderbar läuft!
Gruß,
webdesignerin -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage