Доброго времени суток, помогите пожалуйста с фильтрацией Мне нужно чтобы для каждой категории была своя таблица , но не знаю как это реализовать
Код
if(isset($_POST['wqo_hval']) && isset($_POST['product_cat']) && $_POST['product_cat']!=''){
/*$args = array(
'post_type' => 'product',
'post_status' => 'publish',
'orderby' => $_POST['wqo_front_order_by'],
'order' => $_POST['wqo_front_order'],
'type' => 'numeric',
'posts_per_page' => 1000,
'meta_query' => array(
array(
'key' => '_visibility',
'value' => array('catalog', 'visible'),
'compare' => 'IN'
)
),
'tax_query' => array(
array(
'taxonomy' => 'product_cat',
'terms' => array( esc_attr($_POST['product_cat']) ),
'field' => 'slug',
'operator' => 'IN'
)
)
);*/
$args = array(
'post_type' => 'product',
'post_status' => 'publish',
'ignore_sticky_posts' => 1,
'posts_per_page' => 1000,
'orderby' => $_POST['wqo_front_order_by'],
'order' => $_POST['wqo_front_order'],
'tax_query' => array(
array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array( esc_attr($_POST['product_cat']) ),
'operator' => 'IN'
)
)
);
}else{
$args = array(
'post_status' => 'publish',
'post_type' => 'product',
/*'ignore_sticky_posts' => 1,*/
'orderby' => $ordby,
'type' => 'numeric',
'order' => $ord,
'posts_per_page' => -1,
'tax_query' => array(
array(
'taxonomy' => 'product_cat',
'field' => 'term_id',
'terms' => [242,243,244,245],
'operator' => 'IN'
)
)
);
}
// echo '<pre>';
// print_r($args);
//die('-----------');
$loop = new WP_Query( $args );
if ($loop->have_posts()){
echo '<table class="wqo_vew_table"><tr><th>Имя</th><th>Картинка</th><th>Цена</th><th>Кол-во</th><th></th></tr>';
foreach($loop->posts as $val){
$product = get_product($val->ID );
$variation_display=false;
$variation=false;
if (get_option('wqo_display_variation')=='1'){
$variation_display= true;
}
if ($variation_display == true){
$variation_query = new WP_Query();
$args_variation = array(
'post_status' => 'publish',
'post_type' => 'product_variation',
'posts_per_page' => -1,
'post_parent' => $val->ID
);
$variation_query->query($args_variation);
if ($variation_query->have_posts()){
$variation=true;
}
}
ini_set('display_errors','Off');
if($variation==true && $product->is_type( 'variable' )){
$product_name_org=$val->post_title;
foreach($variation_query->posts as $var_data){
$product = get_product($var_data->ID);
$max_stock=1000;
if($product->variation_has_stock==1){
//$max_stock=$product->total_stock;
$max_stock=$product->get_stock_quantity();
}
$availability=$product->get_availability();
if($availability['class']=='out-of-stock'){
$max_stock=0;
}
$prod_att=woocommerce_get_formatted_variation($product->get_variation_attributes(),true);
if($prod_att){
$product_name='<a href="'. plugins_url().'/woo-quick-order/includes/wqo-popup-data.php?pid='.$var_data->ID.'&wqo_v=1" class="simple-ajax-popup-align-top">'.$product_name_org.'('.$prod_att.')</a>';
}else{
$product_name='<a href="'. plugins_url().'/woo-quick-order/includes/wqo-popup-data.php?pid='.$var_data->ID.'&wqo_v=1" class="simple-ajax-popup-align-top">'.$product_name_org.'</a>';
}
$product_price=woocommerce_price($product->get_price());
$img_url = WQO_BASE_URL. '/images/placeholder.png';
if (has_post_thumbnail($var_data->ID)){
$img_url2 = wp_get_attachment_url( get_post_thumbnail_id($var_data->ID) );
$thumb = wp_get_attachment_image_src( get_post_thumbnail_id($var_data->ID), 'thumbnail' );
$img_url = $thumb['0'];
} else if (has_post_thumbnail($val->ID)){
$img_url2 = wp_get_attachment_url( get_post_thumbnail_id($val->ID) );
$thumb = wp_get_attachment_image_src( get_post_thumbnail_id($val->ID), 'thumbnail' );
$img_url = $thumb['0'];
}
if (get_option('wqo_display_image_preview')=='1'){
echo '<tr><td>'.$product_name.'</td><td><a href="'.$img_url.'" class="preview"><img src="'.$img_url.'" height="'.$wqo_img_size.'" width="'.$wqo_img_size.'" /></a></td><td>'.$product_price.'</td>';
}else{
echo '<tr><td>'.$product_name.'</td><td><img src="'.$img_url.'" height="'.$wqo_img_size.'" width="'.$wqo_img_size.'" /></td><td>'.$product_price.'</td>';
}
?>
<td>
<?php
if($max_stock!=0){
?><input type="number" style="width:70px;" value="1" min="1" class="product_qty" max="<?php echo $max_stock;?>" name="product_qty_<?php echo $var_data->ID?>" id="product_qty_<?php echo $var_data->ID?>" /><?php
}else{
?><input type="number" style="width:70px;" value="0" min="0" class="product_qty" max="0" name="product_qty_<?php echo $var_data->ID?>" id="product_qty_<?php echo $var_data->ID?>" /><?php
}
?>
</td>
<?php
if($product->regular_price && $max_stock!=0){
echo '<td><div class="wqo_add_btn"><a onclick="wqo_add_prod('.$val->ID.','.$var_data->ID.');"><div class="wqo_add_cart"></div></a></div></td></tr>';
} else {
echo '<td></td></tr>';
}
}//end foreach
}else{
wqo_show_prod($val->ID,$wqo_img_size, $val->post_title);
}
}//end foreach
echo '</table>';
}//if
}
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
У меня есть файл conretephp, в котором, в зависимости от выбранного <option>, выводятся соответствующие данные по Ajax-запросу (отдельный скрипт)
Объясните по-простому, на пальцах, зачем и для чего нужны интерфейсы (Java)? Все эти заумные книжные определения и формулировки, ясности совсем...
Есть функция создания объявления, с возможностью загружать одну фотографиюНе могу переделать таким образом, чтобы можно было загружать...
я хочу чтобы в поле results с каждым запросом дополнялось значение, а не обновлялосьну сохранить результаты теста