SearchWP Documentation

インストールガイドを表示したり、ナレッジベースを参照したり、SearchWPの多くのフックについて確認したりできます。

タームアーカイブの優先順位

現在のバージョン: 1.2.2

タームアーカイブ優先度拡張機能は非推奨になりました
代わりにタクソノミーソースを使用してください。

タームアーカイブ優先度拡張機能は、一致が見つかった場合にタクソノミータームアーカイブページを検索結果の最上位に表示させます。これにより、タクソノミータームで検索し、該当するタクソノミーアーカイブページを検索結果内に表示させることができます!

この拡張機能は、補足検索エンジンにのみ適用されます。

プラグインがアクティブな場合、すべての補足検索エンジンにこの変更が適用されますが、以下のような方法で特定の補足検索エンジンに絞り込むことができます。

<?php
function my_maybe_include_term_archive( $include, $engine, $terms ) {
// only have term archives included for supplemental search engine with name 'supplemental'
return ( $engine == 'supplemental' ) ? true : false;
}
add_filter( 'searchwp_term_archive_enabled', 'my_maybe_include_term_archive', 10, 3 );
view raw gistfile1.php hosted with ❤ by GitHub

注意: デフォルトでは、タームアーカイブ優先度は完全一致するタクソノミータームをサポートしています。タクソノミーターム内の任意の単語の一致を有効にしたい場合は、次のフィルターを使用してください。

<?php
add_filter( 'searchwp_tax_term_or_logic', '__return_true' );
view raw gistfile1.php hosted with ❤ by GitHub

有効化したら、結果内のタームアーカイブページを考慮するために、検索結果ループをカスタマイズする必要があります。これは、タームアーカイブ優先度拡張機能を適切に実装する方法を示す完全なテーマテンプレートの例です。

<?php
/* Template Name: SearchWP Term Archive Priority Sample */
global $post;
// Retrieve applicable query parameters.
$search_query = isset( $_GET['searchwp'] ) ? sanitize_text_field( $_GET['searchwp'] ) : null;
$search_page = isset( $_GET['swppg'] ) ? absint( $_GET['swppg'] ) : 1;
// Perform the search.
$search_results = [];
$search_pagination = '';
if ( ! empty( $search_query ) && class_exists( '\\SearchWP\\Query' ) ) {
$searchwp_query = new \SearchWP\Query( $search_query, [
'engine' => 'supplemental', // The Engine name.
'fields' => 'all', // Load proper native objects of each result.
'page' => $search_page,
] );
$search_results = $searchwp_query->get_results();
$search_pagination = paginate_links( array(
'format' => '?swppg=%#%',
'current' => $search_page,
'total' => $searchwp_query->max_num_pages,
) );
}
get_header(); ?>
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<header class="page-header">
<h1 class="page-title">
<?php if ( ! empty( $search_query ) ) : ?>
<?php printf( __( 'Search Results for: %s' ), esc_html( $search_query ) ); ?>
<?php else : ?>
SearchWP Supplemental Search
<?php endif; ?>
</h1>
<!-- BEGIN Supplemental Engine Search form -->
<form role="search" method="get" class="search-form"
action="<?php echo site_url( 'search-results/' ); ?>">
<label>
<span class="screen-reader-text">
<?php echo _x( 'Search for:', 'label' ) ?>
</span>
<input type="search" class="search-field"
name="searchwp"
placeholder="<?php echo esc_attr_x( 'Search...', 'placeholder' ) ?>"
value="<?php echo isset( $_GET['searchwp'] ) ? esc_attr( $_GET['searchwp'] ) : '' ?>"
title="<?php echo esc_attr_x( 'Search for:', 'label' ) ?>" />
</label>
<input type="submit" class="search-submit"
value="<?php echo esc_attr_x( 'Search', 'submit button' ) ?>" />
</form>
<!-- END Supplemental Engine Search form -->
</header>
<?php if ( ! empty( $search_query ) && ! empty( $search_results ) ) : ?>
<?php foreach ( $search_results as $search_result ) : ?>
<article class="page hentry search-result">
<?php
switch( get_class( $search_result ) ) {
case 'WP_Post':
$post = $search_result;
?>
<header class="entry-header"><h2 class="entry-title">
<a href="<?php echo get_permalink(); ?>"><?php the_title(); ?></a>
</h2></header>
<div class="entry-summary"><?php the_excerpt(); ?></div>
<?php
wp_reset_postdata();
break;
case 'SearchWPTermResult':
?>
<header class="entry-header"><h2 class="entry-title">
<a href="<?php echo $search_result->link; ?>">
<?php echo $search_result->taxonomy; ?>: <?php echo $search_result->name; ?>
</a>
</h2></header>
<div class="entry-summary">
<p><?php echo $search_result->description; ?></p>
</div>
<?php
break;
}
?>
</article>
<?php endforeach; ?>
<?php if ( $searchwp_query->max_num_pages > 1 ) : ?>
<div class="navigation pagination" role="navigation">
<h2 class="screen-reader-text">Results navigation</h2>
<div class="nav-links"><?php echo wp_kses_post( $search_pagination ); ?></div>
</div>
<?php endif; ?>
<?php elseif ( ! empty( $search_query ) ) : ?>
<p>No results found, please search again.</p>
<?php endif; ?>
</main> <!-- .site-main -->
</div> <!-- .content-area -->
<?php get_footer(); ?>

