php 修改标准WordPress搜索表单以执行分面搜索。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 修改标准WordPress搜索表单以执行分面搜索。相关的知识,希望对你有一定的参考价值。

<?php
add_filter( 'get_search_form', 'prefix_render_faceted_search_form' );
/**
 * Adds checkboxes to the search form for searching specific post types.
 *
 * @param string $form The search form HTML output.
 *
 * @return string
 */
function prefix_render_faceted_search_form( $form ) {

	// Associative array of post type names and labels.
	$post_types = array(
		'book'  => 'Books',
		'movie' => 'Movies',
		'music' => 'Music',
	);

	// Build the facet checkboxes.
	$facet_checkboxes = '';
	foreach ( $post_types as $name => $label ) {

		$facet_checkboxes .= sprintf( '<label><span class="screen-reader-text">%1$s %2$s</span><input type="checkbox" name="post_type[]" value="%3$s">%2$s</label>',
			_x( 'Search', 'label' ),
			$label,
			$name
		);
	}

	$form = '<form role="search" method="get" class="search-form" action="' . esc_url( home_url( '/' ) ) . '">
	        	<div class="search-form__facets">' . $facet_checkboxes . '</div>
	        	<label>
					<span class="screen-reader-text">' . _x( 'Search for:', 'label' ) . '</span>
					<input type="search" class="search-field" placeholder="' . esc_attr_x( 'Search &hellip;', 'placeholder' ) . '" value="' . get_search_query() . '" name="s" />
				</label>
				<input type="submit" class="search-submit" value="' . esc_attr_x( 'Search', 'submit button' ) . '" />
			</form>';

	return $form;
}

以上是关于php 修改标准WordPress搜索表单以执行分面搜索。的主要内容,如果未能解决你的问题,请参考以下文章

php WordPress - 在同一页面上搜索表单显示

php- 对数组中的数据进行分页

修改 Wordpress 搜索功能以配合 Yoast SEO

PHP 如何仅显示广告以搜索访问者| WordPress的

Javascript 和 PHP 填充 WordPress 表单元素

wordpress调用函数大全