[WordPress] ポストのワードプレス用語一覧

スポンサーリンク

Question

ワードプレスの

インデックスを構築しています私のブログのすべてのアーティクル テーブルの一覧ページです。このテーブルのすべての行に、次の構造: ポスト タイトル、用語、特定のグループに属する。たとえば、映画についてあった:

 Blade Runner       | noir, science fiction
 Gone with the Wind | dramatic

ポイントは: 空のセットまたは時々 間違って用語を示すを返しますいくつか奇妙なエラーがあるときに複数の用語をあります。私はこれがなぜ起こるか把握できないのでかなり困ります。これは方法に、データをフェッチします

//Loops through the articles in the table wp_posts
foreach($results as $result){
    $metaStr = "";
    $id = $result->ID;
    $query = "
        SELECT name 
        FROM wp_term_relationships 
        INNER JOIN wp_terms
        ON term_id = term_taxonomy_id
        WHERE object_id = $id AND term_taxonomy_id IN (6, 7, 8, 9, 14, 15, 18, 22, 24, 30)
    ";
    $metas = $wpdb->get_results($query);
    $count = 0;
    foreach($metas as $meta){
        if($count > 0){
            $metaStr .= "
"; } $metaStr .= $meta->name; $count++; } print $metaStr; }

誰かが助けることができるか?私は何を間違っているか?これを行うには良い方法はありますか?歓声

答え

1 つの列に複数の値を格納しないで !

むしろテーブル設計を変更して別のテーブルのマッピングを追加します。ような

posts table
------------
id
title


tags table
------------
id
name


post_tags table
------------------
post_id
tag_id

タグとデータのクエリをすばやく定義リスト必要がありますその方法はあまりにも正規化されます

http://stackoverflow.com/questions/27583907/wordpress-term-list-of-a-post

スポンサーリンク

Leave a Reply