it-swarm.com.de

Beiträge einer Kategorie in alphabetischer Reihenfolge anzeigen (letzter Beitragstyp)

  1. Ich habe einen benutzerdefinierten Beitragstyp "Link" genannt
  2. Ich habe eine benutzerdefinierte Taxonomie für diesen Beitragstyp namens "Link-Kategorie"
  3. Ich habe eine Vorlagendatei für diese Taxonomie "taxonomy-link-category.php"
  4. Ich benötige die Vorlage, um die Posts der ausgewählten Linkkategorie in alphabetischer Reihenfolge anzuzeigen.

EDIT: Auf der LINKS-Seite der Website werden alle Kategorienamen für den benutzerdefinierten BeitragstypLINKin einer Liste angezeigt. Sobald ein Besucher auf einen Kategorienamen klickt, benötige ich WordPress, um alle Beiträge in dieser Kategorie in alphabetischer Reihenfolge aufzulisten. Ich habe es funktioniert, mit dem Code unten (unter Verwendung der Vorlagendatei: taxonomy-link-category.php), aber die Beiträge werden chronologisch angezeigt, und nur 10 von ihnen (die WordPress-Standardeinstellung).

Ich habe Folgendes ausprobiert: Anzeigen eines benutzerdefinierten Post-Typs in alphabetischer Reihenfolge Aber natürlich werden alle LINK-Posts angezeigt ...EDIT: Nicht nur die Posts des ausgewählten LINK Kategorie.

Dies ist mein aktueller Code in der Datei taxonomy-link-category.php. Kann ich nicht einfach irgendwo/irgendwie 'orderby' => 'title', 'order' => 'ASC' hinzufügen?

<?php get_header(); ?>
  <div id="content">                    
    <h1>Links</h1>
    <h2><?php echo get_queried_object()->name; ?></h2>
    <?php if (have_posts()) :   // start the loop ?>                    
        <?php while (have_posts()) : the_post(); // loop the posts ?>
            <h3><?php the_title(); ?></h3>
            <?php the_content(); ?> 
        <?php endwhile;     // stop looping the posts ?>                                
        <?php else :        // what to do if there are no posts to show ?>
        <h3>No posts</h3>
    <?php endif;        // end the loop  ?>
  </div><!-- #content -->
<?php get_footer(); ?>
2
codeview

Verwenden Sie die Aktion pre_get_posts , um die Abfrage zu ändern, bevor sie ausgeführt wird. Fügen Sie dies in den functions.php Ihres Themas ein:

function wpd_tax_alpha( $query ) {
    if ( $query->is_tax('link-category') && $query->is_main_query() ) {
        $query->set( 'orderby', 'title' );
        $query->set( 'order', 'ASC' );
    }
}
add_action( 'pre_get_posts', 'wpd_tax_alpha' );
3
Milo

Ja. Aber ich fürchte, ich verstehe deine Absicht falsch.

Hast du es versucht:

$args = array( 
    'post_type' => 'link', 
    'tax_query' => array(
    array(
        'taxonomy' => 'link-category',
        'field' => 'slug',
        'terms' => array( 'Birds', 'Cats', 'Dogs' )
    )
    ),
    'orderby' => 'title',
    'order' => 'ASC' 
    );
$query = new WP_Query($args);

Das sollte eine alphabetisch sortierte Liste erzeugen, in der das Array von Begriffen in der Linkkategorietaxonomie vorhanden ist.

** BEARBEITEN Originalcode fehlte ein Komma nach dem Terms-Array.

1
jdm2112