У меня проблема с результатами поиска в woocommerce. Проблема в том, что страница «без результатов» никогда не появляется. Когда я ищу что-то, что, как я знаю, не имеет результатов - он просто сбрасывает все продукты. Пример: http://alpha.safetyworks.com/?s=fkjakfjalkfjdlkjfalkjflkaj%3Blkajfd&post_type=product&tags=0&limit=10&ixwps=1WooCommerce поиск нет результатов не работает
В моей детской теме, у меня есть файл с именем woocommerce.php и код выглядит следующим образом:
<?php get_header();
$bloglayout = neat_get_blog_layout();
?>
<div class="blog-single">
<div class="container">
<?php if($bloglayout == 'l_sidebar'):?><?php get_sidebar();?><?php endif;?>
<div class="main-column">
<?php
// get the post.
if(have_posts()):
// loop the post.
woocommerce_content();
else:
// nothing found.
get_template_part('content', 'none');
endif;
?>
<?php
/**
* neat_pagination action.
* hooked neat_pagination, 10
*/
do_action('neat_pagination');
?>
</div>
<?php if($bloglayout == 'r_sidebar'):?><?php get_sidebar();?><?php endif;?>
</div>
</div>
<?php get_footer();?>
Так из этого, я могу сказать 2 вещи - один в «have_posts()» функция не работает должным образом И/ИЛИ функция woocommerce_content() не работает.
woocommerce_content() живет на туалет-шаблон-functions.php и выглядит
if (! function_exists('woocommerce_content')) {
/**
* Output WooCommerce content.
*
* This function is only used in the optional 'woocommerce.php' template.
* which people can add to their themes to add basic woocommerce support.
* without hooks or modifying core templates.
*
*/
function woocommerce_content() {
if (is_singular('product')) {
while (have_posts()) : the_post();
wc_get_template_part('content', 'single-product');
endwhile;
} else { ?>
<?php if (apply_filters('woocommerce_show_page_title', true)) : ?>
<h1 class="page-title"><?php woocommerce_page_title(); ?></h1>
<?php endif; ?>
<?php do_action('woocommerce_archive_description'); ?>
<?php if (have_posts()) : ?>
<?php do_action('woocommerce_before_shop_loop'); ?>
<?php woocommerce_product_loop_start(); ?>
<?php woocommerce_product_subcategories(); ?>
<?php while (have_posts()) : the_post(); ?>
<?php wc_get_template_part('content', 'product'); ?>
<?php endwhile; // end of the loop. ?>
<?php woocommerce_product_loop_end(); ?>
<?php do_action('woocommerce_after_shop_loop'); ?>
<?php elseif (! woocommerce_product_subcategories(array('before' => woocommerce_product_loop_start(false), 'after' => woocommerce_product_loop_end(false)))) : ?>
<?php wc_get_template('loop/no-products-found.php'); ?>
<?php endif;
}
}
}
woocommerce.php не создает результаты поиска. Ваша детская тема должна иметь 'search.php' – RobBenz
Ну, вот что я бы подумал, но это не так, поскольку я удалил search.php и searchform.php из родительской и дочерней тематик (просто для проверки). В тот момент, когда я удаляю woocommerce.php, поиск завершается неудачно - страница с ошибкой. – timrosenthal
твоя тема предлагает поддержку woocommerce? или это то, что вы добавили? как выглядели ваши детские темы search.php? он говорил что-то вроде ' php if (has_posts()): while (has_posts()): the_post(); wc_get_template_part ('content', 'product'); ENDWHILE; ?> '' php else: wp_redirect (get_bloginfo ('siteurl'). '/ 404', 404); Выход; ENDIF; ?> ' – RobBenz