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

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

「関数リファレンス/get shortcode regex」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(en:Function Reference/get_shortcode_regex 07:04, 12 May 2016 Gblsm 版を流し込み。)
 
(最初の和訳。)
 
1行目: 1行目:
{{NeedTrans}}
+
{{CheckTrans}}
== Description ==
+
  
Returns regular expression used to search for shortcodes inside posts.
+
<div id="Description">
 +
== 説明 ==
 +
</div>
  
This function combines all registered shortcode tags into a single regular expression.
+
投稿に含まれるショートコードを検索するための正規表現を返します。
  
== Usage ==
+
この関数はすべての登録済みショートコードタグをひとつの正規表現に結合します。
 +
 
 +
<div id="Usage">
 +
== 使い方 ==
 +
</div>
  
 
<pre>
 
<pre>
26行目: 31行目:
 
</pre>
 
</pre>
  
This can only be used when $post is available. '[http://adambrown.info/p/wp_hooks/hook/wp wp]' is the earliest action you can hook into to get access to it.
+
これは $post が利用可能な時だけ使えるコードです。フックの中で使うなら '[https://developer.wordpress.org/reference/hooks/wp/ wp]' 以降のアクションで使えます。
  
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.
+
<p class="information">参考: 以前のこのページに記載されていた例は preg_match_all() の代わりに used preg_match() を使っていました。そのためページ内で最初に使われたショートコードだけを検出していました。このバグを直すには上記のコードへ更新してください。</p>
  
The following code is an adjustment of the first example, but able to also search all posts on the index page.
+
次のコードは最初の例を少し変えたもので、インデックスページのすべての投稿を検索できます。
  
 
<pre>
 
<pre>
 
function your_prefix_detect_shortcode()
 
function your_prefix_detect_shortcode()
 
{
 
{
 
 
     global $wp_query;
 
     global $wp_query;
 
     $posts = $wp_query->posts;
 
     $posts = $wp_query->posts;
 
     $pattern = get_shortcode_regex();
 
     $pattern = get_shortcode_regex();
   
+
 
   
+
 
     foreach ($posts as $post){
 
     foreach ($posts as $post){
 
if (  preg_match_all( '/'. $pattern .'/s', $post->post_content, $matches )
 
if (  preg_match_all( '/'. $pattern .'/s', $post->post_content, $matches )
54行目: 57行目:
 
</pre>
 
</pre>
  
== Parameters ==
+
<div id="Parameters">
 +
== パラメータ ==
 +
</div>
  
None
+
ありません。
  
== Return Values ==
+
<div id="Return_Values">
 +
== 戻り値 ==
 +
</div>
  
{{Return||string|The shortcode search regular expression.}}
+
{{Return||文字列|ショートコードを検索する正規表現。}}
  
== Change Log ==
+
<div id="Change_Log">
 +
== 変更履歴 ==
 +
</div>
  
Since: 2.5
+
新規導入: 2.5
  
== Source File ==
+
<div id="Source_File">
 +
== ソースファイル ==
 +
</div>
  
<tt>get_shortcode_regex()</tt> is located in {{Trac|wp-includes/shortcodes.php}}.
+
<tt>get_shortcode_regex()</tt> {{Trac|wp-includes/shortcodes.php}} にあります。
  
== Related ==
+
<div id="Related">
 +
== 関連項目 ==
 +
</div>
  
 
{{Shortcode Tags}}
 
{{Shortcode Tags}}

2016年5月12日 (木) 16:19時点における最新版

この項目「関数リファレンス/get shortcode regex」は、翻訳チェック待ちの項目です。加筆、訂正などを通して、Codex ドキュメンテーションにご協力下さい。

投稿に含まれるショートコードを検索するための正規表現を返します。

この関数はすべての登録済みショートコードタグをひとつの正規表現に結合します。

使い方

<?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' );
?>

これは $post が利用可能な時だけ使えるコードです。フックの中で使うなら 'wp' 以降のアクションで使えます。

参考: 以前のこのページに記載されていた例は preg_match_all() の代わりに used preg_match() を使っていました。そのためページ内で最初に使われたショートコードだけを検出していました。このバグを直すには上記のコードへ更新してください。

次のコードは最初の例を少し変えたもので、インデックスページのすべての投稿を検索できます。

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' );

パラメータ

ありません。

戻り値

(文字列) 
ショートコードを検索する正規表現。

変更履歴

新規導入: 2.5

ソースファイル

get_shortcode_regex()wp-includes/shortcodes.php にあります。


ショートコード: 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最新版との差分