2010-05-12 12 views
0

Je souhaite modifier le schéma post permalien sur mon WordPress 3.0 beta1 utiliser ma nouvelle taxonomie personnalisée.Modifier la structure post permalien sur WordPress à utiliser la taxonomie personnalisée

Aujourd'hui, je peux utiliser /%category%/%postname%/ et l'URL /my-category/my-post/, c'est bien, mais je dois utiliser une autre taxonomie à la place de "catégorie".

J'ai essayé d'utiliser /%acervo%/%postname%/ mais mes URL est venu avec %acervo% sur l'URL au lieu le nom de la « ACEVO » (mon nom de taxonomie) wich le poste appartient.

J'ai trouvé quelque chose lié à WP_Rewrite mais sans sucess ...

Répondre

0

Vous pouvez essayer d'utiliser le plugin WordPress, No Category Base, puis coder en dur la taxonomie avec le caractère générique postname, comme ceci:

/acervo/%postname%/ 

Notez que ACERVO ne pas les signes de pourcentage car il est « codé en dur » et non un caractère générique.

+0

Je ne veux pas quoi que ce soit hardcode ... le poste appartient à un ou plusieurs 'acervo' (ma taxonomie) et je veux insérer cette valeur dans le permalien post en utilisant des crochets, funcions wordpress ou des filtres (si nécessaire) pour pouvoir compter sur la' the_permalink() 'Fonction. –

+0

Je vous entends. Je n'ai pas assez tripoté avec WP3.0 pour savoir si cela peut être fait et je suis sûr que leur documentation manque pour le moment. Le mieux serait de regarder dans le code source où le paramètre permalinks est géré pour voir si quelque chose a été changé/ajouté. – hsatterwhite

0

changer simplement votre base de catégorie Dashboard/Settings/Permalinks Pas besoin de se débarrasser de la base de la catégorie et ajoutez-le à nouveau.

+0

Comme je l'ai dit dans ma question, je ne veux pas utiliser la taxonomie de catégorie ... J'ai besoin d'utiliser la taxonomie 'acervo' dans l'URL ... La page de catégorie et la catégorie-base n'ont rien à voir avec ça. –

0

Je l'obtenir ... Changé la structure permalien à /%acervos%/%postname%/ puis plongé dans WP_Rewrite et a ajouté une nouvelle « étiquette de remplacement » remplaçant %acervos% avec (.*) regexp.

+0

Je vais avoir votre même problème avec un toxonomy (cette fois généré par un plug-in). Il n'y a donc aucun moyen d'avoir un/taxonomy-term% /% postname%/url en utilisant les paramètres permalinks dans le panneau d'administration? je dois aller le coder quand même? – Bakaburg

0

Cela devrait à l'affaire.

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; 
}