使用title标签作为WordPress文章图片的alt属性

很多站长在发表文章的时候,往往会忘记给WordPress文章图片添加说明,就会导致大量文章图像缺少alt属性,不利于我们SEO优化,为了方便我们可以使用title标签作为WordPress文章图片的alt属性。

使用title标签作为WordPress文章图片的alt属性 (https://www.wp-admin.cn/) WordPress教程 第1张

只需将下面的代码添加到当前主题函数模板functions.php中即可。

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’);

代码中虽然加了缓冲区,但还是会降低效率,建议安装静态缓存插件。

附其它方法:

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);

相关推荐

发表回复

房先生
我们将24小时内回复。
2024-04-21 06:48:55
您好,有任何疑问请与我们联系!
您的工单我们已经收到,我们将会尽快跟您联系!
[QQ客服]
2781198
加我微信
[电话联系]
13585372227
[电子邮件]
[email protected]
取消

选择聊天工具: