2011-01-07 15 views
3

オンラインのドキュメントや例がたくさんありますが、この単純な関数を正しく動作させることはできません。私は何が間違っているのか分かりませんが、それでも正しく動作していません。私はここで行方不明に誰にスポットができますか?get_tags()関数は正しくソートされていません

私はカスタムタグクラウドを作ろうとしているので、wp_tag_cloud()を使用していません。

$tags = get_tags(array('orderby' => 'name', 'order' => 'ASC')); 
    foreach($tags as $tag) { 
     echo "<li><a href=\"" 
        .get_tag_link($tag->term_id)."\">" 
        .ucwords($tag->name) 
        ."</a> ($tag->count related page)</li>";  
    } 

これは次の出力を生成します。

- Black Box (3 related page) 
- Waste (2 related page) 
- Recycling (2 related page) 
- Garbage (1 related page) 
- Cheese (1 related page) 
- Blue Box (1 related page) 
- Test (1 related page) 

あなたが見ることができるように、彼らはCOUNTによってソートされ、名前を付けていません。なぜ私は考えていない。私の議論は大丈夫です。思考?

答えて

0

同様の問題を解決しようとしているときにこの質問が見つかりました。私のコードにはちょっとした誤字がありました(「orderby」ではなく「orderby」)。しかし、私はあなたを助けるかもしれない何かを見つけました。

これは時々、あなたのクエリに干渉するプラグインによって引き起こされるようです。プラグインを無効にして問題が解決するかどうか確認してください。

1

この質問は古いですが、これはまだ誰かがまだ回答を探しているのに役立ちます。

function sortOrder($a, $b) { 
    if($a->name == $b->name){ return 0 ; } 
    return ($a->name < $b->name) ? -1 : 1; 
} 

$tags = get_tags(); 
usort($tags, 'sortOrder'); 

    foreach($tags as $tag) { 
     echo "<li><a href=\"" 
        .get_tag_link($tag->term_id)."\">" 
        .ucwords($tag->name) 
        ."</a> ($tag->count related page)</li>";  
    } 
関連する問題