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

发布时间:5个月前 来源:互联网

WordPress站长在发表文章时,往往不注意给图片添加说明(ALT),导致大量文章中的图像缺少 ALT属性,不利于SEO。网上有很多自动给文章图片添加ALT属性的教程,这里转个国外的方法供参考。


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

wordpress

只需将下面的代码添加到当前主题函数模板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);
特别声明:以上文章来源互联网,由环络收集整理,如内容、图片有任何版权问题,请联系我们进行处理。

很高兴能够帮助您

欢迎联系我们,希望能为您有所帮助!

很高兴能够帮助您

搜索犹豫不如咨询1次

主营项目:网站建设,手机网站,响应式网站,SEO优化,小程序开发,版权登记,商标注册等

立即咨询 13513822110
在线客服
Hi,我来帮您!