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 字符串操作入门教程
Dec 06 PHP
认识并使用PHP超级全局变量
Jan 26 PHP
基于php iconv函数的使用详解
Jun 09 PHP
php curl选项列表(超详细)
Jul 01 PHP
thinkPHP实现瀑布流的方法
Nov 29 PHP
PHP动态输出JavaScript代码实例
Feb 12 PHP
php析构函数的简单使用说明
Aug 24 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
May 23 PHP
php中curl和soap方式请求服务超时问题的解决
Jun 11 PHP
PHP微信发送推送消息乱码的解决方法
Feb 28 PHP
thinkphp整合系列之极验滑动验证码geetest功能
Jun 18 PHP
Laravel 登录后清空COOKIE的操作方法
Oct 14 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
PHP+Tidy-完美的XHTML纠错+过滤
2007/04/10 PHP
PHP中static关键字原理的学习研究分析
2011/07/18 PHP
PHP下打开phpMyAdmin出现403错误的问题解决方法
2013/05/23 PHP
php的zip解压缩类pclzip使用示例
2014/03/14 PHP
功能强大的php文件上传类
2016/08/29 PHP
简述php环境搭建与配置
2016/12/05 PHP
PHP正则匹配到2个字符串之间的内容方法
2018/12/24 PHP
Flex通过JS获取客户端IP和计算机名的实例代码
2013/11/21 Javascript
中止javascript执行的方法
2014/02/14 Javascript
JS+CSS实现DIV层的展开、收缩效果
2016/01/28 Javascript
使用jQuery中的wrap()函数操作HTML元素的教程
2016/05/24 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
利用Query+bootstrap和js两种方式实现日期选择器
2017/01/10 Javascript
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
element-ui 表格实现单元格可编辑的示例
2018/02/26 Javascript
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
2018/08/29 Javascript
微信小程序实现左右列表联动
2020/05/19 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
2019/03/15 Javascript
react quill中图片上传由默认转成base64改成上传到服务器的方法
2019/10/30 Javascript
Javascript模块化机制实现原理详解
2020/04/02 Javascript
Python Selenium Cookie 绕过验证码实现登录示例代码
2018/04/10 Python
Python实现简单http服务器
2018/04/12 Python
python 去除二维数组/二维列表中的重复行方法
2019/01/23 Python
PyTorch基本数据类型(一)
2019/05/22 Python
Python如何实现FTP功能
2020/05/28 Python
Python读写压缩文件的方法
2020/07/30 Python
详解Python中的路径问题
2020/09/02 Python
Perfume’s Club意大利官网:欧洲美妆电商
2019/05/03 全球购物
加拿大的标志性百货公司:Hudson’s Bay(哈得逊湾)
2019/09/03 全球购物
利物浦足球俱乐部官方商店(美国):Liverpool FC US
2019/10/09 全球购物
万豪国际住宅与别墅集团:Homes & Villas by Marriott International
2020/10/08 全球购物
讲文明知礼仪演讲稿
2014/09/13 职场文书
2014年保险公司工作总结
2014/11/22 职场文书
2015年会计个人工作总结
2015/04/02 职场文书
如何利用STAR法则制作留学文书?
2019/08/26 职场文书
python基础之爬虫入门
2021/05/10 Python