Taxonomie: De ce 'with_front' => false NU FUNCȚIONEAZĂ?
Serios, de ce 'with_front' => false
nu funcționează așa cum ar trebui? Se presupune că ar trebui să elimine NUMELE DE BAZĂ AL TAXONOMIEI și întrebarea mea este de ce nu funcționează?
Pur și simplu nu vreau ca slug-ul de bază al taxonomiei să apară în URL-ul meu și documentația spune că 'with_front' => false
ar trebui să ajute, dar nu o face. Lăsând slug-ul gol precum 'slug'=> ''
generează eroare 404.
register_taxonomy("tax_categories", array("products"), array(
"hierarchical" => true,
"label" => "Categorii",
"singular_label" => "Categorie",
"show_ui" => true,
'update_count_callback' => '_update_post_term_count',
"rewrite" => array(
'with_front' => false,
'hierarchical' => true
)
));
Această problemă ar fi trebuit să fie rezolvată http://core.trac.wordpress.org/ticket/16807
Vă rog să mă ajutați să înțeleg asta. Mulțumesc.
Pentru a elimina numele de bază al taxonomiei, puteți folosi:
'rewrite' => ['slug' => '/', 'with_front' => false]
Totuși, acest lucru va face ca articolele dumneavoastră (de bază) să returneze eroarea 404, dacă aveți permalink-uri setate ca http://example.com/sample-post/
. Se pare că nu puteți avea atât taxonomii personalizate cât și articole în rădăcina site-ului. Prin urmare, va trebui să mergeți în setările Permalink-uri și să setați Structură personalizată, de exemplu /blog/%postname%/
.
Încă o observație
Un efect secundar este că și tipurile de postări personalizate (CPT) vor avea acest "prefix", de exemplu blog/produse
. Aici intervine 'with_front' => false
. Acest parametru este conceput pentru a vă scăpa de prefixul structurii personalizate. Deci, în înregistrarea tipului de produs, ați avea:
register_post_type( 'products', array(
'rewrite' => array(
'slug' => 'products',
'with_front' => false
),
/* ... */
));

Parametrul with_front
controlează dacă un link de taxonomie poate avea sau nu altceva în fața lui, cum ar fi componente suplimentare din setările de permalink-uri. De exemplu, dacă with_front
este setat pe true
, acest lucru devine posibil:
blah.com/2011/09/tax/term
Însă, dacă este setat pe false
, singura opțiune disponibilă este:
blah.com/tax/term

Pe lângă ce a spus @tf, te rog să explici și de ce codul tău oferă o soluție.

Îmi dă eroare 404, în ciuda faptului că am resalvat legăturile permanente. Rescrie URL-ul în browser (dar nu în zona legăturii permanente a articolului), dar tot apare eroarea 404 în browser.
