サーチ…


構文

  • add_shortcode( $tag , $func );

パラメーター

パラメータ詳細
$タグ (文字列)(必須)ポストコンテンツで検索されるショートコードタグ
$ func (呼び出し可能)(必須)ショートコードが見つかったときに実行するフック

備考

  • ショートコードコールバックには、ショートコード属性、ショートコードコンテンツ(存在する場合)、およびショートコードの名前の3つの引数が渡されます。
  • ショートコードごとにフックが1つしかない場合があります。これは、他のプラグインが類似したショートコードを持っている場合は、プラグインが含まれているか実行されているかに応じてあなたのプラグインをオーバーライドするか、
  • ショートコード属性名は、ハンドラ関数に渡される前に常に小文字に変換されます。値は変更されません。
  • ショートコードによって呼び出される関数は決してあらゆる種類の出力を生成するべきではないことに注意してください。ショートコード関数は、ショートコードを置き換えるために使用されるテキストを返さなければなりません。直接出力を生成すると、予期しない結果につながります。これは、フィルタ関数が呼び出されるタイミングと場所を制御することができないため、コールから期待される副作用を生成してはならないという点で、フィルタ関数の振る舞いに似ています。

最近の投稿のシンプルショートコード

add_shortcodeはwpキーワードです。

// recent-posts is going to be our shortcode.
add_shortcode('recent-posts', 'recent_posts_function');

// This function is taking action when recent post shortcode is called.
function recent_posts_function() {
   query_posts(array('orderby' => 'date', 'order' => 'DESC' , 'showposts' => 1));
   if (have_posts()) :
      while (have_posts()) : the_post();
         $return_string = '<a href="'.get_permalink().'">'.get_the_title().'</a>';
      endwhile;
   endif;
   wp_reset_query();
   return $return_string;
}

このスニペットは、あなたのテーマfunctions.php置くことができます。

[recent-posts]これは[recent-posts]ショートコードです。このショートコードをバックエンド(ページ、投稿、ウィジェットなど)に適用することができます。

コード内で同じショートコードを使用することもできます。 do_shortcodeの助けをdo_shortcode
例えば。 echo do_shortcode( '[recent-posts]' );

最近の投稿の高度なショートコード

この関数は、表示したい最近の投稿数のパラメータを取ります。

例:5つの最近の投稿のみを表示したい。 posts = "5"の引数を渡しただけです(表示したい最近の投稿をいくつでも渡すことができます)。

関数は、データベースから最近の5つの投稿のみを取得します。

// recent-posts is going to be our shortcode.
add_shortcode('recent-posts', 'recent_posts_function');

// Functions takes parameter such as posts="5".
function recent_posts_function($atts){
   extract(shortcode_atts(array(
      'posts' => 1,
   ), $atts));

   $return_string = '<ul>';
   query_posts(array('orderby' => 'date', 'order' => 'DESC' , 'showposts' => $posts));
   if (have_posts()) :
      while (have_posts()) : the_post();
         $return_string .= '<li><a href="'.get_permalink().'">'.get_the_title().'</a></li>';
      endwhile;
   endif;
   $return_string .= '</ul>';

   wp_reset_query();
   return $return_string;
}

例えば。 echo do_shortcode( '[recent-posts posts="5"]' );



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow