「functions.php」で関数「add_shortcode」を使用しショートコードタグを追加

WordPress WordPress
この記事は約3分で読めます。

※当ブログではアフィリエイト広告を利用しています。

WordPressのテーマには、テーマのための関数「functions.php」ファイルが用意されており、ちょっとしたことなら、プラグインなどを使用するまでもなくPHPを組んで実現することができる。

今回は、その「functions.php」ファイルで、「ショートコードタグ」を追加する。

ショートコードタグ」とは、HTMLソースを生成する意味のあるタグであり、投稿・ページ内容に「[test]」のように記述しておくことで、HTMLソースを生成させることができる。

その「ショートコードタグ」は、関数「add_shortcode」を使用することで追加できる。

各ページ共通で書きたい内容などを「ショートコードタグ」にしておくと、便利である。

なお、今回のバージョンは以下です。

  • WordPress 3.9

「functions.php」ファイルへ追加

まずは、「functions.php」ファイルへ関数を追加する。

なお、当ブログでは、各ページでAmazonの商品リンクを表示しているので、それを取得する関数を追加した。

また、ページのジャンルによって表示内容を変更したいので、この関数は引数を受け取り、判断するようにしている。

関数を追加後、「add_shortcode」関数で、追加した関数を指定し、ショートコードタグを追加する。

//Amazon商品リンク取得
function get_amazon_link($atts){
    $link = '';

    extract(shortcode_atts(array(
        'name' => 'SEO'
    ), $atts));

    if ($name === 'WP') {
        $link = '<h3>WordPressの関連書籍</h3>';
        $link .= '生成するHTML';
    } elseif ($name === 'PGIN') {
        $link = '<h3>WordPressプラグインの関連書籍</h3>';
        $link .= '生成するHTML';
    } elseif ($name === 'SEO') {
        $link = '<h3>検索エンジン最適化(SEO)の関連書籍</h3>';
        $link .= '生成するHTML';
    } else {
        $link = '<h3>検索エンジン最適化(SEO)の関連書籍</h3>';
        $link .= '生成するHTML…';
    }

    return $link;
}
add_shortcode('amazon_link', 'get_amazon_link');

追加したショートコードタグは、以下のようにして呼び出す。

投稿・ページの内容にこのショートコードタグを記述すれば、ページを開く際にHTMLを生成してくれる。

[amazon_link name='PGIN']

以上です。

参考サイト

関数リファレンス/add shortcode – WordPress Codex 日本語版

コメント

タイトルとURLをコピーしました