wordpress开发:网页标题title调用代码模块及函数意义讲解

最近在帮助一个客户处理问题的时候发现一个小问题,他想实现wordpress网站标题的自定义,包括文章列表分页也实现不同页面不同显示。这个需求需要通过标题自定义的代码进行修改实现。

然而我们在处理这个问题的时候发现,他所使用的这个主题在头部中并没有常规的<title></title>,有的只是一个wp_head()函数,当顺着这个函数搜索查找发现,其实这是因为wordpress4.4版本中做的一个更新导致的。

wordpress4.4版本之前标题调用方式:

  1. <head>
  2. <title><?php wp_title( '|', true, 'rightright' ); ?></title>
  3. <?php wp_head(); ?>
  4. </head>

wordpress更新后版本标题实现方式:
1、在主题文件的functions.php中添加以下函数:

  1. /**
  2. *新的 WordPress 网页标题设置方法
  3. */
  4. function add_theme_support_title(){
  5. add_theme_support( 'title-tag' );
  6. }
  7. add_action( 'after_setup_theme', 'add_theme_support_title' );

2、然后在主题头部文件header.php中添加wordpress的hook函数:

  1. <head>
  2. <?php wp_head(); ?>
  3. </head>

通过以上方式就可以在wordpress各网页中添加一个title的标签了,首页标题格式显示为:站点标题 – 网站描述(备注:副标题),文章页面显示为:当前页面标题 – 站点标题,如这篇文章默认的显示为:更新的wordpress页面标题调用方式 – 学建站网

新的标题实现方式是通过wordpress默认文件实现的标题展现,然而如果在wordpress4.1之前的一些版本,这种方式的标题展示并不适用,关于wordpress的版本更新,确保wordpress版本最新,这样可以有效保证网站安全。不过你还是喜欢使用之前的一些老掉牙的本版本,也可以在函数文件functions.php文件中添加一个向下兼容的代码:

  1. /*-----------------------------------------------------------------------------------*/
  2. # Titles for WordPress before 4.1
  3. /*-----------------------------------------------------------------------------------*/
  4. if ( ! function_exists( '_wp_render_title_tag' ) ) :
  5. function tie_slug_render_title() {
  6. ?>
  7. <title><?php wp_title( '|', true, 'right' ); ?></title>
  8. <?php
  9. }
  10. add_action( 'wp_head', 'tie_slug_render_title' );
  11. endif;

这种新的标题实现方式还为我们提供了一些自定义标题的hook信息:

  • pre_get_document_title:可以让你完全控制标题内容,如果该过滤器不返回空,则会将返回值直接当做标题。
  • document_title_separator:新的标题分隔符是 “-”,你可以用这个过滤器来修改,比如改成之前的 “|”。
  • document_title_parts:自定义标题的各个组成部分,它们分别是:标题、页码、网站描述和网站名称。

例如我们想让首页只显为站点标题,我就可以使用新的hook信息document_title_parts在函数文件中添加如下代码:

  1. /**
  2. *首页标题不显示网站描述
  3. */
  4. function wpt_remove_tagline( $title ){
  5. if( is_home() && isset( $title['tagline'] ) ) unset( $title['tagline'] );
  6. return $title;
  7. }
  8. add_filter( 'document_title_parts', 'wpt_remove_tagline' );

而如果我们同时也想让我们分类的每个分页页面标题也显示的不同,也可以通过添加如下代码实现:

  1. /** 
  2. *首页标题不显示网站描述 
  3. *分类分页页面标题显示不同 
  4. */  
  5. function wpt_remove_tagline( $title ){  
  6. if( is_home() && isset( $title['tagline'] ) ) unset( $title['tagline'] );  
  7. return $title;  
  8. if( is_category() );  
  9. return  single_cat_title(); $paged = get_query_var('paged'); if ($paged > 1 ) printf(' - 第 %s 页 ',$paged); echo " - "; bloginfo('name');  
  10. }  
  11. add_filter( 'document_title_parts', 'wpt_remove_tagline' );  

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有M币奖励和额外收入!

模板下载吧 Wordpress教程 wordpress开发:网页标题title调用代码模块及函数意义讲解 https://www.mbxzb.com/blog/wordpress/3425.html

从明天起,做一个幸福的人,喂马、劈柴、周游世界…

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用
查看详情

相关文章

评论
暂无评论
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 威武 友军 顶贴
官方客服团队

为您解决烦忧 - 24小时在线 专业服务