web-dev-qa-db-fra.com

bloginfo ('template_directory') img src

Je suis paresseux en train de charger des images avec des URL qui sont ajoutées via des champs personnalisés.

Le plug-in de chargement paresseux que j'utilise nécessite une image d'emplacement réservé dans l'attribut src et l'image réelle dans l'original de données.

http://www.appelsiini.net/projects/lazyload

J'ai besoin de la hauteur et de la largeur de l'image aussi, donc j'utilise wp_get_attachment_image_src().

Mon problème est d'utiliser bloginfo('template_directory') pour obtenir l'image contenant le lieu.

La première image ici ne montre pas les images d'espaces réservés, mais affiche l'URL vers la page.

    <?php   

        $attch_id_1 = pn_get_attachment_id_from_url(get_post_meta($post->ID, 'img1', true));
        $image_attributes_1 = wp_get_attachment_image_src( $attch_id_1, 'full'); 

        $attch_id_2 = pn_get_attachment_id_from_url(get_post_meta($post->ID, 'img2', true));
        $image_attributes_2 = wp_get_attachment_image_src( $attch_id_2, 'full');

        $attch_id_3 = pn_get_attachment_id_from_url(get_post_meta($post->ID, 'img3', true));
        $image_attributes_3 = wp_get_attachment_image_src( $attch_id_3, 'full');

        echo '<img src="'.bloginfo('template_directory').'"/images/img-BG.png" data-original="'.$image_attributes_1[0].'">';

        echo '<img src="http://localhost/wordpress-cd/wp-content/themes/cd/images/img-BG.png" data-original="'.$image_attributes_2[0].'">';

        echo '<img src="http://localhost/wordpress-cd/wp-content/themes/cd/images/img-BG.png" data-original="'.$image_attributes_3[0].'">';

    ?>

Le source de la page ressemble à ceci.

http://localhost/wordpress-cd/wp-content/themes/cd<img src="/images/img-BG.png"

Pourquoi ne puis-je pas utiliser bloginfo('template_directory') ici?

Comment puis-je sortir les images correctement?

1
Simon Cooper

Vous ne pouvez pas utiliser bloginfo() lorsque vous produisez en utilisant echo car bloginfo it self met également une chaîne à l'aide de echo. Ci-dessous fonctionnera pour vous, vous avez également un double devis supplémentaire que j’ai supprimé ....

<?php   

        $attch_id_1 = pn_get_attachment_id_from_url(get_post_meta($post->ID, 'img1', true));
        $image_attributes_1 = wp_get_attachment_image_src( $attch_id_1, 'full'); 

        $attch_id_2 = pn_get_attachment_id_from_url(get_post_meta($post->ID, 'img2', true));
        $image_attributes_2 = wp_get_attachment_image_src( $attch_id_2, 'full');

        $attch_id_3 = pn_get_attachment_id_from_url(get_post_meta($post->ID, 'img3', true));
        $image_attributes_3 = wp_get_attachment_image_src( $attch_id_3, 'full');

        echo '<img src="'.get_bloginfo('template_directory').'/images/img-BG.png" data-original="'.$image_attributes_1[0].'">';

        echo '<img src="http://localhost/wordpress-cd/wp-content/themes/cd/images/img-BG.png" data-original="'.$image_attributes_2[0].'">';

        echo '<img src="http://localhost/wordpress-cd/wp-content/themes/cd/images/img-BG.png" data-original="'.$image_attributes_3[0].'">';

    ?>
7
Rajeev Vyas

Cela devrait marcher

$so97086_template_directory = get_bloginfo('template_directory');

Et remplacer

bloginfo('template_directory') with $so97086_template_directory;
0
Alex Dumitru

Veuillez noter que get_template_directory_uri () est préféré à get_bloginfo ('template_directory').

Veuillez vous référer à ceci pour plus d’informations: get_template_directory () vs bloginfo ('template_directory') vs TEMPLATEPATH

0
Fränk