WordPressの投稿でサイトURLとテーマフォルダのパスをショートコードで取得する方法

WordPressの投稿や固定ページで、サイト内リンクやテーマフォルダ内の画像を挿入したい時など、自サイトURLやテーマフォルダのパスを取得できるショートコードを作成しておくと便利です。

以下で紹介する方法はfunctions.phpを使用しますので、テーマ内にfunctions.phpがない場合は作成してください。

[adsense]

サイトURLを取得するショートコードを作成

functions.php

function shortcode_url() {
    return get_bloginfo('url');
}
add_shortcode('url', 'shortcode_url');

/* 投稿内で [url] と記述する */

投稿内でショートコードを記述するれば、blobinfo(‘url’)の値と置き換えられるようになります。

テーマフォルダのパスを取得するショートコードを作成

functions.php

function shortcode_templateurl() {
    return get_bloginfo('template_url');
}
add_shortcode('template_url', 'shortcode_templateurl');

/* 投稿内で [template_url] と記述する */

こちらも同じく、投稿内でショートコードを記述すれば、blobinfo(‘template_url’)の値と置き換えられるようになります。

ウィジェットでもショートコードを使用可能にする

サイドバーなどのウィジェットでもショートコードを使用できるようにします。

functions.php

add_filter('widget_text', 'do_shortcode');
プラグインなどで、投稿や固定ページでPHPを使用可能にして、テンプレートタグによって取得する方法もありますが、そちらよりはショートコードを利用した方がシンプルかと思います。