web関連

【wordpress】固定ページをショートコードで読み込む方法

2019/08/07

2019/08/08

【wordpress】固定ページをショートコードで読み込む方法

固定ページの記事を別の記事内に引っ張りたかった時の備忘録

固定ページをショートコードで読み込む方法

functions.phpに書く

function page_content_include($atts) {
  extract(shortcode_atts(array(
    'slug' => 'default'
  ), $atts, 'custom_shortcode'));

  ob_start();
  $page_info = get_page_by_path( $slug );
  $page = get_post($page_info);
  ob_end_clean();

  return do_shortcode( $page->post_content );
  // return $page->post_content;
}
add_shortcode('custom_shortcode', 'page_content_include');

出力コード

[custom_shortcode slug='about']

固定ページのスラッグ「about」を読み込むように書いてる
任意で変更

参考

[WordPress] 特定固定ページ表示 – ShortCode

見よう見まね

 

contactform7のフォーム内で引数使おうとするとうまくいかない

contactform7のフォーム内でオリジナルのショートコードを使おうとするときは
add_shortcode()wpcf7_add_shortcodeに変更する必要がある

それと引数が上手く働かないので「default」の部分に出力したいスラッグを直接書いて対応した

なんで引数使えんのかよくわからん

↓個人的に参考にした

やりたいこと ショートコードを作って引数で指定した名前のphpファイルを読み込む かつそのphpファイルにショートコードの引数を渡す ...

 

元々contactform7でショートコードを使うために調べたんだけど、引数使えなくて詰んだ