نمایش باکس ویژگی‌های محصول ووکامرس شبیه دیجیکالا

نمایش باکس ویژگی‌های محصول ووکامرس شبیه دیجیکالا

اگر صاحب یک فروشگاه آنلاین وردپرسی با افزونه محبوب WooCommerce هستید، نمایش جذاب و منظم ویژگی‌های محصولات می‌تواند تجربه کاربری را بهبود بخشیده و به افزایش فروش کمک کند. در این مقاله، یک کد جهت نمایش باکس ویژگی‌های محصول ارائه می‌کنیم و به شما نشان می‌دهیم که چرا این کد سفارشی برای نمایش ویژگی‌ها لازم است، چگونه ساخته شده و چگونه می‌توانید از آن در سایت خود استفاده کنید.

چرا ویژگی‎‌های محصول را به صورت باکس نمایش دهیم؟

ویژگی‌های محصول (مانند نوع اتصال، رنگ یا ظرفیت باتری) اطلاعات کلیدی برای مشتریان هستند. نمایش آن‌ها به صورت پیش‌فرض در WooCommerce ممکن است ساده یا نامناسب به نظر برسد. این کد با استفاده از شورت‌کد، امکان نمایش ویژگی‌ها را در جعبه‌های زیبا و responsive فراهم می‌کند. مزایای استفاده از این کد عبارتند از:

  • تجربه کاربری بهتر: با طراحی سه ستونی در دسکتاپ و تبلت و دو ستونی در موبایل، خوانایی را افزایش می‌دهد.
  • بهینه برای سئو: ساختار منظم و دسترسی‌پذیر به اطلاعات، موتورهای جستجو مثل گوگل را در درک بهتر محتوای صفحه کمک می‌کند.
  • انعطاف‌پذیری: می‌توانید آن را در هر بخشی از صفحه محصول قرار دهید.

این کد چگونه ساخته شده است؟

این کد با ترکیب PHP، HTML و CSS نوشته شده است:

  • PHP: از توابع WooCommerce برای استخراج ویژگی‌های محصول استفاده می‌کند و با شورت‌کد ثبت می‌شود.
  • HTML و CSS: از Flexbox برای چیدمان جعبه‌ها بهره می‌برد. نام ویژگی به صورت کمرنگ در بالا و مقدار آن به صورت پررنگ و یک خطی (با سه نقطه برای متن طولانی) در پایین نمایش داده می‌شود.
  • Responsive Design: با media query، در دستگاه‌های مختلف بهینه‌سازی شده است (سه ستون برای دسکتاپ/تبلت و دو ستون برای موبایل).

کد به گونه‌ای طراحی شده که با هر تم وردپرسی سازگار باشد و نیاز به تغییرات گسترده در تم را حذف کند.

چگونه از این کد استفاده کنیم؟

اضافه کردن کد به سایت وردپرسی:

فایل functions.php قالب یا تم کودک (Child Theme) خود را باز کنید و کد زیر را کپی و پیست کنید. توجه کنید که از افزونه‌هایی مانند WP Code یا Code Snippets نیز می‌توانید استفاده کنید:

// تابع سفارشی برای نمایش ویژگی‌ها به صورت جعبه‌های افقی
function custom_display_product_attributes() {
    global $product;

    // اگر محصول وجود نداشت (مثلاً خارج از صفحه محصول)، چیزی نمایش نده
    if (!is_a($product, 'WC_Product')) {
        return '';
    }

    // گرفتن ویژگی‌های محصول
    $attributes = $product->get_attributes();

    if (empty($attributes)) {
        return ''; // اگر ویژگی‌ای وجود نداشت، چیزی نمایش نده
    }

    ob_start();
    echo '<div class="custom-product-attributes">';
    echo '<h3>ویژگی‌ها</h3>'; 

    foreach ($attributes as $attribute) {
        if ($attribute->get_visible()) { // فقط ویژگی‌های قابل نمایش
            $label = wc_attribute_label($attribute->get_name()); // نام ویژگی (مثل "نوع گوشی")
            $values = $product->get_attribute($attribute->get_name()); // مقادیر (مثل "دو گوشی")

            // نمایش هر ویژگی در یک جعبه
            echo '<div class="attribute-box">';
            echo '<div class="attribute-label">' . esc_html($label) . '</div>';
            echo '<div class="attribute-value">' . esc_html($values) . '</div>';
            echo '</div>';
        }
    }

    echo '</div>';
    return ob_get_clean();
}

// ثبت شورت‌کد [product_attributes] برای استفاده در هر جایی (مثل محتوای صفحه یا صفحه‌سازها)
add_shortcode('product_attributes', 'custom_display_product_attributes');

// اضافه کردن CSS برای استایل جعبه‌ها با flexbox 
function custom_attributes_styles() {
    if (is_product()) { // فقط در صفحه تک‌محصول
        ?>
        <style>
            .custom-product-attributes {
                margin: 5px 0;
                direction: rtl;
                text-align: right;
                display: flex;
                flex-wrap: wrap;
                justify-content: flex-start; 
                gap: 10px; /* فاصله بین جعبه‌ها */
            }
            .custom-product-attributes h3 {
                font-size: 18px;
                margin-bottom: 10px;
                flex: 0 0 100%; /* عنوان عرض کامل */
            }
            .attribute-box {
                background-color: #f0f0f0; /* خاکستری روشن */
                border: 1px solid #ddd;
                border-radius: 4px;
                padding: 8px 12px;
                font-size: 14px;
                text-align: right;
                box-sizing: border-box;
                flex: 0 0 calc(33.33% - 10px); /* سه ستون در دسکتاپ/تبلت، با کسر gap */
                display: flex;
                flex-direction: column;
                justify-content: space-between;
                min-height: 70px; /* حداقل ارتفاع برای نمایش مناسب */
				max-width: calc(33.33% - 10px);
            }
            .attribute-label {
                color: #666; /* کمرنگ‌تر */
                font-size: 12px;
                margin-bottom: 4px;
            }
            .attribute-value {
                font-weight: bold; /* پررنگ‌تر */
                font-size: 14px;
                white-space: nowrap; /* یک خطی */
                overflow: hidden;
                text-overflow: ellipsis; /* سه نقطه در انتها برای متن طولانی */
            }
            /* رسانه‌کوئری برای موبایل (زیر 768px): دو ستون */
            @media (max-width: 767px) {
                .attribute-box {
                    flex: 0 0 calc(50% - 10px); /* دو ستون */
                }
            }
        </style>
        <?php
    }
}
add_action('wp_head', 'custom_attributes_styles');

استفاده از شورت‌کد:

در ویرایشگر گوتنبرگ یا هر صفحه‌ساز (مثل المنتور)، شورت‌کد [product_attributes] را وارد کنید.
برای قرار دادن در کد تم، از echo do_shortcode(‘[product_attributes]’); استفاده کنید.

تنظیم ویژگی‌ها:

در پنل ادمین وردپرس، به بخش محصولات بروید، ویژگی‌ها را برای محصول موردنظر تعریف کنید (مثلاً “نوع اتصال: بی‌سیم”) و آن‌ها را قابل نمایش تنظیم کنید.

مقالات مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *