Cambiare la struttura post Permalink su WordPress per uso tassonomia personalizzato
-
26-09-2019 - |
Domanda
Voglio cambiare lo schema post Permalink sul mio WordPress 3.0-beta1 di usare la mia nuova tassonomia personalizzato.
Oggi posso usare /%category%/%postname%/
e l'URL /my-category/my-post/
, che è bello, ma ho bisogno di usare un altro tassonomia invece una "categoria".
Ho provato ad usare /%acervo%/%postname%/
ma i miei URL venuto con %acervo%
sul URL invece il nome del " Acevo " (il mio nome tassonomia) Quale il palo a cui appartiene.
Ho trovato qualcosa legato alla WP_Rewrite ma senza sucesso ...
Soluzione
Si potrebbe provare a utilizzare il plugin per WordPress, No Categoria Base , e quindi codificare la tassonomia con il carattere jolly postname, in questo modo:
/acervo/%postname%/
Si noti che acervo non ha i segni di percentuale poiché è "hard coded" e non un jolly.
Altri suggerimenti
semplicemente cambiare la vostra base di categoria in Dashboard/Settings/Permalinks
Non c'è bisogno di sbarazzarsi della base categoria e quindi aggiungerlo nuovamente.
ho capito ... ha modificato la struttura permalink per /%acervos%/%postname%/
e poi si tuffò in WP_Rewrite e ha aggiunto un nuovo "tag di sostituzione" sostituendo %acervos%
con (.*)
regexp.
Questo dovrebbe per il trucco.
function acervo_permalink($permalink, $post_id, $leavename){
if (get_option('permalink_structure') != ''){
$post = get_post($post_id);
$rewritecode = array(
'%acervo%'
);
if (strpos($permalink, '%acervo%') !== FALSE){
$terms = wp_get_object_terms($post->ID, 'acervo');
if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0])) $acervo = $terms[0]->slug;
else $acervo = '';
}
$rewritereplace = array(
$acervo
);
$permalink = str_replace($rewritecode, $rewritereplace, $permalink);
}
return $permalink;
}