添加自动超链接到图像

时间:2012-04-26 09:36:37

标签: image wordpress hyperlink

我为图片创建了一个wordpress博客。在发布所有帖子时,我没有使用wordpress编辑器上传图像。相反,我使用FillaZilla上传图像。然后,在wordpress编辑器中,我手动只在所有帖子中写入图像标签(下面)并发布它。所有帖子都不包含文字,只包含图片。像这样,

<img alt="" title="" src=""></img>

现在我想问你的是,我希望所有帖子中的图像都能获得与图像src相同的自动超链接地址。我的wordpress博客中有超过200篇博文。我不想一个一个地编辑所有这些。这是wordpress内容区域的编码,

<div class="post-entry">
                                            <p><img src='http://www.mywebsite.com/wp-content/uploads/2012/04/sun.jpg' title="sun" alt="sun" /></p>

</div>

有人可以帮我吗?如何添加超链接到图像?我的wordpress主题页面中是否有任何代码可以放入录入后的div中?

@ chandu-vkm(在评论中)解释了我正在寻找的东西。现在我还有一个问题。当我在img之前添加一个span标签时,提到的代码@ chandu-vkm不允许我在img标签之前添加span标签。相反,它将place标记放在p标记之外,如下面的代码所示。

<div class="post_div">
<span class="entry"></span>
<p>
<img src='http://www.mywebsite.com/wp-content/uploads/2012/04/sun.jpg' title="Cute Teddy Bear" alt="Cute Teddy Bear" />
</p>
</div>

但是我希望在p之后放置跨度,就像这样。

 <div class="post_div">
        <p>
         <span class="entry"></span>
        <img src='http://www.mywebsite.com/wp-content/uploads/2012/04/sun.jpg' title="Cute Teddy Bear" alt="Cute Teddy Bear" />
        </p>
    </div>

有人请帮助我。

2 个答案:

答案 0 :(得分:2)

你可以用一些jquery

来做
<div class="post_div">
    <img src='http://www.mywebsite.com/wp-content/uploads/2012/04/sun.jpg' title="sun" alt="sun" />
</div>
像这样

$('.post_div img').each(function(){
$(this).wrap(function() {
  return '<a href="' + $(this).attr('src') + '" />';
})   
});

此处示例http://jsfiddle.net/a4PYd/

答案 1 :(得分:0)

如果您确定所有帖子内容仅包含<img>标记,则可以将此代码段添加到 functions.php 文件中:

function hyperlink_all_my_content( $content ) {
    $link = "http://www.somelink.com";
    return "<a href='$link'>$content</a>";
}
add_filter( 'the_content', 'hyperlink_all_my_content' );

请注意,这会链接您的所有内容,即使是在您的wordpress页面上也是如此。

编辑:

function hyperlink_all_my_content( $content ) {

    $matches = array();
    $nummatches = preg_match("/src=['|\"](.*)['|\"]/", $content, $matches);
    return "<a href='" . $matches[1] . "'>$content</a>";
}
add_filter( 'the_content', 'hyperlink_all_my_content' );