Wordpress函数 add_shortcode 创建简码/短代码

Wordpress常用函数 add_shortcode() 添加一个新的 Shortcode 简码/短代码标签。

用法

add_shortcode( $tag , $func );

参数详解

$tag:(string)(必需)Shortcode 短码名称;
$func:(callable)(必需)短码对应的 hook 函数,在调用 Shortcode 标签时处理的函数。

示例

获取评论编号为100的评论者名称:

function add_shortcode_func( $atts ) {
	if ( is_user_logged_in() ) {
		$this->post_listing( $post_type );
	} else {
		echo "This page is restricted. Please Login to view this page.";
	}
	…………
}
add_shortcode( 'shortcode_name', 'add_shortcode_func' );

如果在Class类中执行,可通过如下方式调用:

add_shortcode( 'shortcode_name', array($this, 'add_shortcode_func') );

或者

add_shortcode( 'shortcode_name', array('ClassName', 'add_shortcode_func') );

备注

每个 Shortcode 只对应一个 Hook 函数,如其它代码使用了同样的短码,先执行的短码的函数会覆盖后者。

需要注意的是短代码的处理函数不应该直接输出,而应该返回文本用来替换短代码本身,如果直接输出将会导致不可预期的结果。短代码的处理函数和 WordPress 的 filter 函数的行为类似,都是不会直接输出,而是返回文本。

源文件:wp-includes/shortcodes.php

相关函数

add_shortcode(), do_shortcode(), do_shortcode_tag(), get_shortcode_regex(), has_shortcode(), remove_all_shortcodes(), remove_shortcode(), shortcode_atts(), shortcode_parse_atts(), strip_shortcodes()