変更履歴

1.2.2

  • [修正] 場合によっては結果の処理
  • [修正] 場合によっては管理画面の検索実行時に意図しない適用を修正
  • [更新] アップデーターを更新しました

1.2.1

  • [修正] PHP警告
  • [更新] アップデーターを更新しました

1.2.0

  • [新規] SearchWP 4 のサポート

1.1.8

  • [新規] ライブ検索のサポート
  • [更新] アップデーターを更新しました

1.1.7

  • [修正] searchwp_term_archive_term_args に渡された引数の数
  • [修正] SearchWP がアクティブでない場合の致命的なエラー
  • [修正] SearchWP コアの部分一致設定を確認

1.1.6

  • [修正] 共有タクソノミーが結果に表示されない問題を修正

1.1.5

  • [修正] ライブ検索の統合が過度に推測的であった問題を修正。オプトインになりました。
  • [新規] ライブ検索の統合をオプトインするための新しいフィルター searchwp_term_archive_live_search

1.1.4

  • [新規] 新しいフィルター searchwp_term_archive_term_args
  • [改善] Live Ajax Search の検索に対するサポートが向上しました
  • [更新] アップデーターを更新しました

1.1.3

  • [変更] OR/%LIKE% マッチを使用する場合、空のタームはデフォルトで無視されなくなりました
  • [新規] OR/%LIKE% 引数をカスタマイズするための新しいフィルター searchwp_term_archive_term_args

1.1.2

  • [修正] 複数の投稿タイプにまたがるタームを含む不適切な結果の問題を修正
  • [更新] アップデーターを更新しました

1.1.1

  • [改善] LIKEターム/あいまい一致との統合が改善され、マーシャルタームマッチングが可能になりました

1.1

  • [改善] SearchWPライセンスキーに基づく自動更新

0.6

  • [改善] フォーマット

0.5

  • [修正] オフセット処理の改善
  • [修正] PHP Warning のクリーンアップ
  • [改善] 結果がタクソノミーの重み順に並べ替えられるようになりました

0.4

  • [新規] 複数単語のタームでORロジックを可能にする新しいフィルター searchwp_tax_term_or_logic

0.3

  • [修正] 無効な投稿タイプが考慮されていなかった問題を修正

0.2

  • [修正] カスタムタクソノミーが登録される前にタクソノミーが設定されていた問題を修正
  • [改善] 複数単語のタームを考慮

0.1

  • 初回リリース

今日からより良いWordPress検索エクスペリエンスを作成しましょう

役に立たない検索結果で訪問者を失うことはもうありません。SearchWPを使用すると、独自のスマートなWordPress検索をすばやく簡単に作成できます。

Get SearchWP Now
複数の検索エンジンアイコン