$title ) {
wp_update_post( array(
'ID' => intval($product_id),
'post_title' => sanitize_text_field($title)
));
}
}
// موجودی
if ( isset($_POST['stock']) ) {
foreach ( $_POST['stock'] as $product_id => $stock_value ) {
wc_update_product_stock( $product_id, intval($stock_value) );
}
}
// irk_additional_info
if ( isset($_POST['irk_info']) ) {
foreach ( $_POST['irk_info'] as $product_id => $irk_value ) {
update_post_meta( $product_id, 'irk_additional_info', sanitize_text_field($irk_value) );
}
}
// برند
if ( isset($_POST['brand_field']) ) {
foreach ( $_POST['brand_field'] as $product_id => $brand_id ) {
if ( $brand_id ) {
wp_set_object_terms( $product_id, intval($brand_id), 'product_brand', false );
} else {
wp_set_object_terms( $product_id, null, 'product_brand' );
}
}
}
echo '
اطلاعات محصولات با موفقیت بروزرسانی شد.
';
}
// پاک کردن انتخابی irk_additional_info
if ( isset($_POST['asm_clear_selected']) && !empty($_POST['selected_products']) ) {
foreach ($_POST['selected_products'] as $pid) {
update_post_meta($pid, 'irk_additional_info', '');
}
echo 'فیلد irk_additional_info محصولات انتخاب شده پاک شد.
';
}
// کوئری محصولات
$args = array(
'post_type' => 'product',
'posts_per_page' => $per_page,
'paged' => $paged,
);
if ( $search ) {
$args['s'] = $search;
}
if ( !empty($brand_search) ) {
$like = '%' . $wpdb->esc_like( $brand_search ) . '%';
$term_ids = $wpdb->get_col( $wpdb->prepare(
"SELECT term_id FROM {$wpdb->terms} WHERE name LIKE %s",
$like
) );
if ( !empty($term_ids) ) {
$args['tax_query'] = array(
array(
'taxonomy' => 'product_brand',
'field' => 'term_id',
'terms' => $term_ids,
'operator' => 'IN',
)
);
} else {
$args['post__in'] = array(0);
}
}
$loop = new WP_Query($args);
// همه برندها برای dropdown
$all_brands = get_terms( array(
'taxonomy' => 'product_brand',
'hide_empty' => false,
) );
echo 'مدیریت موجودی و اطلاعات محصولات
';
// فرم جستجو
echo '
';
// جدول محصولات
echo '
';
// صفحهبندی
$total_pages = $loop->max_num_pages;
if($total_pages>1){
$current_page = max(1, $paged);
echo '
';
echo paginate_links(array(
'base' => add_query_arg('paged','%#%'),
'format' => '',
'prev_text' => '« قبلی',
'next_text' => 'بعدی »',
'total' => $total_pages,
'current' => $current_page
));
echo '
';
}
// چکباکس سراسری
echo '';
echo '
';
}