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

2017-04-12 0 377 百度已收录

最近在帮助一个客户处理问题的时候发现一个小问题,他想实现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’ );  
收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

所有文章为演示数据,不提供下载地址,版权归原作者所有,仅提供演示效果!

模板下载吧 WP技术 wordpress开发:网页标题title调用代码模块及函数意义讲解 https://www.mbxzb.cn/blog/file/wordpress/3425.html

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

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

相关文章

评论
暂无评论
wordpress开发:网页标题title调用代码模块及函数意义讲解-海报

分享本文封面