web-dev-qa-db-fra.com

Messages Page Image en vedette

J'ai créé un thème qui utilise une image sélectionnée sur chaque page.

Dans les paramètres, j'ai configuré ma "page de messages" pour qu'elle soit "une actualité" ... comment puis-je afficher l'image présentée dans "une actualité"?

Ce qui suit affichera l'id de ma page de messages:

<?php
    $page_for_posts = get_option( 'page_for_posts' );
    echo $page_for_posts;
?>

Donc, je pensais que cela afficherait l'image sélectionnée pour ma page de messages:

<?php
    $page_for_posts = get_option( 'page_for_posts' );
    echo get_the_post_thumbnail($page_for_posts, 'large');
?>

Mais, d’une certaine manière, ce n’est pas le cas :( Dois-je ajouter ce code dans la boucle ou quelque chose du genre?

Des idées?

Merci josh

1
Josh Rodgers

Je me sens comme un idiot! Je faisais du dépannage hier soir et je suppose que j'ai enlevé l'image sélectionnée pour la page d'informations ... alors, bien sûr, l'image ne s'est pas affichée!

J'ai ajouté l'image sélectionnée et le code suivant:

<?php if(is_home()) { ?>
    <?php
        $page_for_posts = get_option( 'page_for_posts' );
        echo get_the_post_thumbnail($page_for_posts, 'large');
    ?>
<?php } ?>

Désormais, tout fonctionne comme prévu ( . Remarque: les discussions croisées sur et le problème résolu dans les forums d'assistance de wordpress.org. )

3
Josh Rodgers

Vous pouvez toujours faire cela à la place.

$id = get_the_ID();
echo get_the_post_thumbnail($id, 'large');

get_the_ID() obtient l'ID du message/de la page en cours sur lequel vous vous trouvez, puis vous le transmettez à votre fonction get_the_post_thumbnail.

Cela vous évite d'avoir à utiliser un get_option pour extraire un champ de la table d'options.

0
userabuser