WordPress: imagen destacada en una página de archivo de publicación personalizada

2 minutos de lectura

avatar de usuario
Keat

He creado una publicación personalizada llamada Productos.

register_post_type( 'products',
    array(
        'labels' => array(
            'name' => __( 'Products' ),
            'singular_name' => __( 'Product' )
        ),
    'public' => true,
    'has_archive' => true,
    'supports' => array( 'title', 'editor', 'thumbnail' )
);

También he creado un archivo php llamado archivo-productos.php y lo convirtió en una plantilla.

En WordPress he creado una página llamada productos y seleccionó la plantilla de productos.

En esa página estática (que usa la plantilla de archivo) he subido una imagen al panel Imagen destacada.

En mi encabezado tengo el código:

echo get_the_post_thumbnail();

Pero esto hace eco de la imagen destacada de la última publicación personalizada en la lista (todas las publicaciones de productos también tienen una imagen destacada), no la imagen destacada de la página estática/de archivo, que es lo que quiero. ¿Es esto posible de lograr?

¡Gracias!

avatar de usuario
Carole Magouirk

Hice exactamente lo mismo y encontré la siguiente respuesta que resolvió mi problema: https://wordpress.stackexchange.com/a/175228

  1. Guarde su plantilla de archivo de tipo de publicación personalizada como una página.

    Por ejemplo, página-productos.php

  2. Haga una copia de seguridad localmente y elimine su plantilla de archivo de tipo de publicación personalizada de su servidor.

  3. Muestre la imagen con the_post_thumbnail()ponerlo en una variable con get_the_post_thumbnail()o conviértalo en una imagen de fondo con el título de su página sobre él:

    $bg = wp_get_attachment_image_src( get_post_thumbnail_id( $page->ID ), 'full' );
    if( is_page('products') ) : ?>
    <div style="background: url('<?php echo $bg[0]; ?>') repeat center center #fbfbfb; background-size:cover;">
    <?php the_title( '<h1 class="page-title">', '</h1>' ); ?>
    </div>
    <?php endif; ?>

  4. Guarde sus enlaces permanentes y actualice su página.

Esto es lo que funcionó para mí. Espero que ayude a alguien. 🙂

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad