Zvolené téma obsahuje celkem 3 odpovědi. Do diskuze (4 účastníci) se naposledy zapojil uživatel dejw a poslední změna je stará 8 let.
-
Zdravím, poradí někdo jak odstranit z url pří stránkování slovo page nebo ho aspoň přejmenovat.
Dobrý den, zkuste následující kód do child theme nebo vlastního pluginu, ale toto řešení je sice rychlé není zcela ideální, protože je to zbytečně náročné na výpočet, protože se $wp_rewrite->flush_rules();
zavolá vždy.
function my_rewrite_rules() {
global $wp_rewrite;
$wp_rewrite->pagination_base = 'stranka';
$wp_rewrite->flush_rules();
}
add_action('init', 'my_rewrite_rules')
Lepší je asi řešení vlastního pluginu s přesměrováním starých stránek.
@Karolína Vyskočilová: Přesně tak, díky moc!
Poznámky:
– S odstraňováním by mohly být problémy (WordPress pak nemusí rozpoznat, že jde o přesměrování), takže bych to raději nezkoušel (i když by to teoreticky mohlo jít také obejít).
– Funkci flush_rules() určitě nepoužívat při každém načtení stránky. Klidně ji můžete vynechat, bohatě stačí, když pak v menu Nastavení – Trvalé odkazy znovu ručně uložíte (bez provedených změn) nastavení struktury trvalých odkazů. Kliknutí provede to samé, co funkce flush_rules()
a nemusíte to dělat při každém načtení nějaké stránky…
– V manuálu najdete další vhodné příklady automatizace, jak tuto funkci použít např. při aktivaci/deaktivaci pluginu, šablony nebo třeba když se změní nějaký soubor.
Rád bych se zeptal. Právě řeším tento problém. Použil jsem návod, struktura adres se změní, ale kliknu-li třeba na /stranka/2
, kde mají být nějaké příspěvky, není nic nalezeno. Změnil jsem i .htaccess
.
První návod funguje:
function my_rewrite_rules() {
global $wp_rewrite;
$wp_rewrite->pagination_base = 'stranka';
$wp_rewrite->flush_rules();
}
add_action('init', 'my_rewrite_rules')
Na druhou stranu není nejvhodnější. Věděl by někdo jak na to prosím? Děkuji
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.
WordPress – novinky, návody a zajímavosti