cómo consultar_posts por categoría slug

3 minutos de lectura

Estoy usando el siguiente código para enumerar algunas páginas en mi sitio de wordpress:

$args = array( 'posts_per_page' => 12, 'order'=> 'ASC', 'post_type' => 'tcp_product', 'paged' => $paged);
?>
  <?php query_posts($args); ?>
  <?php while (have_posts()) : the_post(); ?>
  <a href="https://stackoverflow.com/questions/19792479/<?php the_permalink(); ?>" id="prod-link">
  <?php if( has_sub_field('images') ): ?>
  <?php $img = get_sub_field('image') ?>
  <img src="<?php echo $img['sizes']['product-index-pic'] ?>" />
  <?php endif; ?>
  </a>
  <?php endwhile; ?>
  <!-- #posts -->
  <div class="pagination">
    <?php posts_nav_link( ' ', '<img src="' . get_bloginfo('template_url') . '/assets/images/prev.jpg" />', '<img src="' . get_bloginfo('template_url') . '/assets/images/next.jpg" />' ); ?>
  </div>
  <!-- .pagination --> 

Me pregunto si habría una manera de limitarlos en función de una determinada categoría de slug. Gracias por adelantado

avatar de usuario
Vaquero

Puedes usar la variable category_name como esto:

$args = array( 'category_name' => ***YOUR CATEGORY SLUG***, 'posts_per_page' => 12, 'order'=> 'ASC', 'post_type' => 'tcp_product', 'paged' => $paged);

  • Sería genial si pudiera proporcionar más explicaciones sobre esta variable y/o enlaces a archivos de documentación.

    – n00b

    17 de junio de 2015 a las 4:07

  • Esta debería ser la respuesta aceptada. Cualquiera que busque documentación puede encontrarla aquí: desarrollador.wordpress.org/reference/functions/query_posts

    – Señor Vainilla

    15 de enero de 2019 a las 12:50

tax_query se usa para obtener las publicaciones asociadas con cierta taxonomía.

  • {impuesto} (cuerda) – use slug de taxonomía. Obsoleto a partir de la Versión 3.1 a favor de ‘tax_query’.
  • consulta_de_impuestos (formación) – utilice parámetros de taxonomía (disponible con la versión 3.1).
    • taxonomía (cuerda) – Taxonomía.
    • campo (cuerda) – Seleccione el término de taxonomía por (‘id’ o ‘slug’)
    • términos (int/cadena/matriz) – Término(s) taxonómico(s).
    • incluir_niños (booleano) – Incluir o no hijos en las taxonomías jerárquicas. El valor predeterminado es verdadero.
    • operador (cuerda) – Operador a probar. Los valores posibles son ‘EN’, ‘NO EN’, ‘Y’.
$args = array(
    'post_type' => 'tcp_product',
    'posts_per_page' => 12,
    'tax_query' => array(
        array(
            'taxonomy' => 'tcp_product_taxonomy',
            'field' => 'slug',
            'terms' => 'your-cat-slug'
        )
     )
);

$query = new WP_Query($args);

if ($query->have_posts()) {
    while ($query->have_posts()) {
        $query->the_post;
        // do something
    }
}

  • Hmm, eso significa que no devuelve publicaciones. ¿Qué estaría haciendo mal?

    – usuario1845661

    5 de noviembre de 2013 a las 15:54


  • Pongo el código como lo usé en jsfiddle ya que no me sirve hacerlo en un comentario. jsfiddle.net/#&juntosjs=g3ztCx7NB9

    – usuario1845661

    5 de noviembre de 2013 a las 15:57

  • reemplace tcp_product_taxonomy con su slug de taxonomía

    – Adnán

    5 de noviembre de 2013 a las 16:04

  • Está bien. Soy un poco nuevo en taxonomías. ¿Sería eso “categoría”?

    – usuario1845661

    5 de noviembre de 2013 a las 16:11

  • ¡Gracias! Estoy usando thecartpress y tuve que averiguar la taxonomía que era tcp_product_category. Tan pronto como lo usé funcionó. ¡Muchas gracias!

    – usuario1845661

    6 de noviembre de 2013 a las 14:01

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad