WordPress 投稿ページ・個別ページ以外でショートコードを使う方法

投稿ページ以外でショートコードを使う方法

WordPressで ショートコード を投稿ページ・個別ページ以外で使う方法についての備忘録。テキストウイジェットでショートコードを使う方法。テーマ・テンプレートに埋め込んでショートコードを使う方法。まあ、誰もが知ってること。

Luxeritas 3.x 定型文・ショートコード登録機能もある模様

この備忘録でも使わせていただいてるWordPress無料テーマ Luxeritas ルクセリタス の新シリーズLuxeritas 3.x の新機能のほんの一部が紹介されている。これでほんの一部だから何だかすごいテーマのようで楽しみでございます。

中でも、定型文・ショートコード登録機能なんてのもあって、投稿編集の上にボタンが表示されて1クリックで投稿に挿入できるみたいで、AddQuicktagがいらなくなりまたひとつインストールするプラグインが減りそうですね。

Luxeritas 3.x すごそうなWordPress無料テーマ(Luxeritas 3.xて無料?)の話のあとに、投稿ページ・個別ページ以外でショートコードを使う方法 なんて誰でも知っている、ちょっと調べればすぐわかることを備忘録にする私が哀れで・・・

投稿個別ページのコンテンツ外でショートコードを使う方法

ショートコードの作り方、特に囲み型ショートコードの作り方を勉強して備忘録にした方がいいように思うが、まずはショートコードの使い方ということで下のページの『誕生日指定できる誕生日年齢計算ショートコード』を例に投稿個別ページのコンテンツ外でショートコードを使う方法を備忘録。

テキストウィジェットでショートコードを使う

add_filter('widget_text', 'do_shortcode');

上のコードを使ってるWordPressテーマの テーマのための関数 (functions.php) に追加する。テキストウィジェットでショートコード使わせてねとお願いしている。

テキストウィジェットにショートコードを書く
テキストウィジェットにショートコードを書く

テキストウィジェットを表示したいウィジェットエリアにドラッグして普通にショートコードを書く。上の例は、フロントページの1ページ目にのみ表示するフロントページ専用のウィジェットエリアのテキストウィジェットに [nensuu 20150418] 才児 と入力したところ。ちなみにここに入力すると当然 9 才児 となる。

フロントページ専用のウィジェットエリアの作り方については下のページを参照して下さい。Luxeritas 3.x では『テンプレートごとのウィジェット表示/非表示切り替え機能』があるようなのでいらなくなるカスタマイズかもしれませんね。

無事に3才児と表示される
無事に3才児と表示される

フロントページ専用のウィジェットエリアのテキストウィジェットに無事 9 才児 と表示されてる図。当然普通に文字の装飾とかもできる。

以上がテキストウィジェットでショートコードを使う方法。要は、テーマのための関数 (functions.php) に、add_filter('widget_text', 'do_shortcode'); と追加するだけという話。

WordPressテーマ・テンプレートに埋め込んでショートコードを使う方法

<p>現在、 <?php echo do_shortcode('[nensuu 20150418]'); ?> 才児 </p>

WordPressテーマ・テンプレートに直接ショートコードを埋め込んで 使うこともできる。上のPHPコードの do_shortcode('[nensuu 20150418]'); 部分が肝、この形をよく覚えておくことだと思う。

人気記事ランキングウィジェットなどいくつかウィジェットを作ったけど、作ったウィジェットに上の形のコードでショートコードを追加したらテキストウィジェットでなくてもちゃんと表示された。カスタマイズする時とか結構便利かも。