<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>カスタムフィールド &#8211; ケケンタの独学ITブログ</title>
	<atom:link href="https://kekenta-it-blog.com/tag/%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89/feed/" rel="self" type="application/rss+xml" />
	<link>https://kekenta-it-blog.com</link>
	<description>プログラミングやWeb制作の情報を発信</description>
	<lastBuildDate>Tue, 18 Mar 2025 02:06:07 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://kekenta-it-blog.com/wp-content/uploads/2023/07/cropped-KEKENTA-BLOG-32x32.png</url>
	<title>カスタムフィールド &#8211; ケケンタの独学ITブログ</title>
	<link>https://kekenta-it-blog.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【WordPress】検索機能の条件にタグ・カテゴリー・カスタムフィールドを追加する</title>
		<link>https://kekenta-it-blog.com/wp-search-condition-custom/</link>
					<comments>https://kekenta-it-blog.com/wp-search-condition-custom/#respond</comments>
		
		<dc:creator><![CDATA[ケケンタ]]></dc:creator>
		<pubDate>Fri, 02 Aug 2024 02:30:29 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[カスタムフィールド]]></category>
		<category><![CDATA[カテゴリー]]></category>
		<category><![CDATA[タグ]]></category>
		<category><![CDATA[検索機能]]></category>
		<guid isPermaLink="false">https://kekenta-it-blog.com/?p=9607</guid>

					<description><![CDATA[<p><img src="https://kekenta-it-blog.com/wp-content/uploads/2024/08/eye-catch__wp-search-condition-custom__9607-1024x576.jpg" class="webfeedsFeaturedVisual" /></p>今回はこうしたお悩みをお持ちの方へ向けて WordPressの検索機能の条件にタグ・カテゴリー・カスタムフィールドを追加する方法 をご紹介します。 WordPressの検索機能はデフォルトだと「タイトル」と「本文」しか検 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://kekenta-it-blog.com/wp-content/uploads/2024/08/eye-catch__wp-search-condition-custom__9607-1024x576.jpg" class="webfeedsFeaturedVisual" /></p><div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/困った顔-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/困った顔-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>WordPressの検索機能に条件を追加したいんだけどどうすればいいんだろう……</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="wp-block-paragraph">今回はこうしたお悩みをお持ちの方へ向けて</p>



<p class="has-text-align-center is-style-big_kakko_box wp-block-paragraph"><strong>WordPressの<span class="swl-inline-color has-swl-deep-02-color">検索機能の条件</span>に<br><span class="swl-inline-color has-swl-deep-02-color">タグ・カテゴリー・カスタムフィールド</span>を追加する方法</strong></p>



<p class="wp-block-paragraph">をご紹介します。</p>



<p class="is-style-bg_stripe wp-block-paragraph">WordPressの検索機能はデフォルトだと「タイトル」と「本文」しか検索対象になっていません。<br>しかし、この記事をご覧いただくことで<strong><span class="swl-marker mark_yellow">タグ・カテゴリー・カスタムフィールドも検索対象にする方法やそのソースコード</span></strong>がわかります。</p>



<div class="swell-block-capbox cap_box is-style-shadow"><div class="cap_box_ttl"><span><span data-icon="LsLightbulb" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" aria-hidden="true" class="swl-inline-icon"> </span><strong>この記事で分かること</strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>検索機能に「タグ」、「カテゴリー」、「カスタムフィールド」を追加する方法</li>



<li>すべてではなく「特定のカスタムフィールド」のみ検索条件として追加する方法</li>
</ul>
</div></div>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>また、タグやカテゴリーの名前だけでなく、タグ・カテゴリーの<strong>「スラッグ」や「説明」</strong>を検索条件に追加する方法もあわせてご紹介します。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="wp-block-paragraph"><strong>プラグイン「SEO SIMPLE PACK」の設定情報を含める方法</strong>は以下の記事でご紹介しています。</p>


<div class="swell-block-postLink">			<div class="p-blogCard -internal" data-type="type2" data-onclick="clickLink">
				<div class="p-blogCard__inner">
					<span class="p-blogCard__caption">あわせて読みたい</span>
					<div class="p-blogCard__thumb c-postThumb"><figure class="c-postThumb__figure"><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2024/08/eye-catch__wp-search-condition-custom-ssp__9612-300x169.jpg" alt="" class="c-postThumb__img u-obf-cover" width="320" height="180"></figure></div>					<div class="p-blogCard__body">
						<a class="p-blogCard__title" href="https://kekenta-it-blog.com/wp-search-condition-custom-ssp/">【WordPress】検索機能の条件にSEO SIMPLE PACKの設定内容を追加する</a>
						<span class="p-blogCard__excerpt">WordPressの検索機能の条件に「SEO SIMPLE PACKの設定内容」も含めたいんだけど、どうすればいいの……？ 今回はこのようなお悩みをお持ちの方に向けて WordPressで検索機&#8230;</span>					</div>
				</div>
			</div>
		</div>

<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/wp-subloop-wq/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">【WordPress】WP_Query（サブループ）の使い方とパラメータ一覧を紹介</span>
			</a>
		</div>

<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/wp-how-to-load-js/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">【WordPress】JavaScriptはどこに書けばいい？「３つの方法」を解説</span>
			</a>
		</div>

<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/change-to-swell/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">無料テーマCocoonからSWELLに乗り換えた７つの理由【WordPress】</span>
			</a>
		</div>

<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/school-php-and-wp/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">PHPやWordPressを学ぶのにおすすめのプログラミングスクール【７選】</span>
			</a>
		</div>


<h2 class="wp-block-heading">ソースコード</h2>



<p class="is-style-bg_stripe wp-block-paragraph">以下よりご紹介するソースコードを<strong>functions.phpに追加するだけで検索機能に各条件を含めることが可能</strong>です。</p>



<h3 class="wp-block-heading"><strong>「タグ名」、「カテゴリー名」を検索条件に追加</strong></h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-lang="PHP"><code>/**
 * サイト内検索のカスタマイズ
 */
function custom_search( $search, $wp_query ) {
	global $wpdb;

	//検索ページ以外だったら終了
	if ( ! $wp_query-&gt;is_search )
		return $search;

    // 検索キーワードが未入力ならデフォルトの検索機能を呼び出す
	if ( ! isset( $wp_query-&gt;query_vars ) )
		return $search;

	// タグ名・カテゴリ名も検索対象にする
	$search_words = explode( &#39; &#39;, isset( $wp_query-&gt;query_vars[&#39;s&#39;] ) ? $wp_query-&gt;query_vars[&#39;s&#39;] : &#39;&#39; );
	if ( count( $search_words ) &gt; 0 ) {
		$search = &#39;&#39;;
		foreach ( $search_words as $word ) {
			if ( ! empty( $word ) ) {
				$search_word = $wpdb-&gt;prepare( &quot;%{$word}%&quot; );
				$search .= &quot; AND (
					-- 投稿タイトル
					{$wpdb-&gt;posts}.post_title LIKE &#39;{$search_word}&#39;
					-- 投稿コンテンツ
					OR {$wpdb-&gt;posts}.post_content LIKE &#39;{$search_word}&#39;
					-- タグ・カテゴリー名
					OR {$wpdb-&gt;posts}.ID IN (
						SELECT distinct r.object_id
						FROM {$wpdb-&gt;term_relationships} AS r
						INNER JOIN {$wpdb-&gt;term_taxonomy} AS tt ON r.term_taxonomy_id = tt.term_taxonomy_id
						INNER JOIN {$wpdb-&gt;terms} AS t ON tt.term_id = t.term_id
						-- タグ・カテゴリー名
						WHERE t.name LIKE &#39;{$search_word}&#39;
					)
				) &quot;;
			}
		}
	}
	return $search;
}
add_filter( &#39;posts_search&#39;,&#39;custom_search&#39;, 10, 2 );</code></pre></div>



<h3 class="wp-block-heading"><strong>タグ・カテゴリーの「スラッグ」や「説明」を検索条件に追加</strong></h3>



<p class="is-style-bg_stripe wp-block-paragraph"><strong>ハイライト行が追加</strong>されています。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-lang="PHP" data-line="35-38"><code>/**
 * サイト内検索のカスタマイズ
 */
function custom_search( $search, $wp_query ) {
	global $wpdb;

	//検索ページ以外だったら終了
	if ( ! $wp_query-&gt;is_search )
		return $search;

    // 検索キーワードが未入力ならデフォルトの検索機能を呼び出す
	if ( ! isset( $wp_query-&gt;query_vars ) )
		return $search;

	// タグ名・カテゴリ名やタグ・カテゴリーの「スラッグ」、「説明」も検索対象にする
	$search_words = explode( &#39; &#39;, isset( $wp_query-&gt;query_vars[&#39;s&#39;] ) ? $wp_query-&gt;query_vars[&#39;s&#39;] : &#39;&#39; );
	if ( count( $search_words ) &gt; 0 ) {
		$search = &#39;&#39;;
		foreach ( $search_words as $word ) {
			if ( ! empty( $word ) ) {
				$search_word = $wpdb-&gt;prepare( &quot;%{$word}%&quot; );
				$search .= &quot; AND (
					-- 投稿タイトル
					{$wpdb-&gt;posts}.post_title LIKE &#39;{$search_word}&#39;
					-- 投稿コンテンツ
					OR {$wpdb-&gt;posts}.post_content LIKE &#39;{$search_word}&#39;
					-- 「タグ・カテゴリー名」と「タグ・カテゴリー説明欄」
					OR {$wpdb-&gt;posts}.ID IN (
						SELECT distinct r.object_id
						FROM {$wpdb-&gt;term_relationships} AS r
						INNER JOIN {$wpdb-&gt;term_taxonomy} AS tt ON r.term_taxonomy_id = tt.term_taxonomy_id
						INNER JOIN {$wpdb-&gt;terms} AS t ON tt.term_id = t.term_id
						-- タグ・カテゴリー名
						WHERE t.name LIKE &#39;{$search_word}&#39;
							-- タグ・カテゴリースラッグ
							OR t.slug LIKE &#39;{$search_word}&#39;
							-- デフォルト項目の「説明」
							OR tt.description LIKE &#39;{$search_word}&#39;
					)
				) &quot;;
			}
		}
	}
	return $search;
}
add_filter( &#39;posts_search&#39;,&#39;custom_search&#39;, 10, 2 );</code></pre></div>



<h3 class="wp-block-heading"><strong>「すべてのカスタムフィールド」を検索条件に追加</strong></h3>



<p class="is-style-bg_stripe wp-block-paragraph"><strong>ハイライト行が追加</strong>されています。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-lang="PHP" data-line="40-45"><code>/**
 * サイト内検索のカスタマイズ
 */
function custom_search( $search, $wp_query ) {
	global $wpdb;

	//検索ページ以外だったら終了
	if ( ! $wp_query-&gt;is_search )
		return $search;

    // 検索キーワードが未入力ならデフォルトの検索機能を呼び出す
	if ( ! isset( $wp_query-&gt;query_vars ) )
		return $search;

	// タグ名・カテゴリ名・カスタムフィールド「説明」も検索対象にする
	$search_words = explode( &#39; &#39;, isset( $wp_query-&gt;query_vars[&#39;s&#39;] ) ? $wp_query-&gt;query_vars[&#39;s&#39;] : &#39;&#39; );
	if ( count( $search_words ) &gt; 0 ) {
		$search = &#39;&#39;;
		foreach ( $search_words as $word ) {
			if ( ! empty( $word ) ) {
				$search_word = $wpdb-&gt;prepare( &quot;%{$word}%&quot; );
				$search .= &quot; AND (
					-- 投稿タイトル
					{$wpdb-&gt;posts}.post_title LIKE &#39;{$search_word}&#39;
					-- 投稿コンテンツ
					OR {$wpdb-&gt;posts}.post_content LIKE &#39;{$search_word}&#39;
					-- 「タグ・カテゴリー名」と「タグ・カテゴリー説明欄」
					OR {$wpdb-&gt;posts}.ID IN (
						SELECT distinct r.object_id
						FROM {$wpdb-&gt;term_relationships} AS r
						INNER JOIN {$wpdb-&gt;term_taxonomy} AS tt ON r.term_taxonomy_id = tt.term_taxonomy_id
						INNER JOIN {$wpdb-&gt;terms} AS t ON tt.term_id = t.term_id
						-- タグ・カテゴリー名
						WHERE t.name LIKE &#39;{$search_word}&#39;
							-- タグ・カテゴリースラッグ
							OR t.slug LIKE &#39;{$search_word}&#39;
							-- デフォルト項目の「説明」
							OR tt.description LIKE &#39;{$search_word}&#39;
					)
					-- すべてのカスタムフィールド
					OR {$wpdb-&gt;posts}.ID IN (
						SELECT distinct post_id
						FROM {$wpdb-&gt;postmeta}
						WHERE meta_value LIKE &#39;{$search_word}&#39;
					)
				) &quot;;
			}
		}
	}
	return $search;
}
add_filter( &#39;posts_search&#39;,&#39;custom_search&#39;, 10, 2 );</code></pre></div>



<h3 class="wp-block-heading">「特定のカスタムフィールド」を検索条件に追加</h3>



<p class="is-style-bg_stripe wp-block-paragraph"><strong>ハイライト行が追加</strong>されています。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-lang="PHP" data-line="45-46"><code>/**
 * サイト内検索のカスタマイズ
 */
function custom_search( $search, $wp_query ) {
	global $wpdb;

	//検索ページ以外だったら終了
	if ( ! $wp_query-&gt;is_search )
		return $search;

    // 検索キーワードが未入力ならデフォルトの検索機能を呼び出す
	if ( ! isset( $wp_query-&gt;query_vars ) )
		return $search;

	// タグ名・カテゴリ名・カスタムフィールド「説明」も検索対象にする
	$search_words = explode( &#39; &#39;, isset( $wp_query-&gt;query_vars[&#39;s&#39;] ) ? $wp_query-&gt;query_vars[&#39;s&#39;] : &#39;&#39; );
	if ( count( $search_words ) &gt; 0 ) {
		$search = &#39;&#39;;
		foreach ( $search_words as $word ) {
			if ( ! empty( $word ) ) {
				$search_word = $wpdb-&gt;prepare( &quot;%{$word}%&quot; );
				$search .= &quot; AND (
					-- 投稿タイトル
					{$wpdb-&gt;posts}.post_title LIKE &#39;{$search_word}&#39;
					-- 投稿コンテンツ
					OR {$wpdb-&gt;posts}.post_content LIKE &#39;{$search_word}&#39;
					-- 「タグ・カテゴリー名」と「タグ・カテゴリー説明欄」
					OR {$wpdb-&gt;posts}.ID IN (
						SELECT distinct r.object_id
						FROM {$wpdb-&gt;term_relationships} AS r
						INNER JOIN {$wpdb-&gt;term_taxonomy} AS tt ON r.term_taxonomy_id = tt.term_taxonomy_id
						INNER JOIN {$wpdb-&gt;terms} AS t ON tt.term_id = t.term_id
						-- タグ・カテゴリー名
						WHERE t.name LIKE &#39;{$search_word}&#39;
							-- タグ・カテゴリースラッグ
							OR t.slug LIKE &#39;{$search_word}&#39;
							-- デフォルト項目の「説明」
							OR tt.description LIKE &#39;{$search_word}&#39;
					)
					-- カスタムフィールド
					OR {$wpdb-&gt;posts}.ID IN (
						SELECT distinct post_id
						FROM {$wpdb-&gt;postmeta}
						WHERE meta_value LIKE &#39;{$search_word}&#39;
							-- カスタムフィールド「my_custom_key01」と「my_custom_key02」
							AND meta_key IN ( &#39;my_custom_key01&#39;, &#39;my_custom_key02&#39; )
					)
				) &quot;;
			}
		}
	}
	return $search;
}
add_filter( &#39;posts_search&#39;,&#39;custom_search&#39;, 10, 2 );</code></pre></div>



<div class="wp-block-group is-style-big_icon_good"><div class="wp-block-group__inner-container">
<p class="wp-block-paragraph">「特定のカスタムフィールド」を条件にするときは、以下のように<strong>配列形式でカスタムフィールドの「キー名」を指定</strong>します。</p>



<p class="is-style-dent_box wp-block-paragraph">meta_key IN ( &#8216;<strong>my_custom_key01</strong>&#8216;, &#8216;<strong>my_custom_key02</strong>&#8216; )</p>



<p class="has-text-align-center is-style-balloon_box2 wp-block-paragraph">プラグイン「Advanced Custom Fields」を使用している場合は<br><strong>フィールド名</strong>が「<strong>キー名</strong>」に該当します。</p>


<div class="wp-block-image size_xs is-style-shadow">
<figure class="aligncenter size-full"><img decoding="async" width="739" height="496" src="https://kekenta-it-blog.com/wp-content/uploads/2024/07/meta_key_for_acf.jpg" alt="ACFを使用する場合のキー名" class="wp-image-9657" srcset="https://kekenta-it-blog.com/wp-content/uploads/2024/07/meta_key_for_acf.jpg 739w, https://kekenta-it-blog.com/wp-content/uploads/2024/07/meta_key_for_acf-300x201.jpg 300w" sizes="(max-width: 739px) 100vw, 739px" /><figcaption class="wp-element-caption">ACFを使用する場合のキー名</figcaption></figure>
</div></div></div>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">まとめ</h2>



<p class="wp-block-paragraph">以上が<strong><span class="swl-marker mark_yellow">WordPressの検索機能の条件にタグ・カテゴリー・カスタムフィールドを追加する方法</span></strong>でした。</p>



<p class="wp-block-paragraph">ご覧いただくとお分かりのように、デフォルトの検索機能をカスタマイズするためには<strong>WordPressのデータベース構造を理解した上でSQL文を組み立てる</strong>必要があります。</p>



<p class="wp-block-paragraph">逆に言えば、SQLをある程度知っていてWordPressのデータベース構造も理解できれば<strong>検索機能の複雑なカスタマイズも可能になる</strong>ということでもあります。</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/真顔-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/真顔-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -thinking -border-on"><div class="c-balloon__text">
<p>（そこのハードルがそれなりに高いのではないかと思いますが……）</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="wp-block-paragraph">僕も最初はWordPressのデータベースとphpMyAdmin経由でにらめっこしたり、あれこれ試行錯誤することで少しずつ理解を進めることができました。</p>



<p class="wp-block-paragraph">この記事が読者の方にとっての学習のきっかけや、その一助になったなら幸いです。</p>



<p class="wp-block-paragraph">それでは、最後までご覧いただきありがとうございました！</p>



<p class="is-style-balloon_box2 wp-block-paragraph">今回参考になった書籍</p>


<div id="rinkerid9666" class="yyi-rinker-contents   yyi-rinker-postid-9666 yyi-rinker-no-item">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image"></div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
								サイトの拡張性を飛躍的に高める WordPressプラグイン開発のバイブル[ 宮内 隆行 ]							</div>

			<div class="yyi-rinker-detail">
											</div>
						<ul class="yyi-rinker-links">
																	<li class="amazonlink">
						<a href="https://www.amazon.co.jp/%E3%82%B5%E3%82%A4%E3%83%88%E3%81%AE%E6%8B%A1%E5%BC%B5%E6%80%A7%E3%82%92%E9%A3%9B%E8%BA%8D%E7%9A%84%E3%81%AB%E9%AB%98%E3%82%81%E3%82%8B-WordPress%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E9%96%8B%E7%99%BA%E3%81%AE%E3%83%90%E3%82%A4%E3%83%96%E3%83%AB-%E5%AE%AE%E5%86%85-%E9%9A%86%E8%A1%8C/dp/4797373520?dib=eyJ2IjoiMSJ9.YRg8NA4RY7Ahl1udiZdX2gqCH1sr0xMsjjBYG_2zrdiI3hzGlT8-0aPBPrSJOmzEs89jh-jFBk_pNRdwpKCmDBMzhOBkqiSDSi38qmjJY_HfcFDgjL9b-lQmZdPwT4x_11X9jFraYNweHbE1r7-3BmEjxY4tgmtlnIAjuu-_sX9k51AiJAw_CKiFo1clMJ_t0gXaSqYudoMYcn1cTh-oL-4eLzJclN6q_Af7es4RLw7HuXkYfVb30rOmXsTrjznel0VVpNYR-SbRXIblcdnUSVf4yMZvVKRaFhc4YR47zM8.KC4w7v20VWOsbVdh4f09xmoHvj8WQH3MJ1xLSaOvgsA&amp;dib_tag=se&amp;keywords=WordPress+%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3&amp;qid=1723549026&amp;sr=8-2&amp;linkCode=ll1&amp;tag=kekenta03am0b-22&amp;linkId=c85a6af04e43ad163d6468378b6c1d6c&amp;language=ja_JP&amp;ref_=as_li_ss_tl&amp;tag=kekenta03am0b-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339" rel="nofollow" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="amazon 9666 サイトの拡張性を飛躍的に高める WordPressプラグイン開発のバイブル[ 宮内 隆行 ]"  data-vars-amp-click-id="amazon 9666 サイトの拡張性を飛躍的に高める WordPressプラグイン開発のバイブル[ 宮内 隆行 ]">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://hb.afl.rakuten.co.jp/hgc/3ace225e.aaf54072.3ace225f.2cf27f19/Rinker_o_20240730170413?pc=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2FWordPress%25E3%2580%2580%25E3%2583%2597%25E3%2583%25A9%25E3%2582%25B0%25E3%2582%25A4%25E3%2583%25B3%2F%3Ff%3D1%26grp%3Dproduct&amp;m=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2FWordPress%25E3%2580%2580%25E3%2583%2597%25E3%2583%25A9%25E3%2582%25B0%25E3%2582%25A4%25E3%2583%25B3%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="rakuten 9666 サイトの拡張性を飛躍的に高める WordPressプラグイン開発のバイブル[ 宮内 隆行 ]"  data-vars-amp-click-id="rakuten 9666 サイトの拡張性を飛躍的に高める WordPressプラグイン開発のバイブル[ 宮内 隆行 ]">楽天市場</a>					</li>
													<li class="yahoolink">
											</li>
				                											</ul>
					</div>
	</div>
	</div>

<div class="p-blogParts post_content" data-partsID="10168">
<p class="is-style-balloon_box wp-block-paragraph"><strong>検索機能の関連記事</strong></p>


<div class="p-postListWrap"><ul class="p-postList -type-simple"><li class="p-postList__item">
	<a href="https://kekenta-it-blog.com/wp-search-exc-page/" class="p-postList__link">
		<div class="p-postList__body">
			<div class="p-postList__meta">
				<div class="p-postList__times c-postTimes u-thin">
	<time class="c-postTimes__posted icon-posted" datetime="2024-08-15" aria-label="公開日">2024-08-15</time><time class="c-postTimes__modified icon-modified" datetime="2025-03-18" aria-label="更新日">2025-03-18</time></div>
		<span class="p-postList__cat u-thin icon-folder" data-cat-id="74">WordPress</span>
				</div>
			<h2 class="p-postList__title">【WordPress】検索結果から固定ページを除外する方法【コピペで簡単！】</h2>		</div>
	</a>
</li>
<li class="p-postList__item">
	<a href="https://kekenta-it-blog.com/wp-search-condition-custom-ssp/" class="p-postList__link">
		<div class="p-postList__body">
			<div class="p-postList__meta">
				<div class="p-postList__times c-postTimes u-thin">
	<time class="c-postTimes__posted icon-posted" datetime="2024-08-07" aria-label="公開日">2024-08-07</time><time class="c-postTimes__modified icon-modified" datetime="2025-03-18" aria-label="更新日">2025-03-18</time></div>
		<span class="p-postList__cat u-thin icon-folder" data-cat-id="74">WordPress</span>
				</div>
			<h2 class="p-postList__title">【WordPress】検索機能の条件にSEO SIMPLE PACKの設定内容を追加する</h2>		</div>
	</a>
</li>
<li class="p-postList__item">
	<a href="https://kekenta-it-blog.com/wp-search-condition-custom/" class="p-postList__link">
		<div class="p-postList__body">
			<div class="p-postList__meta">
				<div class="p-postList__times c-postTimes u-thin">
	<time class="c-postTimes__posted icon-posted" datetime="2024-08-02" aria-label="公開日">2024-08-02</time><time class="c-postTimes__modified icon-modified" datetime="2025-03-18" aria-label="更新日">2025-03-18</time></div>
		<span class="p-postList__cat u-thin icon-folder" data-cat-id="74">WordPress</span>
				</div>
			<h2 class="p-postList__title">【WordPress】検索機能の条件にタグ・カテゴリー・カスタムフィールドを追加する</h2>		</div>
	</a>
</li>
<li class="p-postList__item">
	<a href="https://kekenta-it-blog.com/wp-create-search/" class="p-postList__link">
		<div class="p-postList__body">
			<div class="p-postList__meta">
				<div class="p-postList__times c-postTimes u-thin">
	<time class="c-postTimes__posted icon-posted" datetime="2024-06-26" aria-label="公開日">2024-06-26</time><time class="c-postTimes__modified icon-modified" datetime="2025-03-18" aria-label="更新日">2025-03-18</time></div>
		<span class="p-postList__cat u-thin icon-folder" data-cat-id="74">WordPress</span>
				</div>
			<h2 class="p-postList__title">【WordPress】検索機能と検索結果ページを作成する方法</h2>		</div>
	</a>
</li>
</ul></div></div>]]></content:encoded>
					
					<wfw:commentRss>https://kekenta-it-blog.com/wp-search-condition-custom/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
