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中正则表达式的使用方法描述
Jul 30 PHP
如何在php中正确的使用json
Aug 06 PHP
php统计时间和内存使用情况示例分享
Mar 13 PHP
PHP生成随机密码方法汇总
Aug 27 PHP
标准版Eclipse搭建PHP环境的详细步骤
Nov 18 PHP
CI框架文件上传类及图像处理类用法分析
May 18 PHP
PHP序列化操作方法分析
Sep 28 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
Feb 20 PHP
PHP编程实现微信企业向用户付款的方法示例
Jul 26 PHP
php中curl和soap方式请求服务超时问题的解决
Jun 11 PHP
PHP PDOStatement::fetch讲解
Jan 31 PHP
PHP解决高并发问题
Apr 01 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高级对象构建 多个构造函数的使用
2012/02/05 PHP
php生成二维码的几种方式整理及使用实例
2013/06/03 PHP
基于PHPExcel的常用方法总结
2013/06/13 PHP
php实现给图片加灰色半透明效果的方法
2014/10/20 PHP
php版微信自定义回复功能示例
2016/12/05 PHP
使用js实现雪花飘落效果
2013/08/26 Javascript
javascript判断两个IP地址是否在同一个网段的实现思路
2013/12/13 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
2015/07/18 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
2015/12/14 Javascript
详解AngularJS controller调用factory
2017/05/19 Javascript
详解JS中的this、apply、call、bind(经典面试题)
2017/09/19 Javascript
vue2+el-menu实现路由跳转及当前项的设置方法实例
2017/11/07 Javascript
vue中动态绑定表单元素的属性方法
2018/02/23 Javascript
layer弹出层 iframe层去掉滚动条的实例代码
2018/08/17 Javascript
微信小程序发送短信验证码完整实例
2019/01/07 Javascript
layui递归实现动态左侧菜单
2019/07/26 Javascript
微信小程序 简易计算器实现代码实例
2019/09/02 Javascript
在Django中使用Sitemap的方法讲解
2015/07/22 Python
python实现随机梯度下降(SGD)
2020/03/24 Python
python实现linux下抓包并存库功能
2018/07/18 Python
Django model反向关联名称的方法
2018/12/15 Python
python后端接收前端回传的文件方法
2019/01/02 Python
python的pytest框架之命令行参数详解(上)
2019/06/27 Python
使用Python实现画一个中国地图
2019/11/23 Python
浅谈python输出列表元素的所有排列形式
2020/02/26 Python
Python带参数的装饰器运行原理解析
2020/06/09 Python
HTML5 Web 存储详解
2016/09/16 HTML / CSS
Asics日本官网:鬼冢八喜郎创立的跑鞋运动品牌
2017/10/18 全球购物
药品质量检测应届生求职信
2013/11/14 职场文书
手机促销活动方案
2014/02/05 职场文书
工作收入证明模板
2014/10/10 职场文书
2015年保管员工作总结
2015/04/30 职场文书
初中体育教学随笔
2015/08/15 职场文书
python3 sqlite3限制条件查询的操作
2021/04/07 Python
html5实现点击弹出图片功能
2021/07/16 HTML / CSS
box-shadow单边阴影的实现
2023/05/21 HTML / CSS