WooCommerce চেকআউট টেমপ্লেটে বিলিংয়ের ক্ষেত্রগুলিকে কীভাবে পুনঃক্রম করতে হবে? [বন্ধ]


15

আমি ক্রিয়া এবং ফিল্টার ব্যবহার করে WooTheme এর কাস্টমাইজিং চেকআউট ক্ষেত্রগুলি ব্যবহার করে একটি মাদলিব স্টাইল চেকআউট ফর্ম তৈরি করছি ।

চেকআউট টেমপ্লেটে বিলিংয়ের ক্ষেত্রগুলি form-billing.phpএই কলটির সাথে প্রদর্শিত হবে:

<?php foreach ($checkout->checkout_fields['billing'] as $key => $field) : ?>
<?php woocommerce_form_field( $key, $field, $checkout->get_value( $key ) ); ?>
<?php endforeach; ?>

ক্ষেত্রগুলি প্রদর্শিত ক্রমটি কীভাবে পরিবর্তন করতে পারে?

বর্তমান (ডিফল্ট) ফিল্ড অর্ডারটি হ'ল:
প্রথম নাম
পদবি নাম
(আমার জন্য লুকানো)
শহর / শহর
জিপকোড
দেশ
রাষ্ট্রীয়
ইমেল
ফোন

ডিফল্ট আদেশ:
স্ক্রিনশট

আমি ক্ষেত্রগুলি আমেরিকানদের (যেখানে আমি থাকি) আরও প্রাকৃতিক ক্রমে থাকতে চাই, তাই:
প্রথম নামের
শেষ নাম
সংস্থা (আমার জন্য লুকানো)
শহর / শহর
রাজ্য
জিপকোড
দেশের
ইমেল
ফোন

আমি কীভাবে সেরা এটি করতে পারি?

উত্তর:


28

functions.phpআপনার (শিশু) থিমের মাধ্যমেও একই কাজ করা যেতে পারে :

add_filter("woocommerce_checkout_fields", "order_fields");

function order_fields($fields) {

    $order = array(
        "billing_first_name", 
        "billing_last_name", 
        "billing_company", 
        "billing_address_1", 
        "billing_address_2", 
        "billing_postcode", 
        "billing_country", 
        "billing_email", 
        "billing_phone"

    );
    foreach($order as $field)
    {
        $ordered_fields[$field] = $fields["billing"][$field];
    }

    $fields["billing"] = $ordered_fields;
    return $fields;

}

টেমপ্লেটে পৌঁছানোর আগে ডেটা ফিল্টারিংয়ের সাথে ডাব্লুপি / ডাব্লুসিপি সবচেয়ে ভাল অনুশীলন হিসাবে সেরা উত্তর দেয় যাতে কোনও টেমপ্লেট ফাইল ওভাররাইড করা না হয়।
লার্জান

আমার পক্ষে কাজ করেনি
ইয়াহিয়া হুসেন

এটি কাজ করতে ব্যবহার করে তবে আর তা করে না। আমি মনে করি এটি কারণ চেকআউট জেএস কার্যকরভাবে ক্রম পরিবর্তন করে।
কোডকিপল

4
এটি করার বর্তমান $fields['billing']['billing_country']['priority'] = 10; $fields['billing']['billing_phone']['priority'] = 20;
উপায়টি

5

উত্তর জন্য Dbranes ধন্যবাদ।

প্রতিস্থাপন করুন:

<?php foreach ($checkout->checkout_fields['billing'] as $key => $field) : ?>
<?php woocommerce_form_field( $key, $field, $checkout->get_value( $key ) ); ?>
<?php endforeach; ?>

সঙ্গে:

<?php 
// order the keys for your custom ordering or delete the ones you don't need
$mybillingfields=array(
    "billing_first_name",
    "billing_last_name",
    "billing_company",
    "billing_address_1",
    "billing_address_2",
    "billing_city",
    "billing_state",
    "billing_postcode",
    "billing_country",
    "billing_email",
    "billing_phone",
);
foreach ($mybillingfields as $key) : ?>
<?php woocommerce_form_field( $key, $checkout->checkout_fields['billing'][$key], $checkout->get_value( $key ) ); ?>
<?php endforeach; ?>

2
এই কোডটি একটি অভ্যন্তরীণ ওয়াহকমার্স ফাংশন থেকে। প্রথম উত্তরের কোড [একটি ফিল্টার] ব্যবহার করা আরও ভাল।
অ্যাডেরলাইক

আমার জন্য এটি কাজ করে না। সর্বোত্তম উপায় হ'ল প্রতিটি ক্ষেত্রের "অগ্রাধিকার" ব্যবহার করা, এরকম কিছু: $ ক্ষেত্রগুলি ['বিলিং'] ['বিলিং_কাউন্টি'] ['অগ্রাধিকার'] = 10; $ ক্ষেত্রগুলি ['বিলিং'] ['বিলিং_ফোন'] ['অগ্রাধিকার'] = ২০; হতে পারে এটি ওউকমার্সের নতুন সংস্করণগুলির কারণে, তবে আমি জানি না।
রুহানবিদার্ট

2

আপনি আপনার থিমটিতে একটি অনুলিপি তৈরি করতে পারেন এবং চেকআউট ফর্মটি সরবরাহ করে এমন টেম্পলেটটি সম্পাদনা করতে পারেন।

প্লাগইন ডকুমেন্টেশন থেকে অভিযোজিত :

উদাহরণ
অ্যাডমিন অর্ডার বিজ্ঞপ্তি অতিক্রম করতে, অনুলিপি করুন: woocommerce/templates/checkout/form-checkout.php
থেকে
yourtheme/woocommerce/checkout/form-checkout.php

[হালনাগাদ]

এই ফাইলটি সালে ঠিক আগে ক্ষেত্র ছাপা হচ্ছে, এই কর্ম হুক দেওয়া হল: do_action('woocommerce_before_checkout_billing_form', $checkout);

সুতরাং, থিমের functions.phpবা কাস্টম প্লাগইনে এই ক্রিয়াটি যুক্ত করা এবং ওপি তার উত্তরে দেখায় ক্ষেত্রগুলি পুনরায় সাজানোর বিষয়টি কেবল বিষয় । টেমপ্লেটটি ওভাররাইড করার প্রয়োজন নেই, বা হ্যাঁ যদি আরও কাস্টমাইজেশন প্রয়োজন হয়।


আপনি উল্লিখিত টেম্পলেটটি আপনাকে কেবল <?php do_action('woocommerce_checkout_billing'); ?>পাইকারী ঘুরে বেড়াতে দেয় ।
এম-টরিন

আমার উল্লেখ করা উচিত ছিল যে আমি প্রকৃত প্লাগইন ফাইলগুলি পরীক্ষা করে দেখিনি। আপনার উত্তরটি উত্তর আপডেট এবং প্রসারিত ধন্যবাদ।
brasofilo
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.