也想出现在这里?联系我们
您好!欢迎来到模板下载吧!本站资源24小时自动发货,请放心选购,一次付费,终身下载,售后请提交工单!

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

半岛未凉°【美工/技术】 2017-04-12 WP技术 1584 已收录 本文共2216个字,预计阅读需要6分钟。
  • 文章介绍
  • 快速入门
  • 增值服务

最近在帮助一个客户处理问题的时候发现一个小问题,他想实现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' );  
温馨提示:本文最后更新于2019年3月19日,已超过 2 年没有更新,如果文章内容或图片资源失效,请留言反馈,模板下载吧会及时处理,谢谢!

上一篇:

下一篇:

wordpress开发:网页标题title调用代码模块及函数意义讲解:等您坐沙发呢!
大牛,别默默的看了,快来点评一下吧!:)。

您必须登录后才能发表评论哦!:)

站内登录 QQ登录 微博登录
wordpress自适应高级图片shejigh主题

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系作者

模板下载吧,累计帮助1000+用户成功建站,为草根创业提供助力!

立刻开启你的建站之旅
现在加入模板下载吧,注册一个账号
  • 模板下载吧拥有海量网站模板及源码,站长亲测干净无后门。

  • 注册即能下载免费模板栏目资源,帮您更快的完成网站建设。

  • 每日更新模板资源,每日精品推荐,及时获取最新模板资源流行去向。

  • 完美的售后服务,帮助草根站长、企业等成功建站。

  • 将您最爱的资源收藏,建立自己的资源库,并与朋友分享。