Afbeeldingen & WP-CLI
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 projectrt_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.