php 按类别筛选搜索 - woocommerce产品

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 按类别筛选搜索 - woocommerce产品相关的知识,希望对你有一定的参考价值。

<?php
/**
 * Custom search function that allows filtering products by category
 *
 * @package SystemsSavedMe\Starter
 * @since   1.0.0
 * @author  Krista Rae LLC
 * @link    https://kristarae.co
 * @license GPL
 */
namespace SystemsSavedMe\Starter;

add_shortcode( 'custom_search', __NAMESPACE__ . '\do_custom_search' );
/**
 * Description of expected behavior.
 *
 * @since 1.0.0
 *
 * @param $atts
 *
 * @return string
 */
function do_custom_search( $atts ) {

	extract(shortcode_atts(array(
		'before' => '',
		'middle' => '',
		'after'  => '',
		'buttonText' => 'Save me from myself!'
	), $atts));

	$content = '<div class="custom-search">';
	$content .= '<form method="get" action="' . home_url() . '">';
	$content .= esc_attr( $before );
	$content .= '<select id="product-cat" name="product_cat">';
	$content .= get_category_list();
	$content .= '</select>';
	$content .= esc_attr( $middle );
	$content .= '<input id="search-text" type="text" name="s" value="" required="required" />';
	$content .= '<button type="submit">' . esc_attr( $buttonText ) . '</button>';
	$content .= '<input type="hidden" value="product" name="post_type" />';
	$content .= '</form>';
	$content .= esc_attr( $after ) . '</div>';

	return $content;
}

/**
 * Generate a list of product categories
 *
 * @since 1.0.0
 *
 * @return void
 */
function get_category_list() {

	$categoryList = '<option value=""></option>\n';
	$cat_args = array(
		'orderby'    => 'name',
		'order'      => 'asc',
		'hide_empty' => true,
	);

	$product_categories = get_terms( 'product_cat', $cat_args );

	foreach ( $product_categories as $key => $category ) {
		$categoryList .= '<option value="' . $category->slug . '">' . $category->name . "</option>\n";
	}
	return $categoryList;
}

以上是关于php 按类别筛选搜索 - woocommerce产品的主要内容,如果未能解决你的问题,请参考以下文章

从特定类别获取 WooCommerce 产品

PHP 按帖子类型筛选WordPress搜索结果

相关产品仅限于WooCommerce 3中的标签,而不是类别

使用 WooCommerce 在简码中按产品类别获取产品

Woocommerce 按产品类别对购物车产品进行排序

PHP按类别过滤搜索结果并计数