「Wordpress」 投稿ページに固定ページを
ショートコードで表示する

ブログ運営について

当ブログでは
よくお越しいただくお客様も
許可を取った上で稀に登場いたします
(仮名:Aさん/Bさん/お客様として)

宜しくお願いいたします


Rito
Rito

今回は自分用のメモです
最近忘れやすいので(笑)

年やな・・・

相方
相方
Rito
Rito

やかましいわっ

この方法を
利用しようとしたきっかけ

私はブログも含め
同じ画像や文章を
複数のページで
使用することが多いです


例えば
このブログの記事の最上部にある
ブログ運営について」も
その一つです

以前は記事毎に
画像の挿入や文字を入れたり
としていました

同じ画像などを使用する場合
記事を作る時は良いのですが
画像や文字を変更したい
となった場合は
記事毎に修正する必要があります

これが時間も掛かるし
手間がかかる作業でした


そこで私の場合は
ショートコードを利用して
投稿記事に
予め作ったページを表示しよう

と考えました

メリット

私のように
毎度同じ画像や文字を
使用すると言う人であれば
予め表示したい内容の
ページを制作しておけば

ショートコードだけで済む

予め制作した記事を
ショートコードで表示する事で
画像や文字を入れ替えたい
となった時でも
表示しているページだけを
書き換えれば一括で変更できる

Rito
Rito

個人的には
これが最大のメリットです

他の用途であっても
投稿ページに固定ページを表示させる
ときなどに便利です

冒頭にも記載通り
このブログの記事の最上部にある
ブログ運営について」も
ショートコードを使用しています

ショートコードの使用方法

Rito
Rito

phpにコードを
追加するので
自己責任で
お願いします

functions.phpにコードを追加

はじめに
エラーによりWordPressが
起動できなくなる場合があるので
必ずバックアップしてから
書き換えてください

しつこいようですが
自己責任でお願いします

まずは
テーマのfunctions.php
下記のコードを追加します

WordPressのダッシュボードで
外観」→「テーマエディター
テーマのための関数functions.php)」

<?php ?>
が2重にならないように
ご注意ください

  1. <?php
  2. function shortcode_insert($atts){
  3. extract(shortcode_atts(array('id'=>0),$atts));
  4. if(get_post($id)!=null)return wpautop(do_shortcode(get_post($id)->post_content));
  5. }
  6. add_shortcode('insert','shortcode_insert');
  7. ?>

エラーで起動しなくなった場合は
下記のコードでお試しください

  1. function shortcode_insert($atts){
  2. extract(shortcode_atts(array('id'=>0),$atts));
  3. if(get_post($id)!=null)return wpautop(do_shortcode(get_post($id)->post_content));
  4. }
  5. add_shortcode('insert','shortcode_insert');

上記のいづれかのコードを書き込んだら
保存をしてください

Rito
Rito

コードを触るのは
これだけです

使用方法

まずは
ショートコードで使用する
ID」を確認します

IDを確認する方法ですが
投稿ページであれば投稿ページの編集画面
固定ページであれば固定ページの編集画面

を開きます

要は
表示させたいページの
編集画面です


下書き保存」または「公開
のいづれかをしていれば
記事の編集画面のURLの中に
post=数字
が表示されていると思います

ショートコード

次に
使用するコードですが
下記を使用します

  1. [insert id=ID]

上記の=IDの部分は
先ほど確認した
ID(数字)

入力します

私の場合はですが

  1. [insert id=6092]

という形になります

コードの貼り方

ブロックエディター
を使用している場合は
左上にある「+」をクリック

参考画像
投稿ページに固定ページを表示できない

出てきた左側の欄から
ショートコードを見つけて
クリックします

参考画像
投稿ページに固定ページを表示する方法

クリックすると
ショートコードのボックスが
出てきます


その中に先ほどの
コードとご自身の記事のID
を入れて完了

参考画像
Wordpressの投稿ページや固定ページをショートコードで
Rito
Rito

これでプレビューで
確認して表示されれば
完了です

おわりに

はじめて
functions.phpを触るときは
十分にご注意の上で
自己責任で行ってください


必ずバックアップはとってから
行った方が良いです

functions.phpにコードを入れた後は
ショートコードのみでどの記事でも
表示させることができます

・投稿ページに固定ページを表示したい
・1つのページを複数カ所に表示したい
・よく利用する同じ画像や文字を
 一括で管理できるようにしたい

このように思っている方には
個人的にはおすすめです

Rito
Rito

ただの私のメモですが
少しでも参考になれれば
幸いです