WordPress开发中用于标题显示的相关函数使用解析


Posted in PHP onJanuary 07, 2016

single_cat_title()函数
single_cat_title()函数,日常中我们很少会用到,但这个函数会给我们解决很多问题,诸如当前页面的目录、标签,该函数不依附于 WordPress 主循环中,也不能放入主循环中使用。

描述
获取当前页面的分类、标签。

<?php single_cat_title($prefix,$display); ?>
  • $prefix :用于设置在标题之前显示的内容。
  • $display :用于设置是直接显示还是返回到变量。

实例
在此摘取 WordPress 2011 默认主题中,category.php 文件 第18行左右位置的代码

<?php
printf( __( 'Category Archives: %s', 'twentyeleven' ), '<span>' . single_cat_title( '', false ) . '</span>' );
?>

get_the_title 和 the_title
get_the_title 和 the_title 两个函数用来在文章页面显示文章标题的函数,之所以将两个函数合并到一篇文章里面去是因为这两个函是一个实现,只不过 the_title 默认直接显示,get_the_title 默认返回字符串,如果你对此心存疑惑,那请你往下看。

函数详解
get_the_title 和 the_title这两个函数主要用于在循环中显示当前文章的标题,请注意 the_title 这个函数必须使用在循环中。
两者的区别在于,get_the_title仅能以字符串形式返回文章标题,而 the_title 可以设置标题前后的自定义字符,以及是显示还是返回字符串。

the_title 函数使用、参数详解

<?php the_title( $before, $after, $echo ); ?>
  • $before标题前的字符
  • $after标题后的字符
  • $echo显示、还是返回字符串,默认为true

the_title示例

<?php the_title( ‘=>', ‘<=' ); ?>

以本文为例,我们将得到以下这样的标题:

‘=>get_the_title 和 the_title<='

get_the_title 函数使用、参数详解

<?php $myTitle = get_the_title($ID); ?>

以上代码我们将得到文章标题的变量$myTitle;
$ID 用于设置文章 ID ,当然在循环中我们可以省略此参数。

get_the_title 示例

<?php
 $myTitle = get_the_title($ID); 
 echo $mytitle.'【标题演示】';
?>

我们将得到

get_the_title 和 the_title【标题演示】

总结
说了这么多,不知道对您是否有所帮助?
总的来说 the_title 是 get_the_title的更高一级封装。就像在 wp_title中说的那样,更高级封装,虽然使用起来简单,但能折腾花样相对少了点。
下面是该两个函数的源代码

the_title 函数声明
该函数位于 wp-include/post-template.php 文件的 43 ? 55行左右的位置

<?php
/**
 * Display or retrieve the current post title with optional content.
 *
 * @since 0.71
 *
 * @param string $before Optional. Content to prepend to the title.
 * @param string $after Optional. Content to append to the title.
 * @param bool $echo Optional, default to true.Whether to display or return.
 * @return null|string Null on no title. String if $echo parameter is false.
 */
function the_title($before = '', $after = '', $echo = true) {
 $title = get_the_title();
 
 if ( strlen($title) == 0 )
 return;
 
 $title = $before . $title . $after;
 
 if ( $echo )
 echo $title;
 else
 return $title;
}
?>

get_the_title 函数声明
该函数位于 wp-include/post-template.php 文件的 103 ? 118行左右的位置

<?php
/**
 * Retrieve post title.
 *
 * If the post is protected and the visitor is not an admin, then "Protected"
 * will be displayed before the post title. If the post is private, then
 * "Private" will be located before the post title.
 *
 * @since 0.71
 *
 * @param int $id Optional. Post ID.
 * @return string
 */
