Как разместить html-значение поля оформления заказа в woocommerce - PullRequest
0 голосов
/ 27 сентября 2019

Привет! У меня есть настраиваемые поля для страницы оформления заказа в woocommerce.Я хочу сохранить его с выходной базой данных html.Тем не менее, они сохраняются путем очистки HTML каждый раз.Как сохранить html-коды, записанные в эти поля, в базу данных?

add_filter(`woocommerce_checkout_fields`, `burayi_ekle`);

function burayi_ekle($fields)
{
    $fields['billing']['billing_satis'] = [
        'type'     => 'textarea',
        'label'    => __('SATIŞ1', 'woocommerce'),
        'class'    => ['input-text'],
        'required' => true,
        'clear'    => false,
        'priority' => 120,
    ];

    $fields['billing']['billing_satis2'] = [
        'type'     => 'textarea',
        'label'    => __('SATIŞ2', 'woocommerce'),
        'class'    => ['input-text'],
        'required' => true,
        'clear'    => false,
        'priority' => 121,
    ];

    return $fields;

}

Ответы [ 2 ]

0 голосов
/ 27 сентября 2019

Окей.я чиню это .

Это мой настоящий код

function save_extra_checkout_fields( $order_id ){

        $billing_satis = $_POST['billing_satis'];
        if(   ! empty($billing_satis) ){
            update_post_meta( $order_id, '_billing_satis', $billing_satis  );
        }

        $billing_satis2 = $_POST['billing_satis2'];
        if(   ! empty($billing_satis2) ){
            update_post_meta( $order_id, '_ billing_satis2', $billing_satis2 );
        }
    }
    add_action( 'woocommerce_checkout_update_order_meta', 'save_extra_checkout_fields', 10, 2 );
0 голосов
/ 27 сентября 2019

Вы можете сохранить данные о пользовательских полях WC checkout вместе с HTML в базу данных.Запись будет сохранена в таблице postmeta для типа записи Order.

Здесь вы можете попробовать следующий код

function save_extra_checkout_fields( $order_id, $posted ){
    if( isset( $posted['billing_satis'] ) ) {
        update_post_meta( $order_id, '_billing_satis', sanitize_text_field( $posted['billing_satis'] ) );
    }
    if( isset( $posted['billing_satis2'] ) ) {
        update_post_meta( $order_id, '_billing_satis2', $posted['billing_satis2'] );
    }
}
add_action( 'woocommerce_checkout_update_order_meta', 'save_extra_checkout_fields', 10, 2 );

Не экранируйте html при добавлении в базу данных с помощью update_post_meta.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...