将title标签作为WordPress文章图片的ALT

知更鸟 2020年7月16日13:10:26WordPress24442

WordPress站长在发表文章时,往往不注意给图片添加说明(ALT),导致大量文章中的图像缺少 ALT属性,不利于SEO。网上有很多自动给文章图片添加ALT属性的教程,这里转个国外的方法供参考。文章源自知更鸟-https://zmingcx.com/use-title-tag-as-alt-of-wordpress-image.html

将title标签作为WordPress文章图片的ALT文章源自知更鸟-https://zmingcx.com/use-title-tag-as-alt-of-wordpress-image.html

只需将下面的代码添加到当前主题函数模板functions.php中即可。文章源自知更鸟-https://zmingcx.com/use-title-tag-as-alt-of-wordpress-image.html

function callback($buffer) {
	/* modify buffer here, and then return the updated code*/
	$title='';
	$res = preg_match('/<title>(.*?)<\/title>/', $buffer, $title_matches);

	if ($res) {
		/*Clean up title: remove EOL's and excessive whitespace.*/
		$title = preg_replace('/\s+/', ' ', $title_matches[1]);
		$title = trim($title);
	}

	preg_match_all('/<img (.*?)\/>/', $buffer, $images);
	if(!is_null($images)) {
		foreach($images[1] as $index => $value) {
			preg_match('/alt="(.*?)"/', $value, $img);
			preg_match('/alt=\'(.*?)\'/', $value, $img2);
			if(!is_null($images)) {
				if((!isset($img[1]) || $img[1] == '') || (!isset($img2[1]) || $img2[1] == '')) {
					$new_img = str_replace('<img', '<img alt="'.$title.'"', $images[0][$index]);
					$buffer = str_replace($images[0][$index], $new_img, $buffer);
				}
			}
		}
	}

return $buffer;
}

function buffer_start() { ob_start(); }

function buffer_end() { echo callback(ob_get_clean()); }

add_action('wp', 'buffer_start', 0);
add_action('wp_footer', 'buffer_end');

代码中虽然加了缓冲区,但还是会降低效率,建议安装静态缓存插件。文章源自知更鸟-https://zmingcx.com/use-title-tag-as-alt-of-wordpress-image.html

代码源自:https://deano.me/2017/03/wordpress-fill-missingempty-alt-tags-with-title-for-seo文章源自知更鸟-https://zmingcx.com/use-title-tag-as-alt-of-wordpress-image.html

附其它方法:文章源自知更鸟-https://zmingcx.com/use-title-tag-as-alt-of-wordpress-image.html

function img_alt($content) {
	global $post;
	preg_match_all('/<img (.*?)\/>/', $content, $images);
	if(!is_null($images)) {
		foreach($images[1] as $index => $value) {
			$new_img = str_replace('<img', '<img alt="'.get_the_title().'-'.get_bloginfo('name').'" title="'.get_the_title().'-'.get_bloginfo('name').'"', $images[0][$index]);
			$content = str_replace($images[0][$index], $new_img, $content);
		}
	}
	return $content;
}
add_filter('the_content', 'img_alt', 99999);
文章源自知更鸟-https://zmingcx.com/use-title-tag-as-alt-of-wordpress-image.html
文章源自知更鸟 | 崇尚专注 追求极致 分享交流WordPress经验与技巧,关注前端设计与网站制作,打造自己专属的WordPress主题,让你的博客与众不同!
weinxin
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
让 WordPress 页面支持添加分类及标签 WordPress

让 WordPress 页面支持添加分类及标签

默认WordPress页面不支持选择分类和添加标签,可以通过下面的方法为页面添加分类及标签。 将下面代码添加到当前主题函数模板functions.php中: function san_add_taxo...
自定义 WordPress 文章显示数量 WordPress

自定义 WordPress 文章显示数量

一般我们都在设置 → 阅读 → 博客页面至多显示中,统一设置每个页面的文章显示数量,如果想某些页面自定义显示数量,不受这个控制,可以通过下面的代码实现。 自定义 WordPress 文章显示数量 将下...
WordPress 在文章页以标签云形式显示文章标签 WordPress

WordPress 在文章页以标签云形式显示文章标签

大家都看过WordPress 标签小工具的标签云,标签按文章数显示不同的大小,看上去很生动,那么在文章页面是否也可以用标签云的形式调用该文章标签呢?当然是可以的。 WordPress 在文章页以标签云...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定

评论:2   其中:访客  2   博主  0
    • Yan
      Yan 5

      新版wp编辑文章时,作者都直接在图片下方标记figcaptioin了,title和alt平时都懒得写。请问有没有直接调取图片figcaption并加入title和alt的方法。

      • Yan
        Yan 5

        已解决。