web-dev-qa-db-fra.com

Importer par programme des champs personnalisés à l'aide de wp all import

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.

2
forsvunnet

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;
} );

 enter image description here 

2
forsvunnet