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

有人可能会说这个问题早已被其他人解决了,但你是否遇到这样一个问题。就是按这个方法,在正文的图片不能按你设置对齐…

有人可能会说这个问题早已被其他人解决了,但你是否遇到这样一个问题。就是按这个方法,在正文的图片不能按你设置对齐方式对齐了。原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*imgs+[^>]*?srcs*=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://yijiexiaomin.com/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);

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

类别:WordPress技巧

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册