修正版:自动给WordPress图片加上文字描述

ė 1,811 6 4
本文最近更新于17.02.23 周四请自行判断新内容

有人可能会说这个问题早已被其他人解决了,但你是否遇到这样一个问题。就是按这个方法,在正文的图片不能按你设置对齐方式对齐了。原class属性没了,这直接导致图片无法像在编辑器中设置的方式对齐了,想要排版的话就不可能实现了。这是效果图:

修正版:自动给WordPress图片加上文字描述

给WordPress自动加alt属性及title,原class没有了,只能自定义

class="all_img"是我加入进去的,上面张图片我原设置的是左对齐结果失效。wordpress图片加title和alt标题的方法,这个同时也被众人使用。此代码放在主题的function.php文件内:

//图片自动加上文字描述以及TAG链接
function auto_post_link($content) {
global $post;
$content = preg_replace('/<\s*img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i', "<img title=\"".$post->post_title."\" src=\"$2\" title=\"".$post->post_title."\" class=\"all_img\" alt=\"".$post->post_title."\" />", $content);
$posttags = get_the_tags();//自动标签开始
if ($posttags) {
foreach($posttags as $tag) {
$link = get_tag_link($tag->term_id);
$keyword = $tag->name;
$content = preg_replace('\'(?!((<.*?)|(<a.*?)))('. $keyword . ')(?!(([^<>]*?)>)|([^>]*?</a>))\'s','<a href="'.$link.'" title="查看更多关于 '.$keyword.' 文章">'.$keyword.'</a>',$content,1);
//最多替换2个重复的词,避免过度SEO 。红色(1)标明替换多少个,可自行更改
}
}
return $content;
}
add_filter ('the_content', 'auto_post_link',0);

这个方法显然不是我想要的,只是以前没找到将就下而已,利于seo。我希望找到原滋原滋的,使图片对齐位置按原设置的不变。功夫不负有心人,在将近4个小时的时间的寻找中我在这个一个叫“爱我主题”的网站找到了这个方法,只是他的原代码有点问题。他提供的原代码如下:

//给文章图片自动添加alt和title信息
add_filter('the_content', 'imagesalt');
function imagesalt($content) {
global $post;
$pattern ="/<a(.*?)href=('|\")(.*?).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>/i";
$replacement = '<a$1href=$2$3.$4$5 alt="'.$post->post_title.'" title="'.$post->post_title.'"$6>';
$content = preg_replace($pattern, $replacement, $content);
return $content;
}

不知道大家发现错误没有,它表示的是给有超链接的图片加title,而且只加在<a标签内。例:<a href="标题" alt="标题"><img src=""></a>。测试证明它根本没有给图片加alt和title信息。无语,我发现这家伙自己都没测试过。解决方法:把a和href 替换为img和src就可以了。最后效果如图:(解决了)

修正版:自动给WordPress图片加上文字描述

给WordPress自动加alt属性及title,保持了原class对齐方式,正常显示

这个方法我找了好久才找到,分享出来与大家享用。以下代码加入主题function.php文件内。

//图片自动加上文字描述以及TAG链接,并保持图片原有对齐方式
//http://qixibang.cc/201609296623.html
function img_title($content) {
global $post;
$pattern ="/<img(.*?)src=('|\")(.*?).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>/i";
$replacement = '<img$1src=$2$3.$4$5 alt="'.$post->post_title.'" title="'.$post->post_title.'"$6>';
$content = preg_replace($pattern, $replacement, $content);
$posttags = get_the_tags();
if ($posttags) {
foreach($posttags as $tag) {
$link = get_tag_link($tag->term_id);
$keyword = $tag->name;
$content = preg_replace('\'(?!((<.*?)|(<a.*?)))('. $keyword . ')(?!(([^<>]*?)>)|([^>]*?</a>))\'s','<a href="'.$link.'" title="查看更多关于 '.$keyword.' 文章">'.$keyword.'</a>',$content,1);//最多替换2个重复的词,避免过度SEO
}
}
return $content;
}
add_filter ('the_content', 'img_title',0);

文/如风
方法:参照网友提供,略修正。

  • 灵魂发问:谁告诉你我国防空洞位置了吗?怕是99%中国人不知道,我也不知道,为什么,因为没告诉咱们啊!怕是很多当官的都不晓得吧!所以别老想着打这个那个,真打起来,你躲都不知道躲哪?最好的位置是到没有军事区,机场等落后位置,因为人家炸这些位置不仅没有利益还会被国际谴责。 --- 2025/03/08
主机推荐
留言区 (1,811阅已有 4 条留言,我也要留言
:网友留言区仅供网友表达其个人观点,并不表明栖息邦最终立场。



  1. 4F

    我图片就不太喜欢添加链接,不过各有所好,偶尔折腾折腾还是挺好的

    2016年10月2日 19:58 回复
  2. 3F

    [呲牙] [呲牙] [呲牙]

    2016年9月30日 18:59 回复
  3. 1F

    喜欢代码

    2016年9月30日 11:19 回复
    1. 2F
      如风 小白来自天朝的朋友 谷歌浏览器 Windows 7

      @管家婆拿去

      2016年9月30日 11:47 回复
管理员登录
注册

提示:点击上下面区域关闭

字号调整

View My Stats
空位 空位
本次加载耗时:0.932s