WordPress 提供了太多的便于开发的函数,合理的利用这些函数可以某些复杂的操作变得非常快捷,但这些函数绝大多数开发者却都不知道,本文将对这些函数一一列举,喜欢的就收藏吧!
这些函数大多存在于 wp-includes 目录的 functions.php、formatting.php 和 general-template.php,所以翻翻这些文件也能看到不少好东西哦!
表单辅助函数
WordPress 有三个表单辅助函数,用来在符合条件的时候输出某些标签,列举:
checked():比较值是否和表单本身的 value 相同,如果相同则输出 checked 属性 selected():比较直是否和当前的值相同,如果相同则输出 selected 属性 disabled():检测当前表单是否禁用,如果禁用则输出 disabled 属性
三个函数的参数完全一样,第一个是标准值(这个表单储存的值),第二个是这个选项本身的值,第三个是是否打印。
checked( $checked, $current = true, $echo = true ); selected( $selected, $current = true, $echo = true ); disabled( $disabled, $current = true, $echo = true );
<input type="checkbox" value="1" name="checkbox" <?php checked( $value, '1', true); ?> />
<select name="select"> <option value="1" <?php selected( $value, '1', true);?>>1</option> <option value="2" <?php selected( $value, '2', true);?>>2</option> <option value="3" <?php selected( $value, '3', true);?>>3</option> <option value="4" <?php selected( $value, '4', true);?>>4</option> <option value="5" <?php selected( $value, '5', true);?>>5</option> </select>
<input type="text" name="disabled_textbox" <?php disabled( $value, 'disabled', true); ?> />
合并路径
如果你需要把一个绝对路径和一个相对路径合并成一个绝对路径,可以使用 path_join() 函数,第一个参数需要传一个绝对路径,第二个参数需要传一个相对路径,
$join_string = path_join( $base, $path );
判断是否为绝对路径
如果你需要检测一个路径是否为绝对路径可以使用 path_is_absolute() 函数。
if( path_is_absolute( $path ) ) echo '此路径是绝对路径';
路径结尾加斜线
trailingslashit() 函数可以把路径的结尾变成斜线,如果没有斜线则添加斜线,有斜线则直接返回路径。
$trailingslashFilename = trailingslashit( $path );
去除路径结尾的斜线
untrailingslashit() 函数和 trailingslashit() 函数相反,可以删除路径结尾的斜线。
$noTrailingSlashes = untrailingslashit( $path );
获取文件类型
wp_ext2type() 函数可以返回文件的类型,传进去一个文件的后缀名,文件的类型将会被返回出来(image、audio、video、document、spreadsheet、interactive、text、archive 和 code)。
wp_ext2type( $ext );
设置 header 状态码
WordPress 中设置 HTTP 状态码不用 header 函数,而是用更加方便快捷的 status_header() 函数,比如设置 404:
status_header( '404' );
编码 Email 地址
为了防止扫描 Email 地址的机器人,可以使用 antispambot() 函数对 Email 进行 Html 实体编码,编码之后正常用户访问和别人一样,但机器人却无法识别。
$converted_email = antispambot( $email );
自动添加链接
如果一段文字当中出现链接,默认是无法点击的,这时可以使用 make_clickable() 函数自动扫描字符串中的链接,并添加 a 标签。
$string = '学习 WordPress 请到 http://www.endskin.com 网,WordPress 官网 http://www.wordpress.org'; echo make_clickable( $string );
检测 Email
is_email() 函数可以检测字符串是否为 Email 地址,可以用来对外来数据信息过滤,如果是 Email 则返回 True:
if( is_email( $mail ) ) echo '是 Email 地址';
SSL
如果你想检测当前是否在使用 SSL 可以使用 is_ssl() 函数,如果是 SSL 则返回 True:
if( is_ssl() ) echo '是 SSL';
将标题变成别名
WordPress 的别名默认会把文章标题变成小写,然后空格替换成 “-”,过滤掉引号。如果也要实现类似的过滤,可以使用 sanitize_title_with_dashes() 函数。
echo sanitize_title_with_dashes("I'm in LOVE with WordPress!!!1"); //代码将打印:im-in-love-with-wordpress1
此方法无法过滤中文,所以中文还会是中文。