4

我为图片创建了一个 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 主题页面的 post-entry div 中?

@chandu-vkm 解释了(在评论中)我正在寻找的东西。现在我还有一个问题。当我在 img 之前添加 aa 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>

但我希望 span 放在 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>

有人请帮帮我。

4

2 回答 2

3

你可以用一些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/

于 2012-04-26T10:07:11.460 回答
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' );
于 2012-04-26T09:53:52.907 回答