• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

関数リファレンス/get shortcode regex

提供: WordPress Codex 日本語版
< 関数リファレンス
2016年5月12日 (木) 16:08時点におけるGblsm (トーク | 投稿記録)による版 (en:Function Reference/get_shortcode_regex 07:04, 12 May 2016 Gblsm 版を流し込み。)

(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

このページ「関数リファレンス/get shortcode regex」は未翻訳です。和訳や日本語情報を加筆してくださる協力者を求めています

Description

Returns regular expression used to search for shortcodes inside posts.

This function combines all registered shortcode tags into a single regular expression.

Usage

<?php
function your_prefix_detect_shortcode()
{
    global $post;
    $pattern = get_shortcode_regex();

    if (   preg_match_all( '/'. $pattern .'/s', $post->post_content, $matches )
        && array_key_exists( 2, $matches )
        && in_array( 'your-shortcode', $matches[2] ) )
    {
        // shortcode is being used
    }
}
add_action( 'wp', 'your_prefix_detect_shortcode' );
?>

This can only be used when $post is available. 'wp' is the earliest action you can hook into to get access to it.

Note: The example that previously appeared on this page used preg_match() instead of preg_match_all(), so it only detected the first shortcode used on the page. You should update any code that uses that example with the current example in order to fix that bug.

The following code is an adjustment of the first example, but able to also search all posts on the index page.

function your_prefix_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', 'your_prefix_detect_shortcode' );

Parameters

None

Return Values

(string) 
The shortcode search regular expression.

Change Log

Since: 2.5

Source File

get_shortcode_regex() is located in wp-includes/shortcodes.php.

Related

ショートコード: do_shortcode(), add_shortcode(), remove_shortcode(), remove_all_shortcodes(), shortcode_atts(), strip_shortcodes(), shortcode_exists(), has_shortcode(), get_shortcode_regex(), wp_audio_shortcode(), wp_video_shortcode(), フィルター no_texturize_shortcodes /en


関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Function Reference/get_search_query最新版との差分