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 相关文章推荐
PHP截取汉字乱码问题解决方法mb_substr函数的应用
Mar 30 PHP
UCenter Home二次开发指南
May 28 PHP
PHP中Session引起的脚本阻塞问题解决办法
Apr 08 PHP
微信公众平台开发关注及取消关注事件的方法
Dec 23 PHP
CentOS安装php v8js教程
Feb 26 PHP
php从数组中随机选择若干不重复元素的方法
Mar 14 PHP
浅谈PHP中的数据传输CURL
Sep 06 PHP
thinkPHP自定义类实现方法详解
Nov 30 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
Apr 27 PHP
php 7新特性之类型申明详解
Jun 06 PHP
阿里云的WindowsServer2016上部署php+apache
Jul 17 PHP
php下的原生ajax请求用法实例分析
Feb 28 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
re0第二季蕾姆被制作组打入冷宫!艾米莉亚女主扶正,原因唏嘘
2020/04/02 日漫
如何给phpadmin一个保护
2006/10/09 PHP
用php解析html的实现代码
2011/08/08 PHP
PHP使用缓存即时输出内容(output buffering)的方法
2015/08/03 PHP
laravel 使用事件系统统计浏览量的实现
2019/10/16 PHP
js实现ASP分页函数 HTML分页函数
2006/09/22 Javascript
用jscript启动sqlserver
2007/06/21 Javascript
不间断滚动JS打包类,基本可以实现所有的滚动效果,太强了
2007/12/08 Javascript
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
JS定时器实例详细分析
2013/10/11 Javascript
href下载文件根据id取url并下载
2014/05/28 Javascript
js匿名函数的调用示例(形式多种多样)
2014/08/20 Javascript
node.js中的fs.mkdir方法使用说明
2014/12/17 Javascript
jquery ajax分页插件的简单实现
2016/01/27 Javascript
js实现人民币大写金额形式转换
2016/04/27 Javascript
javascript实现起伏的水波背景效果
2016/05/16 Javascript
js对字符串进行编码的方法总结(推荐)
2016/11/10 Javascript
基于jQuery实现Accordion手风琴自定义插件
2020/10/13 Javascript
Javascript之深入浅出prototype
2017/02/06 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
2018/02/10 Javascript
Angular设置别名alias的方法
2018/11/08 Javascript
vue.js的双向数据绑定Object.defineProperty方法的神奇之处
2019/01/18 Javascript
微信小程序性能优化之checkSession的使用
2019/03/06 Javascript
vue实现登录页面的验证码以及验证过程解析(面向新手)
2019/08/02 Javascript
微信小程序实现首页弹出广告
2020/12/03 Javascript
Python中new方法的详解
2019/01/15 Python
关于Pycharm无法debug问题的总结
2019/01/19 Python
对python:threading.Thread类的使用方法详解
2019/01/31 Python
如何在Python对Excel进行读取
2020/06/04 Python
Python实现爬取网页中动态加载的数据
2020/08/17 Python
使用python-cv2实现Harr+Adaboost人脸识别的示例
2020/10/27 Python
Python 多进程、多线程效率对比
2020/11/19 Python
HTML5 LocalStorage 本地存储刷新值还在
2017/03/10 HTML / CSS
Boden澳大利亚官网:英国在线服装公司
2018/08/05 全球购物
应聘面试自我评价
2014/01/24 职场文书
el-table-column 内容不自动换行的解决方法
2022/08/14 Vue.js