ورود و ثبت نام
ورود | ثبت نام
captcha
با ورود و یا ثبت نام در آقای طراحی شما شرایط و قوانین استفاده از سرویس‌های سایت آقای طراحی و قوانین حریم خصوصی آن را می‌پذیرید.

ایجاد شورت‌کد ریسپانسیو برای نمایش قیمت‌های قبلی محصول

ایجاد شورت‌کد ریسپانسیو برای نمایش قیمت‌های قبلی محصول

 شورت کد قیمت‌های قبلی محصول : در این مقاله، قصد داریم نحوه ایجاد یک شورت‌کد وردپرس برای نمایش قیمت‌های قبلی محصولات را به صورت ریسپانسیو توضیح دهیم. این لیست در قالب یک پاپ‌آپ قابل مشاهده است که با کلیک روی دکمه‌ای نمایش داده می‌شود.

مراحل ایجاد شورت‌کد برای نمایش لیست قیمت‌های قبلی

1. ایجاد شورت‌کد در فایل functions.php

ابتدا باید شورت‌کد مورد نظر خود را در فایل functions.php قالب وردپرس خود ایجاد کنید. این شورت‌کد اطلاعات قیمت‌های قبلی محصولات را از متادیتا (metadata) محصول دریافت کرده و آنها را در یک جدول نمایش می‌دهد. جدول به گونه‌ای طراحی شده است که ریسپانسیو باشد و در نمایشگرهای موبایل نیز به‌درستی نمایش داده شود.

 

 

در اینجا کدی که باید به فایل functions.php خود اضافه کنید را آورده‌ایم:


function display_previous_prices_shortcode($atts) {
global $post>
$previous_prices = get_post_meta($post->ID, '_previous_prices', true);
if (!is_array($previous_prices) || empty($previous_prices)) {
return '<p>قیمت قبلی موجود نیست.</p>';
}
$items_per_page = 20;
$total_pages = ceil(count($previous_prices) / $items_per_page);
$current_page = isset($_GET['page']) ? max(1, intval($_GET['page'])) : 1;
$output = '<button id="previous-prices-btn" style="padding: 10px 20px; background-color: #007bff; color: #fff; border: none; border-radius: 5px; cursor: pointer;">';
$output .= '<i class="fa-solid fa-shop" style="margin-right: 5px;"></i> لیست قیمت‌ها</button>';
$output .= '<div id="previous-prices-popup" style="display:none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: #fff; padding: 20px; box-shadow: 0 0 10px rgba(0,0,0,0.5); border-radius: 10px; z-index: 1000; max-width: 90%; overflow-y: auto;">';
$output .= '<h2>لیست قیمت‌های قبلی</h2>';
$output .= '<div style="overflow-x: auto;">';
$output .= '<table style="width: 100%; border-collapse: collapse; text-align: right; direction: rtl;">';
$output .= '<thead><tr><th style="border-bottom: 1px solid #ddd; padding: 8px;">ردیف</th><th style="border-bottom: 1px solid #ddd; padding: 8px;">تاریخ</th><th style="border-bottom: 1px solid #ddd; padding: 8px;">قیمت</th></tr></thead>';
$output .= '<tbody>';
$start_index = ($current_page - 1) * $items_per_page;
$end_index = min($start_index + $items_per_page, count($previous_prices));
for ($i = $start_index; $i < $end_index; $i++) {
$price = $previous_prices[$i];
$output .= '<tr>';
$output .= '<td style="border-bottom: 1px solid #ddd; padding: 8px;">' . ($i + 1) . '</td>';
$output .= '<td style="border-bottom: 1px solid #ddd; padding: 8px;">' . date_i18n('Y-m-d', strtotime($price['date'])) . '</td>';
$output .= '<td style="border-bottom: 1px solid #ddd; padding: 8px;">' . wc_price($price['price']) . '</td>';
$output .= '</tr>';
}
$output .= '</tbody></table>';
$output .= '</div>'; // پایان بخش overflow-x:auto
if ($total_pages > 1) {
$output .= '<div style="text-align: center; margin-top: 20px;">';
for ($i = 1; $i <= $total_pages; $i++) {
if ($i == $current_page) {
$output .= '<span style="margin: 0 5px; font-weight: bold;">' . $i . '</span>';
} else {
$output .= '<a href="' . esc_url(add_query_arg('page', $i)) . '" style="margin: 0 5px;">' . $i . '</a>';
}
}
$output .= '</div>';
}
$output .= '<button id="close-popup-btn" style="padding: 10px 20px; background-color: #dc3545; color: #fff; border: none; border-radius: 5px; cursor: pointer; margin-top: 20px;">بستن</button>';
$output .= '</div>';
$output .= '<script>
document.getElementById("previous-prices-btn").addEventListener("click", function() {
document.getElementById("previous-prices-popup").style.display = "block";
});
document.getElementById("close-popup-btn").addEventListener("click", function() {
document.getElementById("previous-prices-popup").style.display = "none";
});
window.addEventListener("click", function(event) {
var popup = document.getElementById("previous-prices-popup");
if (event.target == popup) {
popup.style.display = "none";
}
});
</script>';
return $output;
}
add_shortcode('previous_prices', 'display_previous_prices_shortcode');

قیمت های قبلی محصول

2. ریسپانسیو کردن جدول

برای اطمینان از اینکه جدول در نمایشگرهای کوچک‌تر (مثل موبایل) به‌درستی نمایش داده شود، از استایل‌های CSS استفاده کرده‌ایم. این استایل‌ها شامل ویژگی overflow-x: auto هستند که اجازه می‌دهد جدول به صورت اسکرولی (افقی) نمایش داده شود و از بهم‌ریختگی جلوگیری شود.

در صورت نیاز به تعداد زیادی رکورد در جدول، قابلیت صفحه‌بندی نیز به کد اضافه شده است تا کاربران بتوانند بین صفحات مختلف جابجا شوند.

3. افزودن آیکون به دکمه

برای جذاب‌تر کردن دکمه، از آیکون Font Awesome استفاده شده است. این آیکون به کمک کلاس CSS مناسب در داخل دکمه قرار گرفته و با استفاده از فضای داخلی دکمه (padding و margin) مرتب شده است.

4. نحوه استفاده از شورت‌کد

بعد از افزودن این کد به فایل functions.php قالب وردپرس خود، کافی است شورت‌کد “previous_prices” را در صفحه محصول مورد نظر خود قرار دهید. با کلیک بر روی دکمه “لیست قیمت‌ها”، یک پاپ‌آپ باز می‌شود که لیست قیمت‌های قبلی محصول را به‌صورت ریسپانسیو نمایش می‌دهد.

کد صحیح به این صورت می باشد

قیمت‌های قبلی محصول

نتیجه‌گیری

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

اضافه کردن این شورت‌کد به قالب وردپرس شما، باعث بهبود تجربه کاربری (UX) و ارتقاء قابلیت‌های سایت شما خواهد شد.

منبع : خودم

درباره نویسنــده
نویسنده
ahmad_ah
نظرات کاربـــران
فاقد دیدگاه
دیدگاهی برای این مطلب ثبت نشده است. اولین دیدگاه را شما بنویسید.
ثبت دیدگاه

محصولات جدید

جستجو کنید ...