اضافه‌ کردن محصول بر اساس کد پستی با استفاده از Gravity Forms

gravity forms add product based on postal code
20 آبان 1403

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

ابتدا باید مطمئن شوید که افزونه Gravity Forms در وب‌سایت وردپرسی شما فعال است. سپس فرم خود را ایجاد کنید. شما می‌توانید با اضافه کردن فیلد «متن» برای کد پستی و «محصول» برای محصولی که می‌خواهید به صورت خاص اضافه شوند، شروع کنید.

سپس به بخش قوانین قیمت‌گذاری مشروط یا «Conditional Pricing Rules» بروید. این ویژگی به شما اجازه می‌دهد تعیین کنید که چه محصولی در ازای ورودی‌های خاصی از کد پستی نشان داده شود. می‌توانید تعیین کنید که اگر کد پستی مثلاً '12345' وارد شد، محصولی خاص به سبد خرید کاربر اضافه شود.

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

در نهایت فرم خود را ذخیره کرده و مطمئن شوید که به درستی روی سایت اعمال شده است. در صورت نیاز می‌توانید این فرآیند را تست کنید تا مطمئن شوید همه چیز درست کار می‌کند.


<?php
add_filter( 'gform_pre_render', 'check_postal_code_and_apply_product' );
function check_postal_code_and_apply_product( $form ) {
    if ( !is_user_logged_in() ) {
        return $form;
    }
    foreach ( $form['fields'] as &$field ) {
        if ( strpos( $field->cssClass, 'postal-code' ) !== false ) {
            add_action( 'gform_after_submission_' . $form['id'], 'apply_product_based_on_postal_code', 10, 2 );
        }
    }
    return $form;
}
function apply_product_based_on_postal_code( $entry, $form ) {
    $postal_code = rgar( $entry, '1' ); // assume '1' is the field id for postal code
    if ( $postal_code == '12345' ) {
        // Add a product to the cart here
    }
}
?>


<?php: شروع بخش PHP.
add_filter( 'gform_pre_render': ایجاد فیلتری برای قبل از Render فرم‌ها.
function check_postal_code_and_apply_product: تعریف تابعی برای بررسی کد پستی و اعمال محصول.
is_user_logged_in(): بررسی اینکه آیا کاربر وارد شده است.
foreach ( $form['fields'] as &$field ): حلقه‌ای برای پیمایش فیلدهای فرم.
add_action( 'gform_after_submission_': افزودن عملی بعد از ارسال فرم برای افزودن محصول براساس کد پستی.
function apply_product_based_on_postal_code: تعریف تابعی برای اعمال محصول براساس کد پستی.

سوالات متداول

؟

چرا باید از Gravity Forms برای اینکار استفاده کنم؟

؟

آیا به افزونه خاصی نیاز است؟

؟

آیا کد بالا‌ایمن است؟

؟

آیا استفاده از این روش برای فروشگاه‌های کوچک مفید است؟