WP-CLI je vmesnik ukazne vrstice za WordPress: z njim lahko izklopiš ali posodobiš vtičnike tudi, če se skrbniški vmesnik ne naloži, prepišeš naslov spletnega mesta in v sekundah opraviš naloge, za katere bi v brskalniku potreboval veliko klikov. V naših paketih gostovanje cPanel je ukaz wp nameščen in ga je mogoče uporabljati v paketih z dostopom SSH (cP Premium, cP Pro, cP Pro 100).
Članek prikazuje, kako delati varno in na kaj paziti na strežnikih cPanel aWh, ter zbira ukaze za vsakdanjo rabo.
Odpiranje terminala
- Terminal cPanel: v skupini Napredno v cPanelu klikni ikono Terminal. Ukazna vrstica, ki se odpre v brskalniku, je enaka povezavi SSH in že teče kot tvoj uporabnik.
- SSH: s svojega računalnika lahko vstopiš na vratih 4231, s ključem SSH (prijave z geslom ni). Nastavitev ključa opisuje članek o ustvarjanju ključa SSH.
Vedno delaj na pravem spletnem mestu
WP-CLI dela iz mape, v kateri si, ali iz mape, ki jo navedeš s stikalom --path. Če na gostovanju teče več WordPressov (na primer produkcijska stran in kopija staging), ukaz wp plugin deactivate --all, izdan v napačni mapi, ustavi drugo spletno mesto. Zato na začetku vsakega dela preveri:
cd ~/public_html
pwd
wp core is-installed && wp option get siteurl
Če siteurl ni naslov spletnega mesta, na katerem si želel delati, si v napačni mapi.
Kje so spletna mesta? Glavna domena je v mapi public_html. Ob dodajanju nove domene ali poddomene cPanel ustvari mapo z imenom domene ob public_html: WordPress poddomene staging.pelda.hu je na primer v mapi ~/staging.pelda.hu, ne pod public_html. Točno pot vidiš v stolpcu Korenski imenik dokumentov strani Domene (podrobnosti: Kateri je korenski imenik moje spletne strani?).
Pri enkratnih ukazih namesto menjave mape navedi pot:
wp --path=/home/felhasznalonev/staging.pelda.hu plugin list
Posebnosti strežnikov cPanel aWh
- Različica PHP:
phpukazne vrstice in s tem tudi WP-CLI uporablja različico PHP, ki si jo nastavil v vmesniku Select PHP Version (razširitve in nastavitve PHP). PHP ukazne vrstice nima omejitve pomnilnika, zato velik uvoz tu steče, tudi če se v brskalniku zatakne. - Del ukazov
wp dbne deluje. Zaradi varnostnih nastavitev PHP ne sme zagnati zunanjega programa (proc_openje onemogočen), zato sewp db export,wp db import,wp db query,wp db checkinwp db cliustavijo s to napako:The PHP functions proc_open() and/or proc_close() are disabled. Iz istega razloga tudiwp --infona koncu izpisa javi napako.wp db prefix,wp db tables,wp db sizeinwp db searchdelujejo, prav takowp search-replaceinwp option. Za varnostno kopijo podatkovne baze in poizvedbe SQL neposredno uporabi ukazamysqldumpinmysql(glej spodaj) ali phpMyAdmin (uvoz in izvoz podatkovne baze). - Predpona tabel ni vedno
wp_. WP Toolkit ob namestitvi dodeli naključno predpono (na primer1vL7334_options). Svojo izpišewp db prefix; v poizvedbah SQL uporabi to.
Varnostna kopija podatkovne baze in SQL z ukazom mysql
Ukazoma mysqldump in mysql je treba podati uporabnika in geslo podatkovne baze. Da geslo ne pride v ukazno vrstico (in v zgodovino ukazov), ga iz podatkov v wp-config.php zapiši v datoteko, ki jo lahko bereš le ti:
cd ~/public_html
umask 077
printf '[client]\nuser=%s\npassword="%s"\nhost=localhost\n' \
"$(wp config get DB_USER)" "$(wp config get DB_PASSWORD)" > ~/.my.cnf
host naj bo vedno localhost, tudi če je v datoteki wp-config.php zapisano localhost:3306. Nato:
# Varnostna kopija v domači imenik, ki s spleta ni dosegljiv
mysqldump --single-transaction --no-tablespaces "$(wp config get DB_NAME)" > ~/mentes-$(date +%F).sql
tail -1 ~/mentes-$(date +%F).sql
# Poizvedba
mysql "$(wp config get DB_NAME)" -e "SELECT COUNT(*) FROM $(wp db prefix)posts"
# Obnovitev iz varnostne kopije
mysql "$(wp config get DB_NAME)" < ~/mentes-2026-10-27.sql
Zadnja vrstica celotne varnostne kopije je -- Dump completed on …; če manjka, je bilo kopiranje prekinjeno. Če datoteke ~/.my.cnf po delu ne potrebuješ, jo izbriši (rm ~/.my.cnf), in če spremeniš geslo podatkovne baze, jo napiši znova.
Previdno z ukazi, ki spreminjajo
- Najprej preizkusi. Kjer obstaja stikalo
--dry-run(na primer pri ukazuwp search-replace), najprej zaženi z njim, preberi rezultat in šele nato zares. - Varnostna kopija pred tem. Po napačni množični operaciji lahko obnoviš tudi iz dnevne varnostne kopije (obnovitev iz JetBackup), vendar je svež
mysqldumphitrejši. - Način vzdrževanja pred obiskovalci skrije napol dokončano stanje:
wp maintenance-mode activate
wp plugin update --all
wp maintenance-mode deactivate
- Beleži sejo, če opraviš veliko korakov: po ukazu
script ~/wp-cli-$(date +%F-%H%M).logvse, kar vtipkaš in kar računalnik odgovori, pride tudi v datoteko (izhod:exit).
Najpogostejši ukazi
Stanje spletnega mesta
wp core version # različica WordPress
wp core check-update # ali obstaja nova različica
wp core verify-checksums # ali so osnovne datoteke poškodovane
wp option get siteurl # naslov spletnega mesta
wp option get home
wp db size --size_format=mb # velikost podatkovne baze
Vtičniki in teme
wp plugin list
wp plugin list --update=available # tisti, za katere obstaja posodobitev
wp plugin install contact-form-7 --activate
wp plugin deactivate contact-form-7
wp plugin update --all
wp plugin update woocommerce --version=9.8.1 # na določeno različico
wp plugin delete hello
wp theme list
wp theme activate twentytwentyfive
wp theme update --all
Uporabniki
wp user list --role=administrator
wp user create szerkeszto szerkeszto@pelda.hu --role=editor
wp user update 1 --user_pass='NovoMočnoGeslo'
wp user session destroy 1 --all # odjava z vseh naprav
wp user delete 5 --reassign=1 # njegova vsebina gre k uporabniku 1
Nastavitve, prehodni podatki, predpomnilnik
wp option get blogname
wp option update blogname "Novo ime"
wp transient delete --expired # brisanje poteklih prehodnih podatkov
wp cache flush # praznjenje predpomnilnika objektov
wp rewrite flush # ponovna gradnja trajnih povezav
Načrtovana opravila
wp cron event list
wp cron event run --due-now # izvedba zapadlih nalog
wp cron test
Predstavnost
wp media regenerate --yes # ponovno ustvarjanje sličic
wp media import ~/kep.jpg --title="Naslov slike"
Zamenjava naslova
wp search-replace 'regi-domain.hu' 'uj-domain.hu' --all-tables --skip-columns=guid --dry-run
Zamenjavo naslova podrobno opisuje članek o zamenjavi URL-jev po zamenjavi domene.
Konfiguracija
wp config get DB_NAME
wp config set WP_DEBUG true --raw
wp config list
Stikalo --raw v datoteko zapiše logično vrednost (true, false) ali število brez narekovajev; pri besedilu ga izpusti.
Večina ukazov s stikalom --format=json, --format=csv ali --format=count izpiše rezultat tudi v drugi obliki, wp help <parancs> pa pokaže vse možnosti. Ponovno namestitev osnovnih datotek WordPress opisuje ločen članek: Ponovna namestitev WordPressa z WP-CLI.
Če nimaš dostopa SSH
V paketu cP Basic ni SSH in Terminala. Takrat lahko večino nalog opraviš v vmesniku WP Toolkit (WordPress Management): posodobitev, upravljanje vtičnikov in tem, varnostno kopiranje, kloniranje. Zaženeš lahko tudi ukaz WP-CLI: na kartici spletnega mesta klikni povezavo WP-CLI in v polje Ukaz okna, ki se odpre, vpiši ukaz brez besede wp (na primer plugin list). WP Toolkit rezultat pokaže v spodnjem delu okna.
Če redno delaš v ukazni vrstici, je vredno preiti na paket z dostopom SSH.

