Mostrar publicaciones de una categoría en orden alfabético (tipo de publicación personalizada)

2
  1. Tengo un tipo de publicación personalizada llamado "enlace"
  2. Tengo una taxonomía personalizada para este tipo de publicación llamada "categoría de enlace"
  3. Tengo un archivo de plantilla para esta taxonomía, "taxonomy-link-category.php"
  4. Necesito la plantilla para mostrar las publicaciones de la categoría de enlace seleccionada en orden alfabético

EDIT : en la página ENLACES del sitio web, todos los nombres de categorías para el tipo de publicación personalizada ENLACE se muestran en una lista. Una vez que un visitante hace clic en el nombre de una categoría, necesito wordpress para listar todas las publicaciones en esa categoría, en orden alfabético. Lo tengo funcionando, con el código siguiente (usando el archivo de plantilla: taxonomy-link-category.php), pero las publicaciones se muestran cronológicamente, y solo 10 de ellas (el valor predeterminado de wordpress).

He intentado cosas como esta: Visualización de un tipo de mensaje personalizado alfabéticamente pero, por supuesto, muestra ... EDIT : todas las publicaciones LINK, no solo las publicaciones de la categoría LINK seleccionada.

Este es mi código actual en taxonomy-link-category.php, ¿no puedo agregar 'orderby' => 'title', 'order' => 'ASC' en alguna parte / de alguna manera?

<?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(); ?>
    
pregunta codeview 13.03.2014 - 08:06

2 respuestas

3

Use la acción pre_get_posts para modificar la consulta antes de ejecutarla. Coloca esto en el tema functions.php :

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' );
    
respondido por el Milo 14.03.2014 - 01:39
1

Sí. Pero me temo que no entiendo su intención.

Has intentado:

$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);

Eso debería producir una lista ordenada alfabéticamente donde la gama de términos está presente en la taxonomía de categoría de enlace.

** Al código original de EDIT faltaba una coma después de la matriz de términos.

    
respondido por el jdm2112 13.03.2014 - 08:30

Lea otras preguntas en las etiquetas