博客信息(‘模板目录’)img源

时间:2013-04-24 作者:Simon Cooper

我懒得加载一些带有URL的图像,这些URL是通过自定义字段添加的。

我使用的延迟加载插件需要在src 属性和原始数据中的实际图像。

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

我还需要图像的高度和宽度,所以我一直在使用wp_get_attachment_image_src().

我的问题是使用bloginfo(\'template_directory\') 获取保存图像的位置。

这里的第一个图像不显示占位符图像,但会将url输出到页面。

    <?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].\'">\';

    ?>
页面的源代码如下所示。

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

为什么我不能使用bloginfo(\'template_directory\') 在这里

如何正确输出图像?

3 个回复
最合适的回答,由SO网友:Rajeev Vyas 整理而成

您不能使用bloginfo() 当您使用echo 因为bloginfo本身也使用echo. 下面将为你工作,你也有额外的双引号,我已经删除。。。。

<?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].\'">\';

    ?>

SO网友:Alex Dumitru

这应该管用

$so97086_template_directory = get_bloginfo(\'template_directory\');
和替换

bloginfo(\'template_directory\') with $so97086_template_directory;

SO网友:Fränk

请注意,get\\u template\\u directory\\u uri()优先于get\\u bloginfo(\'template\\u directory\')。

有关更多信息,请参阅:get_template_directory() vs bloginfo( 'template_directory' ) vs TEMPLATEPATH

结束

相关推荐

GET_TEMPLATE_DIRECTORY()VS BLOGINO(‘TEMPLATORIRECTORY’)VS TEMPLATEPATH

我在读这篇文章:Common WordPress Development Mistakes and How to Fix Them, 他们在书中写道:获取主题位置:如果您使用的是TEMPLATEPATH或bloginfo(“template\\u目录”)。Stop! 您应该使用非常有用的get\\u template\\u directory(),如上面的示例所示。但他没有详细说明。有什么不好的bloginfo()?