Código para importación de productos

  • Autor Autor cesarss27
  • Fecha de inicio Fecha de inicio
C

cesarss27

Beta
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Tengo el siguiente código para agregar un campo personalizado al importador de wordpress pero una vez que lo importa no puedo ver dónde esta, qué campos debería modificar del código. Podrían darme un ejemplo práctico con el mismo código.
/**
* Register the 'Custom Column' column in the importer.
*
* @param array $options
* @return array $options
*/
function add_column_to_importer( $options ) {

// column slug => column name
$options['custom_column'] = 'Custom Column';

return $options;
}
add_filter( 'woocommerce_csv_product_import_mapping_options', 'add_column_to_importer' );

/**
* Add automatic mapping support for 'Custom Column'.
* This will automatically select the correct mapping for columns named 'Custom Column' or 'custom column'.
*
* @param array $columns
* @return array $columns
*/
function add_column_to_mapping_screen( $columns ) {

// potential column name => column slug
$columns['Custom Column'] = 'custom_column';
$columns['custom column'] = 'custom_column';

return $columns;
}
add_filter( 'woocommerce_csv_product_import_mapping_default_columns', 'add_column_to_mapping_screen' );

/**
* Process the data read from the CSV file.
* This just saves the value in meta data, but you can do anything you want here with the data.
*
* @param WC_Product $object - Product being imported or updated.
* @param array $data - CSV data read for the product.
* @return WC_Product $object
*/
function process_import( $object, $data ) {

if ( ! empty( $data['custom_column'] ) ) {
$object->update_meta_data( 'custom_column', $data['custom_column'] );
}

return $object;
}
add_filter( 'woocommerce_product_import_pre_insert_product_object', 'process_import', 10, 2 );
 
Tengo el siguiente código para agregar un campo personalizado al importador de wordpress pero una vez que lo importa no puedo ver dónde esta, qué campos debería modificar del código. Podrían darme un ejemplo práctico con el mismo código.
/**
* Register the 'Custom Column' column in the importer.
*
* @param array $options
* @return array $options
*/
function add_column_to_importer( $options ) {

// column slug => column name
$options['custom_column'] = 'Custom Column';

return $options;
}
add_filter( 'woocommerce_csv_product_import_mapping_options', 'add_column_to_importer' );

/**
* Add automatic mapping support for 'Custom Column'.
* This will automatically select the correct mapping for columns named 'Custom Column' or 'custom column'.
*
* @param array $columns
* @return array $columns
*/
function add_column_to_mapping_screen( $columns ) {

// potential column name => column slug
$columns['Custom Column'] = 'custom_column';
$columns['custom column'] = 'custom_column';

return $columns;
}
add_filter( 'woocommerce_csv_product_import_mapping_default_columns', 'add_column_to_mapping_screen' );

/**
* Process the data read from the CSV file.
* This just saves the value in meta data, but you can do anything you want here with the data.
*
* @param WC_Product $object - Product being imported or updated.
* @param array $data - CSV data read for the product.
* @return WC_Product $object
*/
function process_import( $object, $data ) {

if ( ! empty( $data['custom_column'] ) ) {
$object->update_meta_data( 'custom_column', $data['custom_column'] );
}

return $object;
}
add_filter( 'woocommerce_product_import_pre_insert_product_object', 'process_import', 10, 2 );
El código que has compartido está diseñado para agregar un campo personalizado llamado 'Custom Column' al importador de productos de WooCommerce en WordPress. Sin embargo, parece que estás teniendo dificultades para visualizar este campo una vez que se importa.

Para asegurarte de que el campo personalizado 'Custom Column' se está importando correctamente y se muestra en la información del producto, hay dos partes clave que puedes ajustar en tu código:

1. Asegurarte de que el campo 'Custom Column' se está mapeando correctamente:
En la función add_column_to_mapping_screen, asegúrate de que los nombres de las columnas coincidan correctamente con el nombre del campo personalizado que deseas importar. Por ejemplo, si quieres importar un campo llamado 'Custom Column', debes asegurarte de que estás mapeando correctamente los nombres:

PHP:
$columns['Custom Column'] = 'custom_column';
$columns['custom column'] = 'custom_column';

2. Asegurarte de que el valor del campo se está guardando correctamente en los metadatos del producto:
En la función process_import, se está guardando el valor del campo 'Custom Column' como metadato del producto. Asegúrate de que el nombre del metadato coincida con el que estás buscando. En este caso, el código actual está guardando el valor en un metadato llamado 'custom_column':

PHP:
$object->update_meta_data( 'custom_column', $data['custom_column'] );

Si has seguido los pasos anteriores y aún no puedes ver el campo personalizado después de importar, deberías revisar la configuración de la plantilla de producto en WooCommerce para asegurarte de que estás mostrando el campo 'Custom Column'. Puedes hacer esto yendo a la sección de productos en tu panel de administración de WordPress, editando un producto y asegurándote de que estás mostrando los campos personalizados en la pantalla de edición del producto.
 
Atrás
Arriba