جستجوی محصولات بر اساس فیلد سفارشی
جستجوی محصولات بر اساس فیلد سفارشی در مدیریت وردپرس
در WooCommerce دو نوع جستجو وجود دارد: مشتری (frontend) و admin (backend).
جستجوی محصولات در مدیریت ووکامرس
در مدیریت فروشگاه آنلاین با افزونه ووکامرس در وردپرس، شما میتوانید از ابزارها و قابلیتهای مختلفی برای جستجو و مدیریت محصولات خود استفاده کنید. در زیر توضیحی از چگونگی جستجوی محصولات در مدیریت ووکامرس آمده است:
1. ورود به مدیریت ووکامرس :
– پس از ورود به پنل مدیریت وردپرس، در منوی سمت چپ بر روی “محصولات” کلیک کنید. این بخش شامل تمام ابزارها و مدیریت محصولات ووکامرس است.
2. صفحه محصولات :
– بعد از کلیک بر روی “محصولات”، شما به صفحهای هدایت میشوید که لیستی از تمام محصولات شما را نشان میدهد.
3. جعبه جستجو :
– در بالای صفحه محصولات، یک جعبه جستجو وجود دارد که میتوانید محصولات را بر اساس نام، کد محصول یا دیگر ویژگیها جستجو کنید.
4. فیلترها و دستهبندیها :
– در صفحه محصولات، شما میتوانید از فیلترها و دستهبندیها برای محصولات خود استفاده کنید. با انتخاب دستهبندیها و فیلترهای مختلف، محصولات مورد نظر خود را به سرعت پیدا کنید.
5. جستجوی پیشرفته :
– افزونه ووکامرس به شما امکان جستجوی پیشرفته بر اساس ویژگیهای مختلف محصولات را میدهد. میتوانید از این امکان برای جستجوی دقیقتر محصولات استفاده کنید.
6. ترتیب و مرتبسازی :
– شما میتوانید محصولات را بر اساس معیارهای مختلف مرتب کنید. از منوی “مرتبسازی بر اساس” در بالای صفحه استفاده کنید تا محصولات را بر اساس قیمت، تاریخ انتشار و غیره مرتب کنید.
7. نمایش به صورت لیست یا شبکه :
– شما میتوانید نمایش محصولات را به صورت لیست یا شبکه انتخاب کنید. این به شما امکان مشاهده بهتر محصولات و انتخاب راحتتر آنها را میدهد.
8. ویرایش محصولات :
– با کلیک بر روی نام یک محصول، میتوانید وارد صفحه ویرایش آن محصول شوید و تغییرات مورد نیاز را اعمال کنید.
با این مراحل، شما میتوانید محصولات خود را در مدیریت ووکامرس جستجو و مدیریت کنید. اگر نیاز به جستجوی پیچیدهتر یا استفاده از افزونههای مرتبط با جستجو و فیلتر دارید، میتوانید به استفاده از افزونههای مختص ووکامرس در این زمینه نیز فکر کنید.
حال اگر در مدیریت و محصولات خود از فیلد دلخواه استفاده می کنید چهه کار باید کنید ؟
فرض کنید، به عنوان یک مدیر فروشگاه WooCommerce، یک فیلد سفارشی محصول (به عنوان مثال “gtin”) اضافه کرده اید، و می خواهید مطمئن شوید که جستجوی backend نیز محصولاتی را که “gtin” برابر با عبارت جستجو است، برمی گرداند. قطعه زیر به شما در انجام این کار کمک می کند. لذت ببرید!
جستجوی محصولات بر اساس فیلد سفارشی
کد زیر را در فایل فانکش قالب خود قرار داده و در قسمت محصولات کادر جستجو را مانند تصویر خواهید دید
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
add_filter( 'posts_where', 'irwoocommerce_search_products_by_custom_field_in_admin', 9999, 2 ); function irwoocommerce_search_products_by_custom_field_in_admin( $where, $wp_query ) { global $wpdb, $pagenow; $post_type = 'product'; $custom_fields = array( "gtin", "ean", ); if ( is_admin() && 'edit.php' === $pagenow && $wp_query->query['post_type'] === $post_type && isset( $_GET['s'] ) ) { $get_post_ids = array(); foreach ( $custom_fields as $custom_field_name ) { $args = array( 'posts_per_page' => -1, 'post_type' => $post_type, 'meta_query' => array( array( 'key' => $custom_field_name, 'value' => wc_clean( wp_unslash( $_GET['s'] ) ), 'compare' => 'LIKE' ) ), 'fields' => 'ids', ); $posts = get_posts( $args ); if ( ! empty( $posts ) ) { foreach ( $posts as $post_id ) { $get_post_ids[] = $post_id; } } } $search_ids = array_filter( array_unique( array_map( 'absint', $get_post_ids ) ) ); if ( count( $search_ids ) > 0 ) { $where = str_replace( "wp_posts.ID IN (0)", "wp_posts.ID IN (" . implode( ',', $search_ids ) . ")", $where ); } } return $where; } |