Orden alfabético en taxonomy.php

2

Creé tipos de publicación personalizados y un archivo taxonomy-adhesion.php (copiando los contenidos del archivo archive.php).

Deseo que el resultado de la búsqueda aparezca en orden alfabético (o por título), pero no lo hace.

Aquí está el código de la página:

<?php get_header(); ?>

<div class="content">

    <div class="page-title">

        <h4>

            <?php if ( is_day() ) : ?>
                <?php _e('Date', 'wilson'); ?><span class="name"><?php echo get_the_date(); ?></span>
            <?php elseif ( is_month() ) : ?>
                <?php _e('Month', 'wilson'); ?><span class="name"><?php echo get_the_date('F Y'); ?></span>
            <?php elseif ( is_year() ) : ?>
                <?php _e('Year', 'wilson'); ?><span class="name"><?php echo get_the_date('Y'); ?></span>
            <?php elseif ( is_category() ) : ?>
                <?php _e('Category', 'wilson'); ?><span class="name"><?php echo single_cat_title( '', false ); ?></span>
            <?php elseif ( is_tag() ) : ?>
                <?php _e('Tag', 'wilson'); ?><span class="name"><?php echo single_tag_title( '', false ); ?></span>
            <?php elseif ( is_author() ) : ?>
                <?php $curauth = (isset($_GET['author_name'])) ? get_user_by('slug', $author_name) : get_userdata(intval($author)); ?>
                <?php _e('Author', 'wilson'); ?><span class="name"><?php echo ($curauth->display_name); ?></span>
            <?php else : ?>
                <?php _e( 'Les Membres', 'wilson' ); ?>
            <?php endif; ?>

        </h4>

        <?php
            $tag_description = tag_description();
            if ( ! empty( $tag_description ) )
                echo apply_filters( 'tag_archive_meta', $tag_description );
        ?>

    </div> <!-- /page-title -->

    <div class="posts">

        <?php if ( have_posts() ) : ?>

            <?php rewind_posts(); ?>

            <?php while ( have_posts() ) : the_post(); ?>

                <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

                    <?php get_template_part( 'contentmembres', get_post_format() ); ?>

                </div> <!-- /post -->

            <?php endwhile; ?>

    </div> <!-- /posts -->

    <?php if ( $wp_query->max_num_pages > 1 ) : ?>

        <div class="archive-nav">

            <?php echo get_next_posts_link( __('Older<span> posts</span>', 'wilson')); ?>

            <?php echo get_previous_posts_link( __('Newer<span> posts</span>', 'wilson')); ?>

            <div class="clear"></div>

        </div> <!-- /post-nav archive-nav -->

    <?php endif; ?>

<?php endif; ?>

<?php get_footer(); ?>  
    
pregunta Nicfur 04.03.2015 - 20:52

1 respuesta

6

La consulta principal se genera antes de que se cargue la plantilla; los resultados de la consulta principal son cómo WordPress sabe qué plantilla cargar. Si desea modificar los parámetros de consulta de la consulta principal para cambiar elementos como orderby , debe agregar una función enlazada a pre_get_posts .

El argumento pasado a la función contiene los parámetros de consulta de cada consulta, por lo que puede verificar qué consulta es y solo alterar su consulta principal de taxonomía. Esta función iría al archivo functions.php de tu tema, o un complemento.

function wpd_adhesion_taxonomy_queries( $query ) {
    if ( !is_admin() && $query->is_tax( 'adhesion' ) && $query->is_main_query() ) {
        $query->set( 'orderby', 'title' );
        $query->set( 'order', 'ASC' );
    }
}
add_action( 'pre_get_posts', 'wpd_adhesion_taxonomy_queries' );
    
respondido por el Milo 04.03.2015 - 21:49

Lea otras preguntas en las etiquetas