web-dev-qa-db-ja.com

タグエイリアスの作り方

どうやってwordpressで this のようなものを作るのでしょう。複数のタグテキストがすべて同じページに表示される場合。
enter image description here

「scifi」というタグをクリックすると、「サイエンスフィクション」というタグを付けることができます。それらをマージする方法を探していません。

タグテキストを変えたいのですが、終了ページは同じにします。何か案は?

物理的なリダイレクトは必要ありません。 wordpressがリンクを作成するときには、XのタグテキストをYにリンクする必要があります。

例:タグとして「scifi」と入力し、リンクが<a href="/tag/science fiction">scifi</a>として作成された場合、そのタグは「サイエンスフィクション」の別名です。

これを行うにはどこに接続すればよいですか。

2
Adam Bell

テストされていないテストはまだされていますが、Codexページで wp_insert_term を参照してください。引数alias_ofが1つあります。説明されています:

デフォルトはありませんが、追加した場合、その用語がの別名になるというスラッグが予想されます。文字列になるはずです。

多分それは役立ちます;)

2
Anh Tran

同義語を単純にマージするのが最善だと思います。あなたは this プラグインを使うことができます - @scribuは信頼できる作者です。

1
kaiser

この問題の半分をリンクするには、term_linkフィルタを使用します。

これは基本的な、まだハードコードされたバージョンです。

<?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);
?>

今不足しているのはタグページのエイリアスを引き込むことです

0
Adam Bell