J'ai un CSV avec beaucoup de champs personnalisés que je dois importer. Il serait trop long de configurer manuellement les champs à l’aide de l’interface et il n’est pas très convivial de leur demander de s’assurer que les valeurs correspondent. De nombreuses valeurs doivent également être mappées à partir du fichier csv vers une valeur différente dans le champ personnalisé de WordPress.
WP All Import possède de nombreuses fonctionnalités non documentées dans les divers hooks, actions et filtres implémentés dans le code. Le moyen le plus simple de réaliser un tel mappage consiste à ajouter un filtre au pmxi_options_options
et à ajouter des règles personnalisées. Ces règles s'afficheront sous l'accordéon Champs personnalisés lors de l'étape de configuration de l'importation.
<?php
add_filter( 'pmxi_options_options', function( $options ) {
// Match the desired custom post type
if ( $options['custom_type'] != 'product' ) {
return $options;
}
// Configure the custom fields
$options['custom_name']['custom_field_name'] = '_custom_field_name';
$options['custom_value']['custom_field_name'] = '{csv_column[1]}';
$options['custom_mapping_rules']['custom_field_name'] = json_encode( [
'value_from_csv' => 'value_to_custom_field',
'en' => 'English',
] );
return $options;
} );