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仿discuz分页效果代码
Oct 02 PHP
php 破解防盗链图片函数
Dec 09 PHP
ajax实现无刷新分页(php)
Jul 18 PHP
PHPThumb图片处理实例
May 03 PHP
PHP 二维数组根据某个字段排序的具体实现
Jun 03 PHP
php实现将字符串按照指定距离进行分割的方法
Mar 14 PHP
PHP实现事件机制实例分析
Jun 26 PHP
php版微信自动登录并获取昵称的方法
Sep 23 PHP
PHP分页显示的方法分析【附PHP通用分页类】
May 10 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
Jun 12 PHP
PHP实现批量修改文件名的方法示例
Sep 18 PHP
用php定义一个数组最简单的方法
Oct 04 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
AM/FM收音机的安装与调试
2021/03/02 无线电
用header 发送cookie的php代码
2007/03/16 PHP
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
2007/09/24 PHP
php的$_FILES的临时储存文件与回收机制实测过程
2013/07/12 PHP
深入解析PHP中foreach语句控制数组循环的用法
2015/11/30 PHP
php中bind_param()函数用法分析
2017/03/28 PHP
PHP基于ORM方式操作MySQL数据库实例
2017/06/21 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
List all the Databases on a SQL Server
2007/06/21 Javascript
javascript replace()正则替换实现代码
2010/02/26 Javascript
javascript 图片裁剪技巧解读
2012/11/15 Javascript
javascript中expression的用法整理
2014/05/13 Javascript
JavaScript不刷新实现浏览器的前进后退功能
2014/11/05 Javascript
Bootstrap按钮下拉菜单组件详解
2016/05/10 Javascript
AngularJs基于角色的前端访问控制的实现
2016/11/07 Javascript
全面解析Node.js 8 重要功能和修复
2017/06/02 Javascript
Vue.js实现大转盘抽奖总结及实现思路
2019/10/09 Javascript
Vue 的 v-model用法实例
2020/11/23 Vue.js
Python检测网络延迟的代码
2018/05/15 Python
Django框架实现逆向解析url的方法
2018/07/04 Python
python3使用QQ邮箱发送邮件
2020/05/20 Python
Python3 assert断言实现原理解析
2020/03/02 Python
python中for in的用法详解
2020/04/17 Python
css3的@media属性实现页面响应式布局示例代码
2014/02/10 HTML / CSS
HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例
2017/08/18 HTML / CSS
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
AVON雅芳官网:世界上最大的美容化妆品公司之一
2016/11/02 全球购物
打印机墨盒:123Inkjets
2017/02/16 全球购物
创业计划书——互联网商机
2014/01/12 职场文书
集体生日活动方案
2014/08/18 职场文书
关于运动会广播稿300字
2014/10/05 职场文书
2014年团委工作总结
2014/11/13 职场文书
雷锋之歌观后感
2015/06/10 职场文书
2016年党支部公开承诺书
2016/03/25 职场文书
浅谈golang 中time.After释放的问题
2021/05/05 Golang
Python爬虫之爬取最新更新的小说网站
2021/05/06 Python