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 ...

È stato utile?

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;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top