WordPress – Vorgestelltes Bild auf einer benutzerdefinierten Post-Archivseite

Lesezeit: 2 Minuten

Benutzer-Avatar
Keat

Ich habe einen benutzerdefinierten Beitrag mit dem Namen Produkte erstellt.

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

Ich habe auch eine PHP-Datei mit dem Namen erstellt Archiv-Produkte.php und daraus eine Vorlage gemacht.

In WordPress habe ich eine Seite mit dem Namen erstellt Produkte und die Produktvorlage ausgewählt.

Auf dieser statischen Seite (die die Archivvorlage verwendet) habe ich ein Bild in das Feld „Empfohlenes Bild“ hochgeladen.

In meinem Header habe ich den Code:

echo get_the_post_thumbnail();

Aber dies spiegelt das Beitragsbild des wider letzter benutzerdefinierter Beitrag in der Liste (alle Produktbeiträge haben auch ein Featured Image), nicht das Featured Image der statischen/archivierten Seite, was ich möchte. Ist dies zu erreichen?

Vielen Dank!

Benutzer-Avatar
Carole Magouirk

Ich habe genau dasselbe getan und bin auf die folgende Antwort gestoßen, die mein Problem gelöst hat: https://wordpress.stackexchange.com/a/175228

  1. Speichern Sie Ihre benutzerdefinierte Archivvorlage für Beitragstypen als Seite.

    Zum Beispiel page-products.php

  2. Sichern Sie lokal und löschen Sie Ihre benutzerdefinierte Archivvorlage für Beitragstypen von Ihrem Server.

  3. Zeigen Sie das Bild mit the_post_thumbnail()setzen Sie es in eine Variable mit get_the_post_thumbnail()oder machen Sie es zu einem Hintergrundbild mit Ihrem Seitentitel darüber:

    $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. Speichern Sie Ihre Permalinks und aktualisieren Sie Ihre Seite.

Das hat bei mir funktioniert. Hoffe es hilft jemandem. 🙂

1345400cookie-checkWordPress – Vorgestelltes Bild auf einer benutzerdefinierten Post-Archivseite

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy