Afbeeldingen & WP-CLI

Uit De Vliegende Brigade
Ga naar: navigatie, zoeken

Ik vind het heel handig om processen rondom WordPress te automatiseren. Sinds de lente van 2019, doe ik dat vrijwel uitsluitend mbv. de PHP-API. Dit artikel is van voor die tijd, en behandelt enkele aspecten tav. de WordPress Command Line Interface (WP-CLI).

Metadata importeren mbv. WP-CLI

Twee voorbeelden rondom importeren van metadata, voordat ik me toelegde op gebruik van de PHP-API:

  • De eerste keer dat het lukte om afbeeldingen inclusief metadata te importeren, was via de CLI met wp media import. Dit betrof een Bash-script voor project rt_tmp. Dit bash-script was gewoon handmatig aangemaakt (niet gegenereerd vanuit een db) - April 2019
  • Afbeeldingen kunnen local ge-sideloaded worden, of gedownload (als de bestandsnaam een URL is - dat gaat vanzelf)

Werkte super - In ca. 10 minuten waren 700 afbeeldingen verwerkt. Dit zijn de eerste paar regels van het script, dat vanuit het dwh is aangemaakt:

#!/bin/bash
cd /var/www/kbo3.dvb
wp media import /tmp/diagram_10.jpg --title="Widget 0240 voor Electrisch Handgereedschap - Widgets-online.nl" --caption="Widget 0240 voor Electrisch Handgereedschap - Widgets-online.nl" --alt="Widget met SKU 0240 voor Electrisch Handgereedschap, te koop op Widgets-online.nl" --desc="Vervangende Widget 0240 voor diverse soorten Electrisch Handgereedschap, te koop op Widgets-online.nl"
wp media import /tmp/diagram_10.jpg --title="Widget 0382 voor Electrisch Handgereedschap - Widgets-online.nl" --caption="Widget 0382 voor Electrisch Handgereedschap - Widgets-online.nl" --alt="Widget met SKU 0382 voor Electrisch Handgereedschap, te koop op Widgets-online.nl" --desc="Vervangende Widget 0382 voor diverse soorten Electrisch Handgereedschap, te koop op Widgets-online.nl"
wp media import /tmp/diagram_10.jpg --title="Widget 0399.14 voor Electrisch Handgereedschap - Widgets-online.nl" --caption="Widget 0399.14 voor Electrisch Handgereedschap - Widgets-online.nl" --alt="Widget met SKU 0399.14 voor Electrisch Handgereedschap, te koop op Widgets-online.nl" --desc="Vervangende Widget 0399.14 voor diverse soorten Electrisch Handgereedschap, te koop op Widgets-online.nl"

wp wc product create

Hier worden producten en metadata tegelijkertijd geïmporteerd (april 2019).

Als ik via de CLI producten wil importeren mbv. wp wc product create, moet ik afbeeldingen tegelijkertijd doen (geloof ik). Welliswaar ging import van producten nog niet helemaal goed (ik mis velden), de import van afbeeldingen ging prima. Dit was voor project rt_tmp. Vanuit database rt_dwh werd een kant-en-klaar Bash-script geëxporteerd. Voorbeeld:

#!/bin/bash
cd /var/www/rt_tmp.dvb
wp wc product create --sku="bellow_01-nl" --name="Luchtbalg-powered roller Van Eck" --short_description="Luchtbalg-powered roller voor Van Eck-systemen" --description="Luchtbalg-powered roller voor Van Eck-systemen" --regular_price="85.5" --user="Jeroen Strompf" --images='[{"src": "https://media.example.com/Luchtbalg-powered-roller-Van-Eck-bellows-powered-roller.jpg","name": "Luchtbalg-powered roller voor Van Eck-systemen","alt": "Luchtbalg-powered roller Van Eck met SKU bellow_01 te koop op Rollertracks.com"}]'
wp wc product create --sku="kit_30-nl" --name="Slangmontageset 30mm" --short_description="30mm Slangmontageset voor rollenbaan" --description="30mm (1.1811 Inch) Slangmontageset voor rollenbanen" --regular_price="12.7" --user="Jeroen Strompf" --images='[{"src": "https://media.example.com/Rollertrack-slangmontagekit-30mm-airhose-mounting-kit.jpg","name": "30mm Slangmontageset voor rollenbaan","alt": "Slangmontageset 30mm met SKU kit_30 te koop op Rollertracks.com"}]'

Ik ben benieuwd of dit schaalt voor grote aantallen, omdat elke afbeelding gedownload wordt.

Zie ook