【FeedCanvas】コードスニペットを使って好きな場所にショートコードを貼る方法

ブログの決まった場所、例えば全ての記事の冒頭や末尾などに、ユーザー指定のコードを挿入することができる設定オプションを備えたWordPressテーマは数多くあります。そうした機能を使えば、FeedCanvasのショートコードを記事の冒頭や末尾に簡単に挿入できそうですよね。

しかし中には、せっかくそうしたオプション機能を備えていながらショートコードに対応していないテーマも少なくありません。

記事領域の外にショートコードを設置するという手もありますが、多くの場合テーマを構成するphpファイルをいじることになるので、テーマの更新時毎にショートコードの設置をやり直さなければなりません。子テーマを用意してテーマの更新の影響を受けなくするという手もありますが、初心者にはちょっと敷居が高い方法でしょう。

また、WordPressウィジェットのカスタムHTMLもショートコードに対応していません。これも何らかの手を打たなければサイドバーにRSSフィードを表示させることができないのです。

ではどうするか?

こういう時は、例えば「全ての記事の冒頭に指定のショートコードを挿入する」や「ウィジェットでもショートコードを実行する」といった命令を書き込んだphpコードを用意して、コードスニペット(ちょっとしたコードのかたまり)として設定し、ブログのページが読み込まれる度に自動実行されるようにしてしまう方法がお勧めです。

スニペットの使い方

仮に「全ての記事の冒頭に指定のショートコードを挿入する」であれば、phpコードは以下のようになります。

add_filter('the_content', function($content) {
    if (is_singular('post') && is_main_query()) {
        $rss_list = do_shortcode('[feedcanvas type="list"]');
        return $rss_list . $content;
    }
    return $content;
});

phpファイルを作成することなく、このphpコード(コードスニペット)だけを実行させることができれば良いわけです。WordPressプラグイにはコードスニペットを登録して実行させられるものがいくつかありますので、そうしたものを活用してみてください。

当サイトでも活用しているWPCode Liteプラグインは、無料版でも数個のコードスニペットを登録することができるので、お勧めです。以下、WPCode Liteにphpコードスニペットを登録し実行させるまでの手順を紹介します。

WPCode Liteプラグインをインストールしたら、WordPress設定>コードスニペットから「+スニペットを追加」を選択します。

続いて「スニペットライブラリー」から「カスタムコード(新規スニペット)を追加」を選択します。

スニペットのコードタイプ選択のメニューが現れるので、「PHPスニペット」を選択します。

コード入力の画面が表示されるので、①このコードに名前をつけて、②上に載せたphpコードをコピペし、③右上の「スニペットを保存」ボタンを押します。これで「全ての記事の冒頭に指定のショートコードを挿入する」命令を登録できました。

最後に右上のトグルボタンをクリックし、このコードを無効から「有効」に切り替えます。これでこの命令が実行されるようになります。

WPCode Liteの画面の下の方へ行くと細かな設定をすることもできるようになっていますが、今回の用途であればデフォルトのまま、何も変更しなくても大丈夫です。興味がある方は色々といじってみてもいいかもしれません。

phpコードスニペットサンプル

上で例として挙げたものも含めて載せておきます。

全ての記事の冒頭に指定のショートコードを挿入する

下のコードをコピペしてください。リスト1を表示させる時は「type=”list”」、リスト2を表示させる時は「type=”list2″」とします。

add_filter('the_content', function($content) {
    if (is_singular('post') && is_main_query()) {
        $rss_list = do_shortcode('[feedcanvas type="list"]');
        return $rss_list . $content;
    }
    return $content;
});

全ての記事の末尾に指定のショートコードを挿入する

下のコードをコピペしてください。リスト1を表示させる時は「type=”list”」、リスト2を表示させる時は「type=”list2″」とします。

add_filter('the_content', function($content) {
    if (is_singular('post') && is_main_query()) {
        $rss_tile = do_shortcode('[feedcanvas type="list"]');
        return $content . $rss_tile;
    }
    return $content;
});

ウィジェットでショートコードを実行させる

サイドバーにFeedCanvasを表示させるには、まず「カスタムHTML」ウィジェットの中にFeedCanvasのショートコードを書き込みます。リスト1を表示させる時は「type=”list”」、リスト2を表示させる時は「type=”list2″」とします。

その上で、下のphpスニペットを登録、実行させます。

add_filter('widget_text', 'do_shortcode');
add_filter('widget_text_content', 'do_shortcode');

これらのように、コードスニペットを活用するとブログ上のどこでも好きなところにFeedCanvasのショートコードを設置できますので、ぜひ組み合わせて活用してみてください。

コメント

この記事へのコメントはありません。

CAPTCHA


関連記事

最近の記事
PAGE TOP