Ce face wp rewrite flush
Regulile de rescriere transformă o adresă ca /meniu/cappuccino/ în interogarea potrivită pentru WordPress. Ele sunt salvate în opțiunea rewrite_rules și se construiesc din structura permalinkurilor, tipurile de conținut și taxonomiile înregistrate.
wp rewrite flush le reconstruiește, la fel ca butonul „Salvează modificările” din Setări → Legături permanente. E nevoie de asta după ce adaugi un tip de conținut cu register_post_type() sau schimbi un slug de rescriere, altfel paginile noi dau 404.
Cu --hard se actualizează și fișierul .htaccess (doar pe site-uri simple, nu pe multisite). Pentru asta, WP-CLI trebuie să știe că serverul are mod_rewrite: adaugi în wp-cli.yml sau config.yml cheia apache_modules cu mod_rewrite.
Parametri
| Parametru | Descriere |
|---|---|
--hard |
Actualizează și regulile din .htaccess, nu doar pe cele din baza de date. Funcționează doar pe instalări simple (nu multisite). |
Exemple
Exemplul 1: După activarea unui plugin cu un tip de conținut nou
Adresele de tip /meniu/... încep să funcționeze după reconstruirea regulilor.
wp rewrite flush
Ieșire în terminal
Success: Rewrite rules flushed.
Exemplul 2: Schimbarea structurii permalinkurilor
wp rewrite structure setează structura, apoi reconstruiește singur regulile; de aceea apar două mesaje.
wp rewrite structure '/%postname%/'
Ieșire în terminal
Success: Rewrite structure set.
Success: Rewrite rules flushed.
Exemplul 3: Configurare pentru –hard pe Apache
Fișierul wp-cli.yml din directorul site-ului îi spune lui WP-CLI că serverul are mod_rewrite. Apoi wp rewrite flush --hard poate scrie și în .htaccess.
# wp-cli.yml
apache_modules:
- mod_rewrite
Greșeli frecvente
- Apelarea
flush_rewrite_rules()în cod la fiecare încărcare de pagină (de exemplu peinit) în loc de o singură reconstruire: e o operație costisitoare. Fă-o o dată, la activarea pluginului sau cuwp rewrite flush. - Rularea cu
--skip-pluginssau--skip-themes: tipurile de conținut din pluginuri și teme nu se încarcă, iar regulile lor lipsesc după reconstruire. WP-CLI avertizează în acest caz. --hardfărăapache_modulesconfigurat: WP-CLI avertizează că regenerarea.htaccessare nevoie de configurare specială. Pe Nginx,.htaccessnu se folosește deloc.
Comenzi înrudite
register_post_type: Înregistrează un tip de conținut personalizat (produse, evenimente, rețete), cu meniu propriu în administrare.register_taxonomy: Creează o taxonomie proprie (ca Categorii sau Etichete), de exemplu „Oraș” pentru produse sau evenimente.wp plugin activate: Activează sau dezactivează pluginuri instalate, unul câte unul sau toate odată, fără panoul de administrare.