مدیریت دستهبندیهای محصولات در فروشگاه ووکامرس میتواند با افزایش تعداد دستهها دشوار و زمانبر شود.
مخصوصاً هنگام افزودن یا ویرایش محصولات، پیدا کردن دستهبندی مناسب در لیست طولانی، تجربه کاربری مدیریت سایت را کاهش میدهد.
در این مقاله، با استفاده از یک قطعه کد ساده و بدون نیاز به نصب افزونه، قابلیت جستجوی زنده (Live Search) در بخش دستهبندیهای محصولات ووکامرس به پنل مدیریت وردپرس شما اضافه میشود.
این کد با افزودن یک فیلد جستجو در بالای لیست دستهبندیها، و برند ها و ... امکان فیلتر سریع و هوشمندانه دستهها را فراهم میکند و سرعت و دقت انتخاب دستهبندیها را افزایش میدهد.
مزایای استفاده از این روش عبارتند از:
-
افزایش کارایی و سرعت مدیریت محصولات
-
کاهش نیاز به پیمایش طولانی در لیست دستهبندیها
-
بدون بارگذاری اضافی یا استفاده از افزونههای جانبی
-
حفظ عملکرد سبک و بهینه سایت
اگر شما هم به دنبال بهبود تجربه مدیریت فروشگاه ووکامرس خود هستید، این راهکار ساده و کاربردی را از دست ندهید.
کد مربوطه :
function custom_admin_product_taxonomy_search_box() {
$screen = get_current_screen();
if ( $screen && $screen->post_type === 'product' ) {
?>
<script>
document.addEventListener('DOMContentLoaded', function () {
// آرایه ای از آیدیهای تاکسونومیها که میخوای روشون سرچ فعال بشه
const taxonomies = ['#product_cat-all', '#product_brand-all'];
taxonomies.forEach(selector => {
const box = document.querySelector(selector);
if (!box) return;
const searchInput = document.createElement('input');
searchInput.type = 'text';
searchInput.placeholder = 'جستجو...';
searchInput.style.width = '100%';
searchInput.style.marginBottom = '8px';
searchInput.style.marginTop = '15px';
box.prepend(searchInput);
searchInput.addEventListener('input', function () {
const filter = this.value.toLowerCase();
const items = box.querySelectorAll('li');
items.forEach(function (item) {
const label = item.textContent.toLowerCase();
item.style.display = label.includes(filter) ? '' : 'none';
});
});
});
});
</script>
<?php
}
}
add_action('admin_footer-post.php', 'custom_admin_product_taxonomy_search_box');
add_action('admin_footer-post-new.php', 'custom_admin_product_taxonomy_search_box');