WordPress

ショートコードで別の固定ページの内容を表示させる

ショートコードを記述して呼び出す方法をググったメモ

functions.php

function page_content_include($atts) {
	extract(shortcode_atts(array(
	  'slug' => 'default'
	), $atts, 'page_scode'));
  
	ob_start();
	$page_info = get_page_by_path( $slug );
	$page = get_post($page_info);
	ob_end_clean();
	return do_shortcode( $page->post_content );
  }
 add_shortcode('page_scode', 'page_content_include');

呼び出すページをdivで囲みたい

ショートコードで呼ばれたページの内容をdivで囲みたかったのでさらに追記。

function page_content_include($atts) {
	extract(shortcode_atts(array(
	  'slug' => 'default'
	), $atts, 'page_scode'));
  
	ob_start();
	$page_info = get_page_by_path( $slug );
	$page = get_post($page_info);
	$embed = '<div class="page-embed-wrap">' .$page->post_content. '</div>';
	ob_end_clean();
	return do_shortcode( $embed );
  }
 add_shortcode('page_scode', 'page_content_include');

ページ内にショートコードを挿入する

[page_scode slug='表示させたいスラッグ名']

グーテンベルクになってから、ショートコードの挿入も楽になりました。

注意

extract()を使うのはもう非推奨みたいです。。。(WordPress ショートコード作成でextract()を使うのはもうやめよう

ブックマーク

参考:ショートコードで別の固定ページの内容を表示させる方法

関数リファレンス/get post

  • この記事を書いた人

ゆず

■忘れないように自分の覚書と、誰かも困っているかもしれないので参考になればいいなくらいの軽い備忘録です。
■サイト運営費のためGoogleAdsenseをいれています。
giftee / ko-fi / mail

1

outlookを最小化すると勝手に終了してしまうと相談されたけど実はそれ勝手に閉じてるわけじゃなくて、おそらく「最小化時にアイコン化する設定」になってるんや・・・。 outlookの最小化時の設定を変 ...

2

前提 自分用ブックマークサイトとして使用しているてがろぐに、いいねボタンをつけようという狙いです。なので、てがろぐのセットアップは終了し稼働しているものとします。 配布ページのマニュアルを参考に進めま ...

3

感想をもっと手軽に、お気軽に。 https://labo.01kawa.com/kansou 素敵なフォロー、フォロワー、創作作家さんに作品の感想を送りたい…!が、語彙力がないという方向けの感想メーカ ...

-WordPress
-