Atualmente, adiciono um campo de cobrança personalizado no woocommerce por
function custom_override_checkout_fields( $fields ) {
$fields['billing']['billing_phone_new'] = array(
'label' => __('Phone 2', 'woocommerce'),
'placeholder' => _x('Phone 2', 'placeholder', 'woocommerce'),
'required' => false,
'class' => array('form-row-wide'),
'clear' => true
);
return $fields;
}
add_filter('woocommerce_checkout_fields','custom_override_checkout_fields');
Eu preciso editar este valor do campo no lado do administrador. Atualmente, posso editar todos os outros valores no endereço de cobrança, mas esse valor não aparece na seção admin. Eu uso o código a seguir apenas para ver o valor na seção admin.
function order_phone_backend($order){
echo "<p><strong>Billing phone 2:</strong> " . get_post_meta( $order->id, '_billing_phone_new', true ) . "</p><br>";
}
add_action( 'woocommerce_admin_order_data_after_billing_address', 'order_phone_backend', 10, 1 );
Eu li a documentação https://docs.woothemes.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/ . Mas tudo neste documento funcionando corretamente espera que billing_phone / Phone seja observado no campo Personalizado. Verifico a opção da tela, mas já marquei o campo personalizado. Outro campo personalizado e seu valor são visíveis e editáveis.
Como posso editar esse valor no back-end. Por favor ajude .
Respostas:
O código que você forneceu está incompleto. Não tenho certeza se esse é o único código que você está usando para alcançar o que deseja. Portanto, além do primeiro bloco de código que você forneceu, abaixo estou adicionando todo o restante do código necessário para mostrar o novo campo no back-end na caixa 'Detalhes do pedido' e torná-lo editável através de campos personalizados. Observe que no seu segundo bloco de código você nomeou a chave do campo como
_billing_new_phone
. Qualquer nome de chave de campo personalizado que comece com _ (sublinhado) é um campo personalizado oculto e não será exibido no back-end em "Campos personalizados".O WooCommerce não torna o novo campo de checkout editável na caixa padrão 'Detalhes do pedido'. Ele estará disponível como modo 'somente visualização' nessa caixa, mas você pode editar o mesmo através do bloco de campos personalizados padrão do WordPress. Veja a captura de tela abaixo.
fonte
Aqui está a solução: acessar diretamente os dados do produto não é permitido, por exemplo
O método correto daqui para frente é:
fonte