web-dev-qa-db-fra.com

Comment afficher le titre de l'image en vedette et l'attribut ALT

salut je suis essayer ce code pour afficher l'image sélectionnée après le premier paragraphe et afficher le titre de l'image et l'attribut alt

add_filter('the_content', function($content)
{
   $url = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
   $img = '<img src="'.$url.'" alt="" title=""/>';
   $content = preg_replace('#(<p>.*?</p>)#','$1'.$img, $content, 1);
   return $content;
});

l'image en vedette s'affiche correctement, mais le titre et l'attribut alt ne s'affichent pas, dites-moi s'il vous plaît quelqu’un dans ce code

2
Mohd Kashif

Peut-être que vous recherchez la fonction suivante.
La partie importante que vous recherchez dans le code est la ligne contenant le pathinfo ,
qui est php et non spécifique à WordPress.

Il existe probablement plusieurs autres options, mais comme personne n’a répondu jusqu’à présent, je pense que cette fonction vous aidera jusqu’à ce que (peut-être mieux) réponse soit ajouté par quelqu'un d'autre.

Vous pouvez faire une sauvegarde du fichier functions.php (présent dans le dossier du thème) avant d’ajouter cette fonction.

Je l'ai testé dans un bac à sable avec le WP version 4.9.6 et il devrait fonctionner parfaitement.

/**
 * Add content on Alt/Title tags
 * 
 * @link    https://wordpress.stackexchange.com/q/306250
 * @version Wordpress V4.9.6 
 * 
 * Source:
 * @see     https://codex.wordpress.org/Function_Reference/wp_get_attachment_url
 * @see     https://secure.php.net/manual/en/function.pathinfo.php
 * @see     https://secure.php.net/manual/en/function.preg-replace.php
 * 
 * @param   [type] $content [description]
 * @return  [type]          [description]
 */
add_filter( 'the_content', 'add_filename_on_img_tags' );
function add_filename_on_img_tags( $content )
{
    // get featured image
    $url = wp_get_attachment_url( get_post_thumbnail_id( $post->ID ) );
    // get filename
    $filename = pathinfo( $arr['name'], PATHINFO_FILENAME );
    // add content on ALT/TITLE tags
    $img = '<img src="' . $url . '" alt="' . $filename . '" title="' . $filename . '"/>';
    // add image after first paragraph
    $content = preg_replace( '#(<p>.*?</p>)#','$1' . $img, $content, 1 );

    return $content;

} // end function

Dans le docblock, vous trouverez des liens contenant des informations sur le code, telles qu'utilisées dans la fonction.

1
Charles

Vous n'avez rien dans le code pour afficher ces valeurs, essayez:

$img = '<img src="'.$url.'" alt="'.get_the_title().'" title="'.get_the_title().'"/>';
0
mayersdesign