Archive mensuelle août 2017

ParAlaric LEGRAIS

Ajouter un produit Woocomerce en PHP

J’ai récemment eu à faire l’ajout de produits « dynamiques » dans Woocommerce, pour un système de réservation en ligne. Il existe un ensemble de solutions possibles, cependant j’ai fait le choix d’utiliser celle qui me semblait la plus simple et la plus propre.

Ajouter simplement un produit Woocommerce dans le code

$data = [ 'name' => 'Réservation du '. $start .' au '. $end,
'type' => 'simple', 'regular_price' => $deposit, 
'description' => 'Acompte de réservation du'. $start .' au '. $end,
'short_description' => 'Acompte de réservation', 
'images' => [ [ 'src' => 'http://domain.com/wp-content/uploads/2017/08/image.jpg', 'position' => 0 ] ]
 ];

Vous trouverez la liste des champs possible dans la Documentation de L’API REST  de Woocommerce.

$wp_rest_request = new WP_REST_Request( 'POST' ); 
$wp_rest_request->set_body_params( $data ); 
$products_controller = new WC_REST_Products_Controller;
$wp_rest_response = $products_controller->create_item( $wp_rest_request );

Ensuite vous pouvez facilement retourner les informations du produit ajouté avec la methode get_data() (héritée de Wp_HTTP_Response),  celle ci retourne les données relatives au produit (dont l’identifiant).

$datas = $wp_rest_response->get_data();

 

ParAlaric LEGRAIS

Bug WordPress – Pop-up de connexion FTP

Aujourd’hui, sur mon serveur de Dev. J’ai découvert avec effroi une surprenante erreur WordPress, à l’origine Mystique. Elle s’est produite lorsque j’ai souhaité accéder aux plugins installés sur mon WordPress… Bilan impossible d’accéder à l’interface d’administration…

Cette erreur affichait la pop-up de connexion FTP du /wp-admin/ dans une page blanche sans possibilité d’envoyer le Formulaire. Accompagné de son erreur 500 (Internal Server Error)…

« Informations de connexion Pour lancer la requête demandée, WordPress a besoin d’accéder à votre serveur web. Veuillez saisir votre identifiant FTP pour continuer. Si vous ne vous souvenez pas de votre identifiant, vous devriez contacter votre hébergeur. »

popup-wpadmin ftp
erreur pop up wordpress plugin ftp

 

Après un bref moment de panique, il m’es venu l’idée de désactiver manuellement les plugins afin d’isoler le suspect.

Comment désactiver les plugins WordPress sans avoir accès à l’administration ?

Pour ce faire j’ai eu besoin d’accéder à ma base de donnée via PhpMyAdmin. Une fois connecté sur la base, je suis allé dans la table « options » à la ligne « active_plugins » dans la quelle j’ai saisie «  » c’est à dire « rien » puis j’ai sauvegardé.

J’aurais aussi pu exécuter du SQL du type :

UPDATE wp_options* SET option_value =  » » WHERE option_name = ‘active_plugins’;

*peut varier selon le préfixe donné à vos tables.

 

ParAlaric LEGRAIS

Un oeil sur le code

Depuis quelques semaines, j’ai commencé à mettre en ligne quelques uns de mes tests & projets Frontend sur le site http://Codepen.io.

Découvrez mon profil avec mes différents projet : Bannières HTML, tests de canvas, projets VueJs… Vous y retrouverez le code de mon projet Timer Planning.