WordPressのショートコードでは、実際にコードを書くことなく、投稿やページ、ウィジェットに様々な機能を追加することができます。多くのWordPressプラグインや一部のテーマでは、価格グリッドやイベントカレンダーなど、さまざまな要素をWordPressに追加するためにショートコードを使用しています。この記事では、WordPressでショートコードを使用するための7つの重要なヒントを共有します。
WordPressのショートコードとは?
WordPressのサイトに追加されたコンテンツは、いくつかのセキュリティチェックとフィルタを通過します。これらのセキュリティチェックとフィルタは、悪意のあるコードが投稿、ページ、コメントなどに入り込まないようにするものです。つまり、これらの領域に直接コードを書き込むことはできません。
一方、これらの領域にコードを追加する必要がある場合もあります。ショートコードは、そのための手段を提供します。
ショートコードを使うと、WordPressの投稿に他の要素を簡単に追加することができます。例えば、シンプルなショートコードを使って、美しいレスポンシブ・スライダーを追加することができます。WordPress で複雑なアンケートフォームを一行のコードも書かずに作成することができます。
それでは、WordPress でショートコードを使用するためのヒントをいくつかご紹介しましょう。
ヒント1:ショートコードを使用しない場合の注意点
ショートコードは素晴らしいものですが、すべての投稿でショートコードを使用するのはあまり良いアイデアではありません。世の中には、200以上のショートコードを搭載していると豪語するWordPressテーマがたくさんあります。
しかし、すべての記事でショートコードを使用すると、そのショートコードを提供している特定のテーマに永遠に縛られることになります。
もしあなたが投稿やページ内にコールトゥアクションボタンを作成するためにテーマ固有のショートコードを使用している場合は、ショートコードを使用せずに、WordPressでCSSボタンを追加する方法についてのガイドを使用することを視野に入れてください。
もし、バナー広告や記事の末尾の署名テキストなど、同じ要素を追加するためにテーマごとにショートコードを追加しているのであれば、プラグインを使用するか、テーマに直接コードを記述する開発者を雇うとよいかもしれません。
そうすることで、その要素のスタイル付けが容易になり、簡単に削除することもできます。
もし、すべての記事でショートコードを使用し、後でそれを削除したい場合は、すべての記事を編集して手動で削除する必要があることを覚えておいてください。しかし、もっと簡単な方法がありますので、この記事の後半で紹介します。
ヒント2:ショートコードの将来性を考える
ショートコードは素晴らしいものですが、もしお使いのテーマで提供されているのであれば、過剰に使用するのはよく考えた方がいいかもしれません。なぜか?
なぜなら、もしあなたがテーマを変更したら、次のテーマには同じショートコードがない可能性が高いからです。
これを防ぐには、サイト固有のプラグインで追加するのが一番です。
テーマのfunctions.phpファイルからショートコードのスニペットをコピーして、サイト固有のプラグインに貼り付けるだけです。
ヒント3:WordPressのテーマでショートコードを検索する方法
ショートコードを将来にわたって使い続けるためには、ショートコードの機能がどのようなものか、また、お使いのテーマでショートコードを見つける方法を知っておく必要があります。
まず、テーマのフォルダを開く必要があります。通常、/wp-content/themes/your-theme-name/にあります。
functions.phpファイルの中、またはテーマにincludesフォルダがある場合は、その中を見てください。
ファイルを開いて、add_shortcodeという語を検索してください。
ショートコードスニペットがどのようなものか、例を挙げてみましょう。
function my_shortcode_function() {
$i = '<p>Hello World!</p>';
return $i;
}
add_shortcode('my-shortcode', 'my_shortcode_function');
このコードは、シンプルなテキストの挨拶を返すショートコード「my-shortcode」を作成し、WordPressの投稿やページにこのように埋め込むことができます。
[my-shortcode]
便利なガイド:WordPressでショートコードを作成する方法
ヒント4:ウィジェットでショートコードを使う
ユーザーは、ショートコードは投稿とページに限定されると考えがちですが、そうではありません。WordPressのテキストウィジェットの中で使用することができます。
テキストウィジェットをサイドバーにドラッグ&ドロップして、その中にショートコードを追加するだけです。
この機能はWordPressのデフォルトでは有効になっていないことを覚えておいてください。ウィジェットにショートコードが表示されない場合は、テーマの functions.php ファイルまたはサイト固有のプラグインにこのコードを追加する必要があります。
add_filter('widget_text', 'do_shortcode');
ヒント5:テーマファイルにショートコードを追加する
何らかの理由で、テーマのウィジェット以外の場所にショートコードを出力する必要がある場合、そこでもショートコードを使用することができます。
例えば、カスタムページテンプレートを作成し、コンタクトフォームを表示するためのショートコードを含めたいとします。このように、ショートコードを追加するだけです。
<?php echo do_shortcode("[example_shortcode]"); ?>
ヒント6:壊れたショートコードを隠す
ユーザーがテーマを変更すると、以前のショートコードが動作しなくなることに気づかないことがよくあります。何ヶ月か経ってから、ユーザーが古い投稿にアクセスしたときに、そこに奇妙なテキストがあることに気づくこともあります。
さて、これを解決する方法は2つあります。手動ですべての投稿からショートコードを削除するか、壊れたショートコードを非表示にするだけです。
必要なのは、テーマのfunctions.phpファイルかサイト固有のプラグインに以下のコードを追加することだけです。
add_shortcode( 'shortcodetag', '__return_false' );
このコードは、出力なしで孤立したショートコードを追加し直します。 ショートコードタグ(shortcodetag)をショートコード名に置き換えることを忘れないでください。
ヒント7:投稿で使われているショートコードを探す
ヒント6のハックを使わず、手動ですべてのショートコードを削除したい場合、最初のステップは、ショートコードを使用しているすべての投稿を見つけることです。
テーマの functions.php ファイルにあるこのコードか、サイト固有のプラグインを使用して、あなたに代わって大変な作業を行うことができます。
function wpb_find_shortcode($atts, $content=null) {
ob_start();
extract( shortcode_atts( array(
'find' => '',
), $atts ) );
$string = $atts['find'];
$args = array(
's' => $string,
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) {
echo '<ul>';
while ( $the_query->have_posts() ) {
$the_query->the_post(); ?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
<?php
}
echo '</ul>';
} else {
echo "投稿がありません";
}
wp_reset_postdata();
return ob_get_clean();
}
add_shortcode('shortcodefinder', 'wpb_find_shortcode');
このコードは、シンプルなshortcodefinderというショートコードを作成するものです。これはWordPressのクエリを実行し、指定されたショートコードタグを持つ投稿をリストアップします。
例えば、ショートコード
エラー: コンタクトフォームが見つかりません。
を含む投稿を全て見つけたい場合は、WordPressのページに[shortcodefinder find=’contact-form’]と入力して保存するだけでよいでしょう。これで、ページをプレビューすると、そのショートコードを含むすべての投稿を見ることができます。より詳しい説明は、WordPressで未使用のショートコードを検索して非表示にする方法を参照してください。
ボーナスヒント:今すぐ使えるショートコードは?
ユーザーは、どのショートコードが利用できるのか知らないことがよくあります。ショートコードリファレンスプラグインは、WordPressサイトで利用可能なショートコードのリストと詳細を提供します。
これらのヒントが、ショートコードの使い方を学び、プロのようにWordPressでショートコードを最大限に活用するお役に立てれば幸いです。