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

はじめに

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

functions.php へコードを追加

まず、テーマの 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 などで確認ができます。
URLの /wp-admin/post.php?post=xxx 部がIDです。 記事一覧の編集リンク先のURLを確認することでもIDを確認できます
尚、誤った ID を指定した場合は何も表示されません。また、非公開、下書き、パスワード保護関わらず表示ができます。挿入元が更新された際には挿入先でも更新されます。非公開記事を作成し、このツールで挿入するという使い方も可能です。