1. TOP
  2. Wordpress
  3. WordPressの記事本文に特定の単語があれば取得して表示する方法

WordPressの記事本文に特定の単語があれば取得して表示する方法

WordPressの記事本文の単語を取得して表示

WordPressの本文に特定の単語があれば、取得します。それを別の単語に変換して表示させる方法です。

例えば記事内に「YouTube」のリンクがあるとします。

https://www.youtube.com/watch?v=ABC

「YouTube」のリンクがあるということは、この記事は「YouTube」に関する記事と判断して、別の場所に「YouTube」と自動表示させます。

youtubeのリンクを取得して表示

使い方によっては便利なシステムです。このページでは、設定方法を紹介します。

使用方法

以下のコードをfunctions.phpに記述します。

functionでget_nameという名前の関数が使えるように定義します。

次にglobalでグローバル変数を使うための宣言をします。

$matchesに本文を挿入します。それをswitch構文を使用して、単語を探して変換表示します。

上記のコードであれば、本文内から「youtube」の単語を抽出して、「YouTube」に変換して表示させます。

なお、本文内に検索する単語が無い場合はデフォルトで「none」が表示されます。

もしも、必要無い場合は以下の部分を削除してください。

次に、取得した単語を表示させたい部分に以下のコードを記述します。

これで自動的に表示されるようになります。

なお、コードを記述する場合は、記事の個別ページやトップページやカテゴリーページなどの記事一覧に設定してください。そうしないと本文内の単語は表示できません。

また、記事作成のエディターに直接記述しても表示されません。

使用方法2

先程は単語を取得するために、「switch」構文を使用しています。
もう一つの取得方法として、「if」構文を使用する方法もあります。

どちらの方法を使用しても特に違いはありません。

以下のコードをfunctions.phpに記述します。

違いは、「switch」構文が「if」構文に変わっています。
上記のコードでは、本文内から「youtube」の単語を抽出して、「YouTube」に変換して表示されます。

なお、本文内を検索して設定した単語が無い場合もあると思います。その場合はデフォルトで「none」が自動的に表示されます。

もし、「none」が不要の場合は以下の部分を削除してください。

その他の表示設定方法や注意事項は「switch」構文と同じです。

注意事項

コードには、mb_strstr()を使用しています。以下の関数も使用可能です。

  • 「mb_strstr」・・大文字小文字を区別して文字を検索
  • 「mb_stristr」・・大文字小文字を区別しないで文字を検索

まとめ

記事本文から特定のキーワードや単語を取得して表示させる方法はWordpressを使っていると時々必要になると思います。

トップページで記事一覧を表示させたり、記事の内容を抜粋表示したりする場合が良くあると思います。その場合に、抜粋文だけではなく、特定の単語を抽出して表示させると、コンテンツ制作にアイデアが増えるのではないかと感じました。

単語を抽出して表示

プラグインを使用して対処するのも簡単ですが、自分で設定してみるとWordpressやPHPの勉強になるので良いと思いました。

アイデア次第では、単語やキーワードだけではなく、画像やURL、広告なども設定できると思います。

自動表示により、手動で行う作業が減って、制作が楽になります。

PR:プラグインの広告

*以下は動画プラグイン「What’s New Generator」の広告です。

What's New Generator

「What’s New Generator」は、投稿、固定ページ、ウィジェットで表示したい位置にショートコードで「新着情報」を表示できるプラグインです。

newマークを表示するプラグイン

タイトルや文書に「New」マークを付けることが可能です。新着記事が一目で分かるようになります。また、設定した日数により表示させたり、表示する投稿数を指定もできます。自動で新着情報を表示することができて便利です。