Я внедряю сайт woocommerce.Здесь я предоставляю строку поиска для поиска только товаров.
<form action="<?php echo get_site_url() ?>" method="GET">
<div class="input-group">
<input type="search" name="s" class="form-control" placeholder="Search Products" required>
<input type="hidden" name="post_type" value="products" />
<div class="input-group-btn">
<button class="btn btn-default" type="submit">
<i class="fa fa-search" aria-hidden="true"></i>
</button>
</div>
</div>
</form>
Результат поиска по коду приведен на странице single-product
.На боковой панели страницы одного продукта у меня есть раздел, который показывает product attributes
и attribute terms
.
. Следующий код предназначен для получения доступных размеров продукта на текущей странице (product-single
)
*.1011 *
Это html
, где я печатаю их в HTML-DOM
,
<ul class="w-woo-inner-box">
<?php $sizes = getaSizes();
if(!empty($sizes)):
foreach ($sizes as $key => $size) { ?>
<li>
<label class="checkbox inline-block <?php echo checkurlactive($size['attribute'], $size['term_id']); ?>">
<a href="<?php echo generate_filter_url($size['attribute'], $size['term_id']) ?>">
<input type="checkbox" class="">
<label> </label>
<span><?php echo $size['size']; ?></span>
</a>
</label>
</li>
<?php }
else: ?>
<li class="no-val-found"><span>No sizes found!</span> </li>
<?php endif; ?>
</ul>
ПРОБЛЕМА: Это было огромное описание.Хорошо, теперь давайте посмотрим на проблему, из приведенного выше кода, когда я ищу existing product name
, он работает нормально.Но когда я ищу некоторые значения из other post types
На странице есть php error
с упоминанием
Fatal error: Call to a member function get_attributes() on boolean in /..../functions.php on line 482
И я попытался отладить его и обнаружил, что следующий цикл в getSizes()
возвращает другой post type values
,
if ( have_posts() ) :
while ( have_posts() ) : the_post();
В чем здесь проблема?Как я могу избежать поиска другого post type values
?