WordPress 中的一些实用函数

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

此方法无法过滤中文,所以中文还会是中文。

发表评论

电子邮件地址不会被公开。 必填项已用*标注