Soporte » Diseño – Temas y plantillas » Seleccionar una imagen diferente de cabecera en la plantilla de los post

  • Resuelto ozecai

    (@ozecai)


    Hola, he modificado el tema Appointment para que coja la imagen destacada de las páginas como cabecera. Para ello (gracias @almendron) hice esto:

    1) Editar el archivo index-banner.php

    2) Sustituir <div class=»page-title-section»> por lo siguiente:

    <?php
    //this retrieve the full version of image
    $image_data='';
    $image_url='';
    $image_data = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full', false );
    $image_url = $image_data[0];
    ?>
    <?php if ($image_url=='') : ?>
    <div class="page-title-section">
    <?php else : ?>
    <?php echo '<div class="page-title-section" style="background-image: url(' . $image_url . ')">' ?>
    <?php endif ?>

    De esta forma tengo en el background de cada página la imagen destacada de esa página, por ejemplo estas:

    Proyecto Cibermov

    Equipo de Investigación

    Publicaciones

    El problema es que con ese cambio, cuando entras en un post concreto también pone ahí la imagen destacada del post y no me interesa eso pues queda mal, tal que así:

    Libro: Videoactivismo y Movimientos Sociales

    Así que me interesaría o bien que el cambio para poner ahí de fondo la imagen destacada afectara solo a las páginas (no a los post), o bien que en la plantilla de los post no hiciera eso, o quizás otra opción es que excluyera eso de una categoria, ya que todos los post los tengo en una llamada «noticias». Para rematar, lo ideal sería que en los post la cabecera que mostrara fuera la de una página concreta, en concreto la de «Noticias» que es esta: http://grupo.us.es/compoliticas/noticias/ pero me conformaría con poder ponerle a los post en la cabecera una imagen fija concreta de fondo, definiendo su url.

    • Este debate fue modificado hace 2 años, 8 meses por ozecai.
Viendo 4 respuestas - 16 de 19 (de 19 total)
  • Pues no me funciona, aquí el index-banner.php:

    <!-- Page Title Section -->
    <?php
    $nomimgheader='';
    $urlimgheader='';
    $nomimgheader = get_post_meta($post->ID, 'img-header', true);
    if($nomimgheader !== '') :
    	$urlimgheader = '/wp-content/img-header/' . $nomimgheader . '.jpg';
    	if(file_exists(ABSPATH . $urlimgheader)) :
    		echo '<div class="page-title-section" style="background-image: url(' . $urlimgheader . ')">';
    		else :
    		echo '<div class="page-title-section">';
    	endif;
    else :
    	echo '<div class="page-title-section">';
    endif;
    ?>
    	<div class="overlay">
    		<div class="container">
    			<div class="row">
    				<div class="col-md-6">
    					<div class="page-title"><h1><?php the_title(); ?></h1></div>
    				</div>
    				<div class="col-md-6">
    					<ul class="page-breadcrumb">
    						<?php if (function_exists('qt_custom_breadcrumbs')) qt_custom_breadcrumbs();?>
    					</ul>
    				</div>
    			</div>
    		</div>	
    	</div>
    </div>
    <!-- /Page Title Section -->
    <div class="clearfix"></div>

    Campo personalizado en la entrada http://grupo.us.es/compoliticas/ii-edicion-congreso-internacional-move-net/ con Nombre «img-header» y Valor «ii-edicion-congreso-internacional-move-net»

    y dentro de la carpeta «wp-content» una carpeta «img-header» que tiene dentro la imagen «ii-edicion-congreso-internacional-move-net.jpg»

    pero no hace nada…

    Moderador almendron

    (@almendron)

    Había un pequeño fallo en el código:

    Justo DEBAJO DE if(file_exists(ABSPATH . $urlimgheader)) : pones $urlimgheader = get_bloginfo( 'wpurl' ) . $urlimgheader;

    y ya te funcionará.

    Ahora sí! Funciona perfecto. El único inconveniente que le veía era que habrá que poner el campo personalizado cada vez que publique un post, pero lo que he hecho es crear uno de modelo y copiarlo como base con el plugin «Duplicate This» y así ya tengo siempre el campo personalizado definido, aparte de que así puedo predefinor también imagen destacada del post formato, etc.

    Gracias compa. Eres un crack!

    Moderador almendron

    (@almendron)

    De nada. Un saludo.

    PD. Por favor, marca el hilo como resuelto.

Viendo 4 respuestas - 16 de 19 (de 19 total)
  • El debate ‘Seleccionar una imagen diferente de cabecera en la plantilla de los post’ está cerrado a nuevas respuestas.