function get_the_title( $id = 0 ) {
 $post = &get_post($id);
 
 $title = isset($post->post_title) ? $post->post_title : '';
 $id = isset($post->ID) ? $post->ID : (int) $id;
 
 if ( !is_admin() ) {
 if ( !empty($post->post_password) ) {
  $protected_title_format = apply_filters('protected_title_format', __('Protected: %s'));
  $title = sprintf($protected_title_format, $title);
 } else if ( isset($post->post_status) && 'private' == $post->post_status ) {
  $private_title_format = apply_filters('private_title_format', __('Private: %s'));
  $title = sprintf($private_title_format, $title);
 }
 }
 return apply_filters( 'the_title', $title, $id );
}
?>
PHP 相关文章推荐
基于mysql的bbs设计(一)
Oct 09 PHP
某大型网络公司应聘时的笔试题目附答案
Mar 27 PHP
PHP开发中常用的三个表单验证函数使用小结
Mar 03 PHP
PHP中使用CURL伪造来路抓取页面或文件
May 04 PHP
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
Jul 15 PHP
php类的扩展和继承用法实例
Jun 20 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
May 27 PHP
PHP封装的PDO数据库操作类实例
Jun 21 PHP
PHP实现的mysql主从数据库状态检测功能示例
Jul 20 PHP
OAuth认证协议中的HMACSHA1加密算法(实例)
Oct 25 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
May 23 PHP
解决windows上php xdebug 无法调试的问题
Feb 19 PHP
PHP中strcmp()和strcasecmp()函数字符串比较用法分析
Jan 07 #PHP
WordPress中调试缩略图的相关PHP函数使用解析
Jan 07 #PHP
PHP中substr函数字符串截取用法分析
Jan 07 #PHP
PHP中addcslashes与stripcslashes函数用法分析
Jan 07 #PHP
使用php+swoole对client数据实时更新(一)
Jan 07 #PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
Jan 07 #PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
Jan 07 #PHP
You might like
2020年4月放送决定!第2期TV动画《邪神酱飞踢》视觉图&主题曲情报公开!
2020/03/06 日漫
星际争霸 Starcraft 发展史
2020/03/14 星际争霸
在php中判断一个请求是ajax请求还是普通请求的方法
2011/06/28 PHP
PHP使用mongoclient简单操作mongodb数据库示例
2019/02/08 PHP
jQuery+CSS 半开折叠效果原理及代码(自写)
2013/03/04 Javascript
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
JavaScript中模拟实现jsonp
2015/06/19 Javascript
浅谈JavaScript对象的创建方式
2016/06/13 Javascript
vue实现在一个方法执行完后执行另一个方法的示例
2018/08/25 Javascript
jQuery Datatables 动态列+跨列合并实现代码
2020/01/30 jQuery
创建nuxt.js项目流程图解
2020/03/13 Javascript
Python下线程之间的共享和释放示例
2015/05/04 Python
python初学之用户登录的实现过程(实例讲解)
2017/12/23 Python
python-str,list,set间的转换实例
2018/06/27 Python
Python Dataframe 指定多列去重、求差集的方法
2018/07/10 Python
idea创建springMVC框架和配置小文件的教程图解
2018/09/18 Python
Mac下Anaconda的安装和使用教程
2018/11/29 Python
Python3安装pip工具的详细步骤
2019/10/14 Python
Python内置类型性能分析过程实例
2020/01/29 Python
python numpy--数组的组合和分割实例
2020/02/24 Python
Anaconda的安装及其环境变量的配置详解
2020/04/22 Python
Python 利用OpenCV给照片换底色的示例代码
2020/08/03 Python
Python自动创建Excel并获取内容
2020/09/16 Python
乌克兰珠宝大卖场:Zlato.ua
2020/09/27 全球购物
大家访活动实施方案
2014/03/10 职场文书
政风行风建设责任书
2014/07/23 职场文书
职工年度考核评语
2014/12/31 职场文书
2015年学生会工作总结范文
2015/03/31 职场文书
消夏晚会主持词
2015/06/30 职场文书
社区服务理念口号
2015/12/25 职场文书
Android Flutter实现3D动画效果示例详解
2022/04/07 Java/Android
Python使用mitmproxy工具监控手机 下载手机小视频
2022/04/18 Python
vue使用watch监听属性变化
2022/04/30 Vue.js
索尼ICF-36收音机评测
2022/04/30 无线电
vue实现简易音乐播放器
2022/08/14 Vue.js