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个人网站架设连环讲(一)
Oct 09 PHP
队列在编程中的实际应用(php)
Sep 04 PHP
PHP在线生成二维码(google api)的实现代码详解
Jun 04 PHP
ThinkPHP控制器里javascript代码不能执行的解决方法
Nov 22 PHP
php文件夹的创建与删除方法
Jan 24 PHP
php显示时间常用方法小结
Jun 05 PHP
PHP开发制作一个简单的活动日程表Calendar
Jun 20 PHP
php常用正则函数实例小结
Dec 29 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
Feb 14 PHP
微信公众号实现会员卡领取功能
Jun 08 PHP
PHP简单计算两个时间差的方法示例
Jun 20 PHP
Laravel 自定命令以及生成文件的例子
Oct 23 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动态生成版权所有信息的方法
2015/03/24 PHP
将string解析为json的几种方式小结
2010/11/11 Javascript
jquery关于图形报表的运用实现代码
2011/01/06 Javascript
URL地址中的#符号使用说明
2011/02/12 Javascript
jQuery中使用Ajax获取JSON格式数据示例代码
2013/11/26 Javascript
js实现一个链接打开两个链接地址的方法
2015/05/12 Javascript
JS中创建函数的三种方式及区别
2016/03/13 Javascript
Bootstrap Img 图片样式(推荐)
2016/12/13 Javascript
js获取当前周、上一周、下一周日期
2017/03/19 Javascript
vuex的简单使用教程
2018/02/02 Javascript
详解vue中axios的封装
2018/07/18 Javascript
微信小程序自定义组件封装及父子间组件传值的方法
2018/08/28 Javascript
Vue CLI3基础学习之pages构建多页应用
2019/06/02 Javascript
[48:00]EG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/29 DOTA
实例讲解Python中的私有属性
2014/08/21 Python
Python实现高效求解素数代码实例
2015/06/30 Python
Python抽象和自定义类定义与用法示例
2018/08/23 Python
Python Unittest根据不同测试环境跳过用例的方法
2018/12/16 Python
深度辨析Python的eval()与exec()的方法
2019/03/26 Python
python文件选择对话框的操作方法
2019/06/27 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
HTML5验证以及日期显示的实现详解
2013/07/05 HTML / CSS
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
使用HTML5做的导航条详细步骤
2020/10/19 HTML / CSS
美国卡车、吉普车和SUV零件网站:4 Wheel Parts
2016/11/24 全球购物
台湾最大网路书店:博客来
2018/03/18 全球购物
美国糖果店:Sugarfina
2019/02/21 全球购物
党员违纪检讨书
2014/02/18 职场文书
《木笛》教学反思
2014/03/01 职场文书
2014年元旦感言
2014/03/06 职场文书
高中课程设置方案
2014/05/28 职场文书
村党支部对照检查材料思想汇报
2014/09/28 职场文书
2014年计划生育工作总结
2014/11/14 职场文书
职工培训工作总结
2015/08/10 职场文书
一篇文章学会Vue中间件管道
2021/06/20 Vue.js
vue中的可拖拽宽度div的实现示例
2022/04/08 Vue.js