Agregar imagen destacada en publicaciones individuales
Publicado: 2013-10-10La imagen destacada de sus archivos (Miniatura de publicación) se extraerá de la imagen destacada independientemente de cómo la agregue en la pantalla Editar publicación.
La imagen que se muestra antes o después del título de entrada de su publicación única se extrae de la primera imagen que inserta en la publicación, a menos que la elimine.
Puede eliminar o modificar el código que muestra una imagen antes o después de los títulos de entrada de su publicación única utilizando uno de los fragmentos de código en esta página.
Si agrega una imagen como imagen destacada, se mostrará en sus archivos como una miniatura de la publicación y no como una imagen destacada después del título de su publicación individual.
Si no agrega una imagen destacada, la primera imagen de su publicación se mostrará antes o después de los títulos de entrada de su publicación única, así como en sus páginas de archivo.
En esta publicación, le proporcionaré algunas líneas de código PHP que simplemente puede pegar al final de su archivo child themes functions.php.
El código le permitirá mostrar la imagen de su publicación, antes o después de su título en publicaciones individuales.
Dan hizo esta pregunta recientemente:
He estado devanándome la cabeza buscando, usando un código diferente que se encuentra en este foro y he resultado en hacer una nueva publicación.
Con el uso de Minimal Pro, simplemente me gustaría mostrar la imagen destacada de una publicación en una página de "publicación única". Preferiblemente encima del contenido del texto. Encontré código en este foro y lo puse en functions.php. Se muestra la imagen destacada, pero al mismo tiempo borra el contenido del texto. Así que obviamente estoy haciendo algo mal.
Nota: utilice el último fragmento de código PHP en esta publicación si está ejecutando el antiguo marcado XHTML y no HTML 5, ya que los ganchos han cambiado.
Mostrar imagen destacada después del título
Este código muestra la imagen después del título de su publicación única.
add_action( 'genesis_entry_header', 'single_post_featured_image', 15 ); function single_post_featured_image() { if ( ! is_singular( 'post' ) ) return; $img = genesis_get_image( array( 'format' => 'html', 'size' => genesis_get_option( 'image_size' ), 'attr' => array( 'class' => 'post-image' ) ) ); printf( '<a href="%s" title="%s">%s</a>', get_permalink(), the_title_attribute( 'echo=0' ), $img ); }
Mostrar imagen destacada antes del título
Este código muestra su imagen antes del título de su publicación única.
add_action( 'genesis_entry_header', 'single_post_featured_image', 5 ); function single_post_featured_image() { if ( ! is_singular( 'post' ) ) return; $img = genesis_get_image( array( 'format' => 'html', 'size' => genesis_get_option( 'image_size' ), 'attr' => array( 'class' => 'post-image' ) ) ); printf( '<a href="%s" title="%s">%s</a>', get_permalink(), the_title_attribute( 'echo=0' ), $img ); }
Mostrar imagen destacada en páginas estáticas
Si también desea que esto funcione para páginas individuales estáticas, simplemente agregue la página al código de esta manera:
add_action( 'genesis_entry_header', 'single_post_featured_image', 5 ); function single_post_featured_image() { if ( ! is_singular( 'page' ) ) return; $img = genesis_get_image( array( 'format' => 'html', 'size' => genesis_get_option( 'image_size' ), 'attr' => array( 'class' => 'post-image' ) ) ); printf( '<a href="%s" title="%s">%s</a>', get_permalink(), the_title_attribute( 'echo=0' ), $img ); }
Mostrar imagen destacada en páginas estáticas y publicaciones individuales
Si también desea que esto funcione para páginas y publicaciones estáticas, simplemente agregue la página al código de esta manera:
add_action( 'genesis_entry_header', 'single_post_featured_image', 5 ); function single_post_featured_image() { if ( ! is_singular() ) return; $img = genesis_get_image( array( 'format' => 'html', 'size' => genesis_get_option( 'image_size' ), 'attr' => array( 'class' => 'post-image' ) ) ); printf( '<a href="%s" title="%s">%s</a>', get_permalink(), the_title_attribute( 'echo=0' ), $img ); }
La posición que muestra su imagen destacada se puede determinar utilizando el tercer parámetro para la prioridad de posicionamiento.
En el código anterior es simplemente cuestión de cambiar el tercer parámetro de 5 a 15.
Cambiar tamaño de imagen
Este es un ejemplo del uso de un tamaño grande de acuerdo con la configuración de medios.
add_action( 'genesis_entry_header', 'single_post_featured_image', 15 ); function single_post_featured_image() { if ( ! is_singular( 'post' ) ) return; $img = genesis_get_image( array( 'format' => 'html', 'size' => 'large', 'attr' => array( 'class' => 'post-image' ) ) ); printf( '<a href="%s" title="%s">%s</a>', get_permalink(), the_title_attribute( 'echo=0' ), $img ); }
También puede usar cualquiera de los otros tamaños predeterminados configurados en Configuración > Medios.
- miniatura
- medio
- largo
- completo
También puede usar cualquier tamaño personalizado que haya agregado en su archivo de funciones.
Ejemplo:
portafolio
add_image_size( 'portfolio', 540, 340, TRUE );
Uso de ganchos de bucle XHTML antiguos
Si aún ejecuta XHTML y aún no se ha convertido a HTML 5, deberá usar los Loop Hooks antiguos:
add_action( 'genesis_before_post_title', 'single_post_featured_image' ); function single_post_featured_image() { if ( ! is_singular( 'post' ) ) return; $img = genesis_get_image( array( 'format' => 'html', 'size' => genesis_get_option( 'image_size' ), 'attr' => array( 'class' => 'post-image' ) ) ); printf( '<a href="%s" title="%s">%s</a>', get_permalink(), the_title_attribute( 'echo=0' ), $img ); }
Agregar espacio entre el título y la imagen
Aquí hay un código CSS de muestra que puede agregar al final de su archivo style.css de temas secundarios antes del código para Consultas de medios que agrega un margen entre su imagen destacada y el título de su entrada en publicaciones individuales.
.single .post-image { margin-bottom: 30px; }
Use esta muestra para las páginas:
.page .post-image { margin-bottom: 30px; }
Alinear imagen destacada (imagen posterior) a la derecha
También puede alinear las imágenes de su publicación a la derecha.
Simplemente agregue este código CSS antes de sus consultas de medios cerca del final del archivo style.css de sus temas secundarios:
.single .post-image { float:right; margin:0 0 1em 1em; width: 285px; height: 285px; }
El código anterior alineará la imagen que agregue como imagen destacada en todas las publicaciones individuales a la derecha de su contenido para que su texto se ajuste así:
También puede agregar la clase alignright al código PHP en lugar de usar CSS.
'class' => 'alignright'
Simplemente reemplace la imagen posterior en el código PHP con alignright y su texto se ajustará a su imagen en el lado derecho de su contenido.
Alinear imagen destacada (imagen posterior) a la izquierda
También puede alinear las imágenes destacadas de sus publicaciones individuales a la izquierda.
.single .post-image { float:left; margin: 1em 1em 0 0; width: 200px; height: 200px; }
Y aquí está el resultado:
También puede agregar la clase alignleft al código PHP en lugar de usar CSS.
'class' => 'alignleft'
Simplemente reemplace la imagen posterior en el código PHP con alignleft y su texto se ajustará a su imagen en el lado izquierdo de su contenido.
Eliminar un enlace href de la imagen destacada
Un miembro me preguntó cómo eliminar el enlace del código, así que aquí está:
Simplemente reemplace esta parte del código:
$img = genesis_get_image( array( 'format' => 'html', 'size' => genesis_get_option( 'image_size' ), 'attr' => array( 'class' => 'post-image' ) ) ); printf( '<a href="%s" title="%s">%s</a>', get_permalink(), the_title_attribute( 'echo=0' ), $img );
Con este:
$img = genesis_get_image( array( 'format' => 'html', 'size' => genesis_get_option( 'image_size' ), 'attr' => array( 'class' => 'post-image' ) ) ); echo $img;
Artículos Relacionados
- 2 formas de usar diferentes imágenes destacadas para publicaciones individuales y páginas de archivo
- Título de la entrada sobre la imagen destacada en publicaciones individuales
- Casilla de verificación para agregar o eliminar una imagen destacada en publicaciones o páginas individuales
- Vincular imagen destacada a URL personalizada
- Personaliza la visualización de imágenes destacadas en publicaciones individuales
- Agregue una imagen destacada antes del contenido en cualquier tema
- Establecer una imagen destacada alternativa para cada categoría