Estoy intentando crear un segundo menú de navegación en mi sitio de wordpress.
Quiero que esto muestre enlaces a todas las publicaciones dentro de la categoría actual solamente.
He estado experimentando con la función get_posts pero estoy luchando por encontrar la forma de seleccionar dinámicamente la categoría actual. es decir, qué colocar aquí categoría=x
Cualquier ayuda es muy apreciada
Aquí está mi código de plantilla que he estado usando
<ul id="catnav">
<?php
global $post;
$myposts = get_posts('numberposts=5&category=1');
foreach($myposts as $post) :
?>
<li><a href="https://stackoverflow.com/questions/13010805/<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>
Finalmente lo resolví con este código de aquí: http://www.snilesh.com/resources/wordpress/wordpress-recent-posts-from-current-same-category/
Lo modifiqué para incluir la página actual y la lista ascendente
<ul id="catnav">
<?php
global $post;
$category = get_the_category($post->ID);
$category = $category[0]->cat_ID;
$myposts = get_posts(array('numberposts' => 5, 'offset' => 0, 'category__in' => array($category), 'post_status'=>'publish', 'order'=>'ASC' ));
foreach($myposts as $post) :
setup_postdata($post);
?>
<li>
<a href="https://stackoverflow.com/questions/13010805/<?php the_permalink(); ?>">
<?php the_title(); ?></a>
</li>
<?php endforeach; ?>
<?php wp_reset_query(); ?>
<li><a href="?p=46">Why Us?</a></li>
</ul>
<!--Insted Of this-->
$myposts = get_posts('numberposts=5&category=1');
<!--Use This-->
$cat_ID = get_query_var('cat');
query_posts('cat=".$cat_ID."&showposts=5&order=ASC');
-
Gracias Balu, pero esto no parece funcionar. ¿Qué te propones hacer con
code
foreach ($ mis publicaciones como $ publicación):– usuario1765225
22 de octubre de 2012 a las 17:26
$args=array(
'cat' => get_query_var('cat'),
'orderby' => 'title',
'order' => 'ASC',
'posts_per_page'=>-1,
'caller_get_posts'=>1
);
$my_query = new WP_Query($args);
¡Funcionó para mí!
Así que encontré este fragmento de código que funciona muy bien para mostrar todas las publicaciones en la categoría actual.
<ul id="catnav">
<?php
foreach( ( get_the_category() ) as $category ) {
$the_query = new WP_Query('category_name=" . $category->category_nicename . "&showposts=5&order=ASC');
while ($the_query->have_posts()) : $the_query->the_post();
?>
<li>
<a href="https://stackoverflow.com/questions/13010805/<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
</li>
<?php endwhile; ?>
<?php
}
?>
</ul>
Pero tengo varias categorías que deseo excluir. Existen algunas publicaciones en dos categorías que quiero excluir mostrando la publicación en las categorías 8, 9 y 11.
¿Algunas ideas?
Creo que es mejor obtener publicaciones de la identificación de la categoría en lugar del nombre de la categoría para que pueda escribir una condición si no y puede excluir las publicaciones que tienen la identificación como 8,9,11
Creo que tengo este código en casa. Lo compartiré si me recuerdas respondiendo en este comentario. Comprobaré si también lo tengo en mi bandeja de entrada.
– Pablo Jomer
22 de octubre de 2012 a las 11:49
Gracias Pablo, si pudieras sería de gran ayuda.
– usuario1765225
22/10/2012 a las 17:25