actuellement j'ajoute un champ de facturation personnalisé dans woocommerce par
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');
j'ai besoin de modifier cette valeur de champ dans le côté administrateur. Actuellement, je peux modifier toutes les autres valeurs dans l'adresse de facturation, mais cette valeur n'apparaît pas dans la section admin. J'utilise le code suivant uniquement pour voir la valeur dans la section 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 );
J'ai lu la documentation https://docs.woothemes.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/ . Mais tout dans ce document fonctionne correctement, attendez-vous à ce que billing_phone / Phone soit noté sous le champ personnalisé. Je vérifie l'option d'écran mais j'ai déjà coché le champ personnalisé. Les autres champs personnalisés et leur valeur sont visibles et modifiables.
Comment puis-je modifier cette valeur en back-end. Veuillez aider.
Réponses:
Le code que vous avez fourni est incomplet. Je ne sais pas si c'est le seul code que vous utilisez pour obtenir ce que vous voulez. Donc, en plus du premier bloc de code que vous avez fourni, ci-dessous, j'ajoute tout le reste du code qui est nécessaire pour afficher le nouveau champ sur le backend dans la boîte `` Détails de la commande '' et le rendre modifiable via des champs personnalisés. Veuillez noter que dans votre deuxième bloc de code, vous avez nommé la clé de champ comme
_billing_new_phone
. Tout nom de clé de champ personnalisé commençant par _ (trait de soulignement) est un champ personnalisé masqué et n'apparaîtra pas sur le backend sous "Champs personnalisés".WooCommerce ne rend pas le nouveau champ de paiement modifiable dans sa boîte standard "Détails de la commande". Il sera disponible en mode `` affichage uniquement '' dans cette boîte, mais vous pouvez le modifier via le bloc de champs personnalisés standard de WordPress. Voir la capture d'écran ci-dessous.
la source
Voici la solution: l'accès direct aux données produit n'est pas autorisé, par exemple
La bonne méthode pour l'avenir est la suivante:
la source