A-A+

wordpress 为上一篇下一篇文章添加 title 属性的方法

2015年08月24日 PHP开源系统 评论 2 条 阅读 134 views 次

在使用 wordpress 过程中,发现文章内容中的上一篇下一篇链接,并没有 title 属性,这对于SEO来说,不太友好,在检查了 wordpress 主题上一篇下一篇的代码后,发现其使用的是 previous_post_link 的函数,这个函数本身是不带 title 属性的,我们先来看一下 wordpress 主题是如何调用这个函数的,如下代码:

  1. <?php previous_post_link('%link','<<') ?>  <?php next_post_link('%link','>>') ?>

解析出来之后大概就是下面这个样子了,如下所示:

  1. <a href="……"> …… </a>  <a href="……"> …… </a>

实际就是一个简单的 a 标记链接,不附加任何属性,想要添加 title 或者 target 等属性的话,可以修改这个函数的核心代码,但是有一个缺点就是一旦 wordpress 进行更新升级的时候,如果涉及到这个文件,还要重新修改,所以夏日博客的建议是,再找可以替代的函数,不知道大家有没有接触过 get_previous_post、get_next_post 这两个函数,通过这两个函数是可以获取到上一篇下一篇的信息的,也就是说这两个函数进行简单的修改后是完全可以代替 previous_post_link 和 next_post_link 两个函数来实现增加 A 标记其它属性的。

好了,先找到 wordpress 主题中如下代码:

  1. <?php previous_post_link('%link','<<') ?>  <?php next_post_link('%link','>>') ?>

将这一段代码替换为如下的代码:

  1. <?php
  2. $prev_post = get_previous_post();
  3. if (!emptyempty$prev_post )): ?>
  4.   <a title="<?php echo $prev_post->post_title; ?>" href="<?php echo get_permalink( $prev_post->ID ); ?>"><?php echo $prev_post->post_title; ?></a>
  5. <?php endif; ?>
  6. <?php
  7. $next_post = get_next_post();
  8. if (!emptyempty$next_post )): ?>
  9.   <a title="<?php echo $next_post->post_title; ?>" href="<?php echo get_permalink( $next_post->ID ); ?>"><?php echo $next_post->post_title; ?></a>
  10. <?php endif; ?>

仔细看上面的代码,已经在 a 标记中添加了 title 属性,如果想要链接在新窗口中打开的话,再添加一个target:"_blank" 的代码就可以了。

标签:

2 条留言  访客:2 条  博主:0 条

  1. 创意应用

    这个不错,我也去加一下。

    • smiling

      有利于SEO的优化。

给我留言