WordPress 函数:get_shortcode_regex

返回用来查找短代码的正则表达式。这个函数将所有已经注册的短代码的标签组合成一个单一的正则表达式。

用法

<?php get_shortcode_regex(); ?>

参数

返回值

(string)
搜索短代码的正则表达式

实例

下面的代码在输出 header 之前,检测是否日志内容中有是否 videoannotation 这个 shortcode,如果有,则输出相关的 JS 脚本和 CSS。

function pre_detect_shortcode(){

	global $wp_query;	
	$posts = $wp_query->posts;
	$pattern = get_shortcode_regex();

	foreach ($posts as $post){
		if (   preg_match_all( '/'. $pattern .'/s', $post->post_content, $matches )
			&& array_key_exists( 2, $matches )
			&& in_array( 'videoannotation', $matches[2] ) )
		{
			// enque my css and js
			break;	
		}    
	}
}
add_action( 'wp', 'pre_detect_shortcode' );

修改记录

Since: 2.5

源文件

wp-includes/shortcodes.php

点赞