-
テーマファイルでの検索ページの作成:
-
WordPressのテーマフォルダ内にsearch.phpというファイルを作成します。
-
search.phpファイル内には、検索結果を表示するためのコードを記述します。
-
例えば、以下のようなコードをsearch.phpに追加することができます:
<?php get_header(); ?> <div id="primary"> <div id="content" role="main"> <?php if ( have_posts() ) : ?> <h1 class="page-title"> <?php printf( __( 'Search Results for: %s', 'your-theme-textdomain' ), '<span>' . get_search_query() . '</span>' ); ?> </h1> <?php while ( have_posts() ) : the_post(); ?> <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <header class="entry-header"> <h2 class="entry-title"> <a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'your-theme-textdomain' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a> </h2> </header> <div class="entry-summary"> <?php the_excerpt(); ?> </div> </article> <?php endwhile; ?> <?php else : ?> <h1 class="page-title"> <?php _e( 'No results found', 'your-theme-textdomain' ); ?> </h1> <p><?php _e( 'Sorry, but nothing matched your search terms. Please try again with some different keywords.', 'your-theme-textdomain' ); ?></p> <?php endif; ?> </div> </div> <?php get_sidebar(); ?> <?php get_footer(); ?>
-
上記のコードは、簡単な検索結果の表示テンプレートです。テーマのデザインに合わせてカスタマイズすることができます。
-
-
カスタム検索フォームの作成:
-
検索フォームをカスタマイズする場合は、searchform.phpというファイルをテーマフォルダ内に作成します。
-
searchform.phpファイル内には、検索フォームのHTMLコードを記述します。
-
例えば、以下のようなコードをsearchform.phpに追加することができます:
<form role="search" method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>"> <label> <span class="screen-reader-text"><?php echo _x( 'Search for:', 'label', 'your-theme-textdomain' ); ?></span> <input type="search" class="search-field" placeholder="<?php echo esc_attr_x( 'Search …', 'placeholder', 'your-theme-textdomain' ); ?>" value="<?php echo get_search_query(); ?>" name="s" /> </label> <input type="submit" class="search-submit" value="<?php echo esc_attr_x( 'Search', 'submit button', 'your-theme-textdomain' ); ?>" /> </form>
-
上記のコードは、検索フォームのテンプレートです。CSSスタイルシートを使用してデザインをカスタマイズすることができます。
-
-
テーマのfunctions.phpファイルでのカスタム検索の制御:
-
functions.phpファイルは、テーマの機能をカスタマイズするためのファイルです。
-
カスタム検索の動作を制御するために、functions.phpファイールに以下のコードを追加します:
function custom_search_query($query) { if ( !is_admin() && $query->is_search ) { // 検索結果から特定のカテゴリーを除外する場合は以下のように条件を追加します // $query->set( 'cat', '-1,-2,-3' ); } return $query; } add_filter( 'pre_get_posts', 'custom_search_query' );
-
上記のコードは、カスタム検索クエリを実行するためのフィルターを追加します。例えば、特定のカテゴリーからの検索結果を除外する場合に使用することができます。
-