Sauter la navigation

Il s'agit du forum d'assistance technique de WPML, le plug-in multilingue pour WordPress.

Il est accessible à tous, toutefois seuls les clients de WPML peuvent y publier leurs messages. L'équipe du WPML répond sur le forum 6 jours par semaine, 22 heures par jour.

Aucun de nos assistants n'est disponible aujourd'hui sur le forum French. Veuillez créer un ticket, et nous nous le traiterons dès notre prochaine connexion. Merci de votre compréhension.

Sun Mon Tue Wed Thu Fri Sat
- 6:00 – 12:00 8:00 – 12:00 6:00 – 12:00 8:00 – 12:00 6:00 – 12:00 -
- 13:00 – 15:00 13:00 – 17:00 13:00 – 15:00 13:00 – 17:00 13:00 – 15:00 -

Fuseau horaire du supporter: America/Lima (GMT-05:00)

Ce sujet contient 4 réponses, a 2 voix.

Dernière mise à jour par Nicolas V. Il y a 1 jour et 1 heure.

Assisté par: Nicolas V..

Auteur Articles
Septembre 30, 2024 à 7:54 am #16234720

cyrilV-5

Background of the issue:
Bonjour,
J'utilise le module "Multi-Currency WPML" sur mon site WooCommerce afin d'avoir plusieurs devises (euros / livres / dollars) : https://wpml.org/documentation/related-projects/woocommerce-multilingual/multi-currency-support-woocommerce/.

Je souhaite entrer un prix fixe en dollars pour mes différents produits . Est-ce possible de le faire via l'API Rest : https://wpml.org/documentation/related-projects/woocommerce-multilingual/using-wordpress-rest-api-woocommerce-multilingual/ ?

Cela semble être le cas d'après la doc mais aucun des tests effectués n'a été concluant.

Merci.

Symptoms:
Aucun des tests effectués n'a été concluant.

Questions:
Est-ce possible d'entrer un prix fixe pour l'ensemble de mes produits en dollars via l'API Rest ?

Septembre 30, 2024 à 12:30 pm #16236132

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Bonjour,

Merci d'avoir contacté le support de WPML.

- Il est possible de spécifier le prix dans la devise principale et la devise secondaire lors de la création d'un produit via l'API REST.
- N'oubliez pas que, comme dans votre backoffice WP, le prix dans la devise secondaire est assigné au produit dans la langue principale.
- Ces champs sont ensuite copiés et synchronisés dans la traduction du produit.

Veuillez regarder la section "Create products" de cette documentation: https://wpml.org/documentation/related-projects/woocommerce-multilingual/using-wordpress-rest-api-woocommerce-multilingual/

Exemple:

$data    = [
    'name'              => 'English Test Post',
    'type'              => 'simple',
    'regular_price'     => '10.00',
    'description'       => 'This is a Simple English Test Post',
    'short_description' => 'This is a Simple English Test Post',
    'categories'        => [ [ 'id' => 10 ], [ 'id' => 12 ] ],
    'images'            => [
        [ 'src' => '<em><u>lien caché</u></em>', 'position' => 0 ],
        [ 'src' => '<em><u>lien caché</u></em>', 'position' => 1 ]
    ],
    'lang'              => 'en',
    'custom_prices'     => [
        'EUR' => [ 'regular_price' => 1999, 'sale_price' => 1500 ],
        'USD' => [ 'regular_price' => 2100, 'sale_price' => 2099 ]
    ]
];
$product = $woocommerce->post( 'products', $data );
Septembre 30, 2024 à 1:12 pm #16236375

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Re bonjour,

Désolé mais je viens d'apprendre qu'il y a un bug reporté pour l'assignation de prix personnalisés via l'API REST. C'est sans doute pour cela que vous n'arrivez pas à les assigner.

Cela sera résolu dans la prochaine version de WooCommerce Multilingual (WCML). En attendant je vous partage une solution d'appoint fournie par nos devs:
- Set _wcml_custom_prices_status to 1 to enable custom prices for this product.
- If EUR is default and USD is secondary, you can now set the prices with the following keys: _regular_price_USD, _sale_price_USD, _price_price_USD.

For example, using WC's PHP wrapper it would be like this:

use Automattic\WooCommerce\Client;

$wc = new Client( $url, $key, $secret, $options );

$data = [
	'name'          => 'REST Product with custom prices',
	'type'          => 'simple',
	'description'   => 'Test Product for REST',
	'regular_price' => '10',
	'sale_price'    => '5',
	'lang'          => 'en',
	'meta_data'     => [
		[
			'key'   => '_wcml_custom_prices_status',
			'value' => '1',
		],
		[
			'key'   => '_regular_price_USD',
			'value' => '8',
		],
		[
			'key'   => '_sale_price_USD',
			'value' => '4',
		],
		[
			'key'   => '_price_USD',
			'value' => '4',
		],
	]
];

var_dump( $wc->post( 'products', $data ) );
octobre 3, 2024 à 1:33 pm #16250357

cyrilV-5

Bonjour et merci pour votre retour. Je vais tester cette solution et je reviens vers vous.

octobre 3, 2024 à 4:51 pm #16251520

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Bonjour,

Très bien, je laisse donc le ticket en attente de votre feedback.

Bonne fin de journée.