#php #wordpress #woocommerce
#php #wordpress #woocommerce
Вопрос:
Я пытаюсь экспортировать пользовательское поле из моего оформления заказа в пользовательское поле 2 в ShipStation, но данные не попадают в пользовательское поле 2. Возможно, я использую неправильную мету в своем коде?
Я скопировал вырезанный с сайта корабельных станций фрагмент, который я должен добавить в свой functions.php
// Add this code to your theme functions.php file or a custom plugin
add_filter( 'woocommerce_shipstation_export_custom_field_2', 'shipstation_custom_field_2' );
function shipstation_custom_field_2() {
return '_meta_key'; // Replace this with the key of your custom field
}
// This is for custom field 3
add_filter( 'woocommerce_shipstation_export_custom_field_3', 'shipstation_custom_field_3' );
function shipstation_custom_field_3() {
return '_meta_key_2'; // Replace this with the key of your custom field
}
Для сайта, над которым я работаю, у меня есть настраиваемое поле оформления заказа в моем оформлении заказа для опций, отсутствующих на складе. Я заменил ‘_meta_key_2’ метой для опции «outofstockoption» для клиентов, которых нет в наличии
function my_custom_checkout_field_update_order_meta( $order_id ) {
if ( ! empty( $_POST['outofstockoption'] ) ) {
update_post_meta( $order_id, 'Out of Stock Option', sanitize_text_field( $_POST['outofstockoption'] ) );
}
}
// Add this code to your theme functions.php file or a custom plugin
add_filter( 'woocommerce_shipstation_export_custom_field_2', 'shipstation_custom_field_2' );
function shipstation_custom_field_2() {
return 'outofstockoption'; // Replace this with the key of your custom field
}
Я надеюсь, что кто-нибудь сможет направить меня в правильном направлении о том, как заставить ShipStation извлечь параметр outofstockoption и поместить это в пользовательское поле ShipStation. Заранее спасибо.
Ответ №1:
В вашей строке —
update_post_meta( $order_id, 'Out of Stock Option', sanitize_text_field( $_POST['outofstockoption'] ) );
вы назначаете _meta_key как «Нет в наличии». Чтобы использовать это как мета-ключ и отправить его на ShipStation, обновите свою функцию до —
function shipstation_custom_field_2() {
return 'Out of Stock Option';
}