¿Cómo puedo mostrar solo los títulos de publicación de una categoría seleccionada en columnas?

wordpress.stackexchange https://wordpress.stackexchange.com/questions/13209

  •  16-10-2019
  •  | 
  •  

Pregunta

Estoy trabajando en un sitio web donde el cliente quiere una página estática que muestra información sobre una determinada categoría. Luego, bajo la información estática, ella quiere todas las publicaciones de esa categoría en una lista de 2 columnas.

Por lo tanto, necesito tener una lista ordenada alfabéticamente que vincule a toda la publicación en una categoría seleccionada. Tengo el código para hacer esto, pero necesito poder romper la lista en columnas. Aquí está el código que tengo mostrando la publicación ...

<?php
if (is_page() ) {
$category = get_post_meta($posts[0]->ID, 'category', true);
}
if ($category) {
  $cat = get_cat_ID($category);
  $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
  $post_per_page = -1; // -1 shows all posts
  $do_not_show_stickies = 1; // 0 to show stickies
  $args=array(
    'category__in' => array($cat),
    'orderby' => 'title',
    'order' => 'asc',
    'paged' => $paged,
    'posts_per_page' => $post_per_page,
    'caller_get_posts' => $do_not_show_stickies
  );
  $temp = $wp_query;  // assign orginal query to temp variable for later use   
  $wp_query = null;
  $wp_query = new WP_Query($args); 
  if( have_posts() ) : 
        while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
        <div <?php post_class() ?> id="post-<?php the_ID(); ?>">
        <_li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to          <?php the_title_attribute(); ?>"><?php the_title(); ?></a><_/li>

Sé que mis habilidades HTML no son las mejores, pero aquí está toda la página de plantilla ...

https://gist.github.com/889340

¿Fue útil?

Solución

Respuesta actualizada:
Use dos listas flotadas para emular columnas, el mismo enfoque que anteriormente.

<?php
/*
Template Name: PageOfPosts
*/

get_header(); ?>

<div id="content">
    <div class="t">
        <div class="b">
            <div class="l">
                <div class="r">
                    <div class="bl">
                        <div class="br">
                            <div class="tl">
                                <div class="tr">
                                    <div class="pad">

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

                                        <?php 
                                        $category = get_post_meta( get_the_ID(), 'category', true); 
                                        $img_style = 'style="width:606;height:34;position: absolute; padding-top:1px; padding-left: 2px; z-index:9999; background: no-repeat;"';
                                        ?>

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

                                            <h1><?php the_title(); ?></h1>
                                            <img src="../wp-content/themes/DD4L/images/leafhr.png" <?php? echo $img_style;?>>
                                            <br />

                                            <div class="entry">
                                                <?php the_content(); ?>
                                                <?php wp_link_pages(array('before' => 'Pages: ', 'next_or_number' => 'number')); ?>
                                            </div>

                                            <?php edit_post_link('Edit this entry.', '<p>', '</p>'); ?>

                                        </div>

                                        <?php endwhile; ?>

                                        <br /><br />

                                        <?php if( !empty( $category ) ) : ?>

                                        <?php
                                        $args = array(
                                            'orderby' => 'title',
                                            'order' => 'asc',
                                            'nopaging' => true,
                                            'ignore_sticky_posts' => true,
                                            'tax_query' => array(
                                                array(
                                                    'taxonomy' => 'category',
                                                    'terms' => array( $category ),
                                                    'field' => 'slug'
                                                )
                                            )
                                        );
                                        $category_query = new WP_Query( $args );
                                        ?>

                                        <?php if( $category_query->have_posts() ) :  ?>

                                        <?php
                                        $total = $category_query->post_count;
                                        $quart = $total / 4;

                                        if( floor( $quart ) != $quart )
                                            $quart = ceil( $quart );
                                        $counter = 0;
                                        ?>

                                        <div class="float-container">
                                            <ul class="alignleft">
                                            <?php while( $category_query->have_posts() ) : $category_query->the_post(); $counter++; ?>

                                                <li>
                                                    <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a>
                                                </li>

                                            <?php if( $quart == $counter ) : $counter = 0; ?>
                                            </ul>

                                            <ul class="alignleft">
                                            <?php endif; ?>

                                            <?php endwhile; ?>
                                            </ul>

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

                                        <?php endif; ?>

                                        <?php endif; ?>

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

                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<?php get_sidebar(); ?>
<?php get_footer(); ?>

Vea la revisión de editar para comentarios y código anteriores.

Otros consejos

Sin mirar realmente su código y solo pensar en la parte superior de mi cabeza, podría configurar una nueva Quera WP para cada columna.

En sus args, establezca 'POSTS_PER_PAGE' => 10, o sin embargo, muchos Post Permalinks desea mostrar en cada columna. Asigne una clase UL o DIV a las columnas y floteas en tu CSS.

También puede usar el complemento de categoría de lista que le permitirá insertar un brevemente en cualquier página o publicación para mostrar publicaciones coincidentes por categorías o por etiquetas. Puede especificar la clasificación de pedidos, ocultar/mostrar extractos y mucho más.

Descargar:http://wordpress.org/extend/plugins/list-category-posts/

Lista de comandos completos:http://foro.picandocodigo.net/discussion/251/list-category-posts-documentation/

Licenciado bajo: CC-BY-SA con atribución
scroll top