WordPress ショートコードで自サイトの他の記事をそのまま挿入

WordPressのショートコードを用いて自サイトの他の記事をそのまま挿入する方法を紹介します。

2018年5月19日追記:削除記事を参照すると500エラーになってしまっていたため修正しました。

まず、テーマのfunctions.phpに次のコードをコピペします。functions.phpにすでにコードが追加されている場合は<?php及び?>が二重にならないようお気をつけください。WordPressがエラーで起動できなくなってしまう場合があるためバックアップしてから保存してください。

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

そして挿入したい場所に次のようにショートコードを記入します。

[insert id=123]

123の部分は記事IDです。

記事IDは編集時のURLや投稿ページでのURLなどで確認ができます。

確認1

確認2

尚、誤ったIDを指定した場合は何も表示されません。また、非公開、下書き、パスワード保護関わらず表示ができます。挿入元が更新された際には挿入先でも更新されます。広告などを掲載した非公開記事を作成し、このツールで挿入するという使い方も可能です。

シェアする