Support » Allgemeine Fragen » Random tag.php

  • Gelöst toastbrot

    (@toastbrot)


    Meine tag.php sieht so aus:

    <?php get_header(); ?>
    <!-- tag.php -->
    <?php while (have_posts()) : the_post(); ?>
    <a href="<?php the_permalink() ?>" ><?php the_title(); ?></a>
    <?php endwhile; ?>
    <?php get_footer();

    Ich möchte aber die Seiten zufällig anzeigen lassen, bekomme das mit ‚orderby‘ aber nicht hin, kann mir jemand helfen?

Ansicht von 2 Antworten - 1 bis 2 (von insgesamt 2)
  • Da dein Template die Loop verwendet, musst du bereits im Vorfeld die Ausgabe anpassen. Dafür gibt es den Hook pre_get_posts. Du könntest also z.B. folgenden Code in der functions.php eines Child Themes oder als Code Snippet (Plugin Code Snippets) einfügen:

    add_action( 'pre_get_posts', 'random_tag' );
    function random_tag( $query ) {
        if ( $query->is_tag() && !is_admin() ) {
          $query->set('orderby', 'rand');  
        }       
    }

    Vielen Dank. Das hat mir wirklich geholfen.

Ansicht von 2 Antworten - 1 bis 2 (von insgesamt 2)
  • Das Thema „Random tag.php“ ist für neue Antworten geschlossen.