web-dev-qa-db-fra.com

Comment faire des alias de tag

Comment pourrais-je construire quelque chose comme ceci avec wordpress. Lorsque plusieurs textes de balises vont tous à la même page.
enter image description here

Si vous cliquez sur la balise "scifi", il vous faudra taguer "science fiction". Je ne cherche pas un moyen de les fusionner.

Je veux que le texte de la balise varie, mais que la dernière page soit la même. Des idées?

Une redirection physique ne devrait pas être nécessaire. Le texte de la balise de X doit être lié à Y lorsque wordpress construit le lien.

Exemple: Si je tape "scifi" en tant que balise, le lien est construit en tant que <a href="/tag/science fiction">scifi</a> et, par conséquent, la balise est un alias de "science-fiction".

Où pourrais-je m'accrocher pour faire ça?

2
Adam Bell

Ont pas testé testé, mais je vois dans la page Codex pour wp_insert_term il y a un argument alias_of, qui est décrit:

Il n'y a pas de valeur par défaut, mais si ajouté, attendu est le slug dont le terme sera un alias. Devrait être une chaîne.

Peut-être que ça aide;)

2
Anh Tran

Je suppose que le mieux serait simplement de fusionner des synonymes. Vous pouvez utiliser ce plugin - @scribu est un auteur de confiance.

1
kaiser

Je peux utiliser le filtre term_link, pour la moitié de liaison de ce problème:

Voici une version basique, toujours codée:

<?php
/*
Plugin Name: Tag Alias
Version: 0.001
Plugin URI: 
Description: Adams Tag Alias -> hard coded tag redirects
Author: Adam
*/

$aliases = array (
    "450"  => "400",
    "speed controler" => "esc",
    "kds" => "esc"
);

function tagAliasFilter ($termlink, $term, $taxonomy) {
    global $aliases;
    foreach ($aliases as $alias => $key)
    if($term->slug == $alias)
    {
        $termlink = str_replace($alias,$key,$termlink);     
    }   
    return $termlink;
}
add_filter('term_link', 'tagAliasFilter',10,3);
?>

Maintenant, ce qui manque, c'est de tirer les alias sur les pages de balises

0
Adam Bell