Модуль поиска Divi не может найти продукт woocommerce, на странице результатов нет результатовPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Модуль поиска Divi не может найти продукт woocommerce, на странице результатов нет результатов

Сообщение Anonymous »

мой веб-сайт https://trendyselect.net/, когда я хочу выполнить поиск продукта woocommerce, он всегда отображает результат, который не найден
Я добавил фрагмент кода в function.php
со следующим кодом, но ничего не работает

Код: Выделить всё

/* Search Product Tags */
add_filter('posts_search', 'wpz_add_product_tags_to_search', 10, 2);
function wpz_add_product_tags_to_search($searchSql, $query = false) {
if ( is_admin() || ! is_a( $query, 'WP_Query' ) || ! $query->is_search ) {
return $searchSql;
}
if ($searchSql && isset( $_GET['et_pb_searchform_submit'] )) {
global $wpdb;
$searchSql = preg_replace(
'/ (AND|OR) \\('.preg_quote($wpdb->posts).'\\.post_content (NOT )?LIKE \'(.+)\'\\)/U',
'$0 $1 $2 EXISTS( SELECT 1 FROM '.$wpdb->term_relationships.' JOIN '.$wpdb->term_taxonomy.' USING (term_taxonomy_id) JOIN '.$wpdb->terms.' USING (term_id) WHERE object_id='.$wpdb->posts.'.ID AND taxonomy="product_tag" AND name LIKE \'$3\')',
$searchSql
);
}
return $searchSql;
}
add_action( 'wp_loaded', 'wpz_remove_default_search' );
function wpz_remove_default_search() {
remove_action( 'pre_get_posts', 'et_pb_custom_search' );
add_action( 'pre_get_posts', 'wpz_custom_search' );
}
function wpz_custom_search( $query = false ) {
if ( is_admin() || ! is_a( $query, 'WP_Query' ) || ! $query->is_search ) {
return;
}
if ( isset( $_GET['et_pb_searchform_submit'] ) ) {
$postTypes = array();
if ( ! isset($_GET['et_pb_include_posts'] ) && ! isset( $_GET['et_pb_include_pages'] ) ) {
$postTypes = array( 'post' );
}
if ( isset( $_GET['et_pb_include_pages'] ) ) {
$postTypes = array( 'page' );
}
if ( isset( $_GET['et_pb_include_posts'] ) ) {
$postTypes[] = 'post';
}
/* BEGIN Add custom post types */
$postTypes[] = 'product';
/* END Add custom post types */
$query->set( 'post_type', $postTypes );
if ( ! empty( $_GET['et_pb_search_cat'] ) ) {
$categories_array = explode( ',', $_GET['et_pb_search_cat'] );
$query->set( 'category__not_in', $categories_array );
}
if ( isset( $_GET['et-posts-count'] ) ) {
$query->set( 'posts_per_page', (int) $_GET['et-posts-count'] );
}
}
}
Надеюсь, что любой эксперт поможет мне решить мою проблему

Подробнее здесь: https://stackoverflow.com/questions/791 ... -in-result
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»