カスタムフィールド内でショートコードを使えるようにする方法
当サイトではアフィリエイト広告を利用しています。
WordPressでサイト構築する際に欠かせない存在になっている「カスタムフィールド」ですが、普通の使い方ではショートコードを扱うことができません(ショートコードが何かはあとで書きます)。
まあショートコードを使わないで毎回入力すれば問題はないんでしょうけど、同じ内容の場合修正があった時(社名変更やリンク先の変更等々)に一発で修正できたほうがメンテナンス性が良くなることは間違いありません。
ということを、だいぶ前から運営しているローデスクを紹介するサイト「床生活ならパソコンデスクはローデスクにしよう!」をリニューアルしているときに必要になったので自分用のメモとして残しておきます(しれっと宣伝^^)。
といっても複雑なことはなくて、
通常はこんな感じ表示させているカスタムフィールドのデータを
[php]<?php echo post_custom(‘Site’); ?>[/php]
こっちに書き換えるだけ
[php]<?php echo apply_filters(‘the_content’, get_post_meta($post->ID, ‘Site’, true)); ?>[/php]
<注釈>
引数で使っている「Site」がカスタムフィールドのIDになります。
正直詳しいところはわかっていませんが、ショートコードは「the_content」の中でしか機能しないので、「apply_filters」を使って「the_content」の中で使っていると認識させるようにしていると思われます。
参考サイト:WordPressのカスタムフィールドでショートコードを使う(Kachibito.net)
ショートコードとは?
で、ここで懸念(なのか?)となる、ショートコードについて少し書いておきます。
ショートコードというのは、WordPress内に予め作っておいた情報を文字通り短い入力で呼び出すことをいいます。
今回自分がやった例でいうと、メーカーのサイトへのリンク「URL+サイト名」の記述を作っておいて、ショートコードを使って記事内に呼び出す感じです(リンク以外に画像などでも使えます)。
具体的には、function.phpにこんな感じで追記
[php]function Funcjunk() {
return ‘<a href="https://blog.junkword.net/">ジャンクワードの森</a>’;
}
add_shortcode(‘junk’,’Funcjunk’);[/php]
参考なのでリンク先はジャンクワードの森としました。
そして、記事内(実際にはカスタムフィールド内)にこれを書けばOK
[php][junk][/php]
これだけで、ジャンクワードの森へのリンクが表示されます。
今回の記事はカスタムフィールド内でショートコードを使えるようにする方法でしたが、ショートコードでリンク先を多数準備しておいて、記事内で使うことも可能です。
ちなみに、リンク先を増やしたい時は上記の内容をコピペして、リンク先の内容と「junk」の部分を別のものにすればOKです。別のサイトでも使っていますがリンク先が100個近くあっても問題なく動作しています。
ショートコードを覚えていないといけないのは少し面倒ではありますが、繰り返し使用する情報がある場合かなり有効だと思いますので、気になった方は是非使ってみてください。
ショートコードではなくて、カスタムフィールドのチェックボックスを使った方法も書いていますので、ショートコードがちょっと面倒だな、、、と感じる人はそちらを参考にしてください。
→カスタムフィールドのチェックボックスを使って、リンク先を切り替える方法2つ
Sponsored Links