具体如下:
代码如下 | 复制代码 |
/** /** $post = get_post(); if ( post_password_required() ) { return apply_filters( 'get_the_excerpt', $post->post_excerpt ); |
如果你仔细研究过,就会发现get_the_excerpt和the_excpert都是以抓取文章在数据库中的post_excerpt字段来实现的,而当这个字段(也就是在后台没有填写摘要时)为空,则会执行filter来调整和控制输出的长度与内容。
如果你在开发中发现,怎么都不能让the_excerpt显示出原本的形式,你打算自己通过字符串截取等方法来代替这个函数的时候,不妨试试下面这段代码:
代码如下 | 复制代码 |
if(has_excerpt())the_excerpt();else{ $length = apply_filters('excerpt_length',20); echo apply_filters('the_excerpt',wp_trim_words($post->post_content,$length)); } |
看上去极其简单的几行代码,却包含了很多我们以往没有接触过的知识。
首先,apply_filters的运用很少有人做到娴熟。例如我们希望让文章按照WordPress的输出格式输出时,我们可以使用
echo apply_filters('the_content','你的HTML代码')
来代替,这一招几乎被90%的开发者忽略,甚至很多人根本不知道这种用法。
其次,wp_trim_words是最长被忽视的函数,我们老是希望截取一段特定字符串长度的文字,结果根本不知道WordPress早就准备好了这样的函数出来。
火柴人绳索英雄2无限金币版 (Stickman Rope Hero 2)安卓版v2.2v3.4.2
下载奥特曼之格斗超人内测版本 安卓最新版v11.0.0
下载奥特曼之格斗超人百度版 安卓版v11.0.0
下载奥特曼之格斗超人4399游戏盒版 最新安卓版v11.0.0
下载德凯奥特曼D闪光剑模拟器 安卓版v1.0
德凯奥特曼D闪光剑模拟器是一个非常有趣的奥特曼变身模拟器,可
亚刻觉醒器 安卓版v1.1
亚刻觉醒器模拟器是一个非常有趣的奥特曼变身模拟器,为喜欢亚刻
海上餐厅无限金币版 v1.0
海上餐厅免广告版是游戏的破解版本,在该版本中为玩家去除了广告
阿西美女室友竟然全解锁版 v1.0.2
阿西美女室友竟然内置菜单版是游戏的破解版本,在该版本中为玩家
我是大东家正版 最新版v1.2.738
我是大东家正版是一款放置类模拟经营手游,玩家将回到古代成为家