Creé un campo personalizado para otro texto de entrada en Woocommerce -> Configuración -> pestaña Productos. Pero si no guarda ni actualiza el valor del texto de entrada en la base de datos. Por favor, ¿alguien puede verificar si este código no es correcto?
Nota: Esto se probó y funcionó en páginas de un solo producto, pero parece que no funciona en la configuración de woo.
/* Display Gravity Form ID custom field on Woocommerce -> Settings -> Products tab on backend */
add_action('woocommerce_settings_products', 'enquiry_button_product_pages');
function enquiry_button_product_pages() {
global $woocommerce, $post;
$gf_id_field = get_post_meta( $post->ID, '_gf_field', true );
echo "<h2>Single Product Pages</h2>";
echo '<p>Enter the Gravity form ID of the enquiry form you will be using here.</p>';?>
<table class="form-table">
<tbody>
<tr class="single_select_page" valign="top">
<th scope="row" class="titledesc">
<label>Gravity Form ID number:</label>
</th>
<td class="forminp">
<?php
woocommerce_wp_text_input(
array(
'id' => '_gf_field',
'value' => $gf_id_field,
'desc_tip' => 'false',
'priority' => 1,
'type' => 'number'
)
);
?>
</td>
</tr>
</tbody>
</table>
<?php
}
/* Save custom fields to access via get_post_meta */
add_action( 'woocommerce_process_product_meta', 'custom_gf_id_save' );
function custom_gf_id_save ($post_id) {
$woo_gf_id_field = $_POST['_gf_field'];
update_post_meta( $post_id, '_gf_field', esc_attr( $woo_gf_id_field ) );
}
Gracias
.