最も必要とされている時に、信頼できるWordPressチュートリアルを。
WordPress入門ガイド
WPBカップ
2500万人以上
当社のプラグインを使用しているウェブサイト
16+
WordPress経験年数
3000+
専門家によるWordPressチュートリアル

フィルタとは?

WordPress開発では、フィルターを使用してWordPressの機能を追加または変更できます。これは、WordPressが提供するデータを受け取り、それを別のものに変更してから、再度渡すことによって行われます。

フィルターは、WordPressを非常にカスタマイズ可能にする大きな機能の1つです。これらは、WordPressのイベントに「フック」されるPHPコードの断片です。イベントがトリガーされると、フィルターはイベントフックによって生成されたデータ出力に適用されます。

これらは、プラグインおよびテーマ開発者によって広く使用されています。ただし、開発者でない場合は、Webからコードスニペットを貼り付けて、Webサイトに新しい機能を追加できます。これらの多くにはフィルターが含まれています。

WordPressにおけるフィルターとは?

WordPressにおけるフィルターとは何ですか?

フィルターは、WordPressウェブサイトの特定の関数のデフォルトの動作を変更します。これは、受信したデータを操作し、ブラウザに表示される前にWordPressにそのデータを返すことによって行われます。

例えば、フィルターはテキストを切り捨てたり、コンテンツのフォーマットを変更したり、投稿にリンクを添付したり、ページ上のブロックを変更したり、データベースから取得したオプションを変更したりするために使用できます。また、抜粋の長さを変更したり、メインコンテンツの下に関連投稿を配置したり、WooCommerceの価格を変更したりすることもできます。

フィルターはadd_filter()関数を使用して追加されます。WordPressにはアクションを使用できるいくつかの関数がありますが、これらは最も一般的に使用されるものです。

  • add_filter(): これは、フックに関数をアタッチします
  • remove_filter(): これは、指定されたフィルターフックにアタッチされた関数を削除します
  • doing_filter(): 現在実行中のフィルターを検出します
  • has_filter(): フィルターが登録されているかどうかを確認します

フィルターは、プラグインおよびテーマ開発者によって、WordPressに余分な機能を追加するために使用されます。フィルターを使用して、オンラインチュートリアルからのコードスニペットを追加することで、テーマをカスタマイズすることもできます。

Note: If you’re a beginner, then we strongly caution against editing any WordPress files. Only experienced users who feel comfortable with editing the functions.php file and have some knowledge of PHP should try this.

初心者は、実行したいタスクを実行するためにプラグインを使用するか、専門家にコードの編集を依頼する必要があります。

WordPressサイトのコードを編集する前に、コーディングエラーが発生した場合に備えてウェブサイトをバックアップすることをお勧めします。バックアッププラグインがない場合は、最高のWordPressバックアッププラグインを比較した記事をお読みください。

また、テーマファイルを直接編集しないことをお勧めします。そうしないと、次回テーマを更新したときにカスタマイズが失われます。

代わりに、コードスニペットプラグインを使用してWordPressにカスタムコードを追加するか、サイト固有のプラグインを作成するか、子テーマを作成して親テーマではなくそれを変更してください。

カスタマイズを失うことなくWordPressテーマを更新する方法に関するガイドをご覧ください。

フック、アクション、フィルターの違いとは?

WordPressのフィルターをより深く理解するには、フックやアクションという他の2つの用語との関係を見るのが役立ちます。これら3つの用語を一緒に理解することで、「フィルター」という用語が少し理解しやすくなります。

フックは、WordPressプラグインおよびテーマ開発の基盤です。これらは、開発者がWordPressのコアファイルを編集せずに、特定の場所にカスタムコードを「フック」してWordPressの動作を変更できる場所です。

フックには2種類あります。

  • フィルターフックを使用すると、何かを変更できます。これらは処理中のデータを傍受し、変更を加えてから、それを返します。データベースまたはユーザーのブラウザに送信される際の出力をフィルターするために使用されます。
  • アクションフックは、何かを実行することを可能にします。これらは、テーマまたはプラグインがアクティブ化されたとき、または投稿が公開されたときなどのイベント時に実行され、追加の機能を追加できます。アクションが実行されると、情報を返す必要はありません。

これらのアクションフックとフィルターフックは、WordPressコア、テーマ、およびプラグインがどのように機能するかの基盤です。これらは連携して、開発者がデフォルトのWordPressイベント、フィルター、およびアクションを変更するための大きな柔軟性を提供します。

開発者は独自のカスタムアクションやフィルターを作成することもできるため、他の開発者はプラグインやテーマを拡張できます。

WordPressフィルターの例

フィルターとはどのようなものでしょうか? いくつかの例を挙げます。

例えば、特定のカテゴリに属する投稿が表示されるときに画像アイコンを表示したいとします。このシナリオでは、投稿がその特定のカテゴリに属しているかどうかをチェックする関数を作成します。もしそうであれば、画像を表示します。

次に、その関数をthe_contentイベントにフックします。これで、the_contentイベントが発生するたびに、the_contentイベントの出力をフィルターするために、私たちの関数が自動的にトリガーされます。

// First we hook our own function with the_content event
add_filter( 'the_content', 'wpb_content_filter' );
 
// Now we define what our function would do.
// In this example it displays an image if a post is in news category.
function wpb_content_filter( $content ) {
    if ( in_category('news') )
        $content = sprintf('<img class="news-icon" src="%s/images/news_icon.png" alt="News icon" title="" />%s', get_bloginfo( 'stylesheet_directory' ), $content);
 
    // Returns the content.
    return $content;
}

WordPressフィルターを使用した別の例を次に示します。

このサンプルコードは、get_the_excerptフィルターに wpb_custom_excerpt関数を追加します。

function wpb_custom_excerpt( $output ) {
  if ( has_excerpt() && ! is_attachment() ) {
    $output .= wpb_continue_reading_link();
  }
  return $output;
}
add_filter( 'get_the_excerpt', 'wpb_custom_excerpt' );

フィルターを使用したWordPressガイドを学習することで、さらに詳しく知ることができます。たとえば、WordPressフィルターを使用して実際的なことを達成する方法を示すガイドをいくつか紹介します。

WordPressには、開発者がWordPressコア全体で特定のポイントに独自のコードを追加できるようにする多くの事前定義されたフィルターがあります。WordPressプラグインAPIは、利用可能なフィルターフックの広範なリストを提供します。

この記事がWordPressのフィルターについてより多くを学ぶのに役立ったことを願っています。関連するWordPressのヒント、トリック、アイデアに関する記事の追加資料リストも以下をご覧ください。

このガイドが気に入った場合は、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読することを検討してください。また、TwitterおよびFacebookでも私たちを見つけることができます。

関連記事

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!