¿Mostrando páginas secundarias de la página actual en formato de publicación y sus miniaturas (imagen destacada)?

2

Estoy usando el siguiente código que obtuve del Códice de Wordpress :

<?php // Displaying Child pages of the current page in post format
            $mypages = get_pages('child_of='.$post->ID.'&sort_column=post_date&sort_order=desc');
            $count = 0;
            foreach($mypages as $page)
            {
                $content = $page->post_content;
                if(!$content)
                    continue;
                if($count >= 20)
                    break;
                $count++;
                $content = apply_filters('the_content', $content);
            ?>
                <div class="content-block">
                    <h2><a href="<?php echo get_page_link($page->ID) ?>"><?php echo $page->post_title ?></a></h2>
                    <a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_post_thumbnail(); ?></a>
                    <?php echo $content ?>
                </div>
            <?php
            }
        ?>

Probé el siguiente código para obtener la imagen destacada de la página:

<a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_post_thumbnail(); ?></a>

y este también:

$thumbnail = apply_filters('the_post_thumbnail', $thumbnail);

Pero no obtiene la imagen mostrada.

¿Alguna sugerencia?

    
pregunta janoChen 17.02.2011 - 12:02

2 respuestas

3

No estás dentro de un bucle regular, o al menos no donde se configuran las variables de publicación globales, por lo que the_post_thumbnail no tiene un ID para obtener una miniatura para ..

En su lugar, use get_the_post_thumbnai( $page->ID ) y debería funcionar bien.

    
respondido por el t31os 17.02.2011 - 12:26
2

necesitas agregar setup_postdata($page); dentro de su bucle foreach y luego

<a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_post_thumbnail(); ?></a>

debería funcionar.

    
respondido por el Bainternet 17.02.2011 - 12:23

Lea otras preguntas en las etiquetas