¿Cómo puedo mostrar mi imagen destacada correctamente dentro de mis publicaciones individuales?

4

Esto es lo que he intentado:

1) Se agregó add_theme_support('post-thumbnails'); en functions.php.

2) Se agregó <?php the_post_thumbnail(); ?> dentro de single.php que se ve así:

<?php
/**
 * The Template for displaying all single posts.
 *
 * @package WordPress
 * @subpackage Twenty_Eleven
 * @since Twenty Eleven 1.0
 */

get_header(); ?>


        <div id="primary">



            <div id="content" role="main">

                    <?php the_post_thumbnail(); ?>
                <?php while ( have_posts() ) : the_post();  ?>
                    <?php get_template_part( 'content-single', get_post_format()  ); ?>

                <?php endwhile; // end of the loop. ?>

            </div>
        </div>

<?php get_footer(); ?>

Se agrega mi imagen destacada pero arriba del artículo y no dentro del artículo, cómo debería ser.

Para obtener una mejor comprensión, aquí hay una imagen del problema que tengo:

¿Cómopuedohacerquelaimagenmostradaaparezcadebajodelartículo"Publicación de prueba"? Como aquí por ejemplo:

¡Gracias de antemano!

    
pregunta user44148 19.12.2013 - 23:38

4 respuestas

1

Como lo mencionó Rahil Wazir, toma ese fragmento de código <?php the_post_thumbnail(); ?> de single.php. Ponga lo siguiente en sus funciones. Php (en la parte inferior)

add_filter('the_content', 'put_thumbnail_in_posting');
function put_thumbnail_in_posting($content) {
global $post;
if ( has_post_thumbnail() && ( $post->post_type == 'post' ) ) { the_post_thumbnail( '', array( 'style' => 'float:left;margin:15px;' ) ); }
return $content;
}

Cambie el margen a lo que sea y / o agregue otro css y ya está. No es necesario poner ninguno en ningún otro archivo.
(De esta manera, flota en el marcador superior izquierdo al lado de su contenido, lo probó con una instalación de veinte "incluso" virgen ".)

Complemento:
Si se desea lo mismo en las páginas, cambie esta parte del código $post->post_type == 'post' en el siguiente $post->post_type == 'post' || 'page' .
Si quieres hacerlo un poco más flexible y tener el código css solo en tu style.css?
Cambie la siguiente parte del código array( 'style' => 'float:left;margin:15px;'
a array( 'class' => 'thumbnail-layout' y agregue una clase nueva en la parte inferior del archivo style.php. Utilice el mismo nombre de clase: (por supuesto, puede cambiar ese nombre por el que desee, solo asegúrese de que en su código de función y en style.css se debe usar la misma clase.

.thumbnail-layout { 
float:left;
display:inline;
margin:15px;
}

Por supuesto, puede cambiar el margen si lo desea, agregar relleno si lo desea y así sucesivamente. Buena suerte.

    
respondido por el Charles 20.12.2013 - 01:39
0

Como Rahil ha dicho en los comentarios, deberá agregar el bloque the_post_thumbnail(); al content-single.php:

        <div class="entry-content">

if ( has_post_thumbnail() ) {
    the_post_thumbnail();
} 
            <?php the_content(); ?>
            <?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'twentyeleven' ) . '</span>', 'after' => '</div>' ) ); ?>
        </div><!-- .entry-content -->

Es posible que también debas aplicar un estilo a la miniatura para display:inline; y float:left; en el archivo css para que se muestre correctamente.

    
respondido por el Wrought_steel 20.12.2013 - 01:33
0

De acuerdo con el códice de wordpress, la función_post_thumbnail () debe llamarse entre el bucle, vea el enlace the_post_thumbnail así que mueva "the_post_thumbnail ( ) "en la plantilla de contenido único para obtener la ubicación correcta de la imagen.

    
respondido por el Webloper 24.12.2013 - 19:39
0

Probado en el tema de Twenty Twelve child.

Esta es otra forma de agregar una imagen destacada a publicaciones individuales y personalizarla desde el archivo style.css de sus temas secundarios.

Este método también vincula la miniatura de publicación con el enlace permanente de publicación .

Este código PHP va al final de su archivo de funciones de temas secundarios .php.

add_filter( 'the_content', 'single_post_featured_image' );

function single_post_featured_image($content) {

global $post;

if ( is_singular( 'post' ) && has_post_thumbnail() ) {  

the_post_thumbnail( '', array( 'class' => 'post-image' ) ); 

printf( '<a href="%s" title="%s">%s</a>', get_permalink(), the_title_attribute(  

    'echo=0' ), $img ); 

}

return $content;


}

Aquí hay algunos ejemplos de código CSS:

.single .post-image {
float:left; 
margin: 20px 20px 0 0;
width: 200px;
height: 200px;
}

También puede agregar soporte para una imagen destacada en el archivo de funciones de sus temas secundarios, pero probablemente sea mejor recortar / redimensionar cada uno manualmente antes de agregar:

//* Add new image sizes
add_image_size( 'post-image', 200, 200, true );

Fuente enlace

    
respondido por el Brad Dalton 25.12.2013 - 12:40

Lea otras preguntas en las etiquetas