Dans mon thème blanc, il n'y a pas d'attribut alt configuré pour le post du curseur d'accueil. J'ai ajouté le texte de remplacement pour l'image via l'interface de la médiathèque. J'ai ajouté le code suivant pour afficher le texte / attribut alt. Mais il n'affiche pas:
<img class="homepage-slider_image" src="http://www.blabla.com/wp-content/uploads/2013/06/cms-website4-1800x800.jpg" alt="" />
Voici le code:
<?php
$image = get_post_meta(get_the_ID(), WPGRADE_PREFIX.'homepage_slide_image', true);
if (!empty($image)) {
$image = json_decode($image);
$image_alt = get_post_meta( $attachment->ID, '_wp_attachment_image_alt', true);
if ( empty( $image_alt )) {
$image_alt = $attachment->post_title;
}
if ( empty( $image_alt )) {
$image_alt = $attachment->post_excerpt;
}
$image_title = $attachment->post_title;
$image_id = $image->id;
$image = wp_get_attachment_image_src( $image_id, 'blog-huge', false);
echo '<img class="homepage-slider_image" src="'.$image[0].'" alt="'. $image_alt .'" />';
}
?>
post-thumbnails
attachments
conditional-tags
images
Nisha_at_Behance
la source
la source
$attachment->ID
mais je ne vois aucune information sur l'$attachment
objet dans votre code.Réponses:
Entré ici car ce post est parmi les meilleurs résultats sur le moteur de recherche lorsque vous recherchez une alt et un titre d'image WordPress. Étant plutôt surpris qu'aucune des réponses ne semble fournir une solution simple correspondant au titre de la question, je laisserai tomber ce que j'ai trouvé en espérant que cela aide les futurs lecteurs.
En bonus, voici comment récupérer une image src. Avec les attributs ci-dessus, c'est tout ce dont nous avons besoin pour créer un balisage d'image statique.
la source
Votre problème est que vous ne fournissez pas l'ID
get_post_meta()
et lesget_the_title()
fonctions de la pièce jointe correcte .Voici votre code pour obtenir
alt
l'image de l'image:Et c'est correct, mais
$attachment->ID
n'est pas défini dans votre code, donc la fonction ne retourne rien.En lisant votre code, il semble que vous stockiez l'ID de l'image en tant que champ méta et que vous l'obteniez avec ce code:
Donc, en supposant que cela
$image->id
soit correct dans votre code, vous devez remplacer ceci:Avec:
C'est pour obtenir le
alt
, pour obtenir le titre:la source
J'utilise une fonction rapide dans tous mes thèmes pour obtenir des données de pièce jointe d'image:
J'espère que cela t'aides!
la source
veuillez noter que je n'ai pas testé votre
$image->id
, j'ai simplement supposé que vous avez le bon ID de pièce jointe. Le reste vient$img_meta
. Si alt est manquant, nous utilisons le titre de l'image, si le titre est manquant, vous verrez le texte "Titre manquant" pour vous pousser à le remplir.la source
Ok, j'ai trouvé la réponse que personne n'a sur le net que je cherchais depuis des jours. Gardez dans le mien, cela ne fonctionne que si votre thème ou plugin utilise WP_Customize_Image_Control () si vous utilisez WP_Customize_Media_Control (), le get_theme_mod () renverra l'ID et non l'url.
Pour ma solution, j'utilisais la version plus récente WP_Customize_Image_Control ()
Beaucoup de messages sur les forums ont le get_attachment_id () qui ne fonctionne plus. J'ai utilisé attachment_url_to_postid ()
Voici comment j'ai pu le faire. J'espère que cela aide quelqu'un
Marquage
la source