前提・実現したいこと
お世話になります。WordPressの$wpdbについての質問になります。宜しくお願い致します。
記事に紐づくユーザー情報「count」がありまして、それを$wpdbを介して取得し、ランキングを表示しております。
それはできたのですが、取得対象の記事を指定タームの記事にしたい。というところで現在、悪戦苦闘しております。
発生している問題
次に示す該当のソースコード【1】において、
WHERE = ( $targets )
によってIDが58のタームを持つ記事を対象にしたいがこれができない。
尚該当のソースコード【2】で全ての記事を対象とするものはできている。
該当のソースコード【1】
PHP
1// 【1】指定ターム(58)を対象にするこのコードが機能しない 2function CountRanking_tarm ( $tarmId ){ 3 $tarmId = '58'; 4 global $wpdb; 5 // IDが58のタームを持つnewsの記事を対象とする 6 $targets = $wpdb->get_results( " 7 SELECT tr.object_id 8 FROM $wpdb->term_relationships AS tr INNER 9 JOIN $wpdb->term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id 10 WHERE post_type = 'news' 11 WHERE tt.term_id = $tarmId 12 " ); 13 // 対象の記事から「count」の数のランキングを作る 14 $counts = $wpdb->get_results( " 15 SELECT p.post_author AS user_id, sum(m.meta_value) AS SumUser 16 FROM $wpdb->posts AS p, $wpdb->postmeta AS m 17 WHERE = ( $targets ) 18 AND p.post_status = 'publish' 19 AND m.meta_key = 'count' 20 GROUP BY p.post_author 21 ORDER BY m.meta_value DESC LIMIT 10 22 " ); 23 // ランキングを出力する 24 $result = ''; 25 foreach ( $counts as $count ) { 26 $result .= '<ul>' 27 $result .= '<li>'.get_avatar($count->user_id, 95).'</li>'; 28 $result .= '</ul>' 29 } 30 return $result; 31}
###該当のソースコード【2】
PHP
1// 【2】全ての記事を対象にするこのコードは機能する 2function CountRanking_all (){ 3 global $wpdb; 4 // 全ての記事から「count」の数のランキングを作る 5 $counts = $wpdb->get_results( " 6 SELECT p.post_author AS user_id, sum(m.meta_value) AS SumUser 7 FROM $wpdb->posts AS p, $wpdb->postmeta AS m 8 WHERE p.ID = m.post_ID 9 AND p.post_status = 'publish' 10 AND m.meta_key = 'count' 11 GROUP BY p.post_author 12 ORDER BY m.meta_value DESC LIMIT 10 13 " ); 14 // ランキングを出力する 15 $result = ''; 16 foreach ( $counts as $count ) { 17 $result .= '<ul>' 18 $result .= '<li>'.get_avatar($count->user_id, 95).'</li>'; 19 $result .= '</ul>' 20 } 21 return $result; 22}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/06 23:04
2018/12/06 23:13
2018/12/06 23:17
2018/12/07 00:46 編集
2018/12/07 00:50 編集
2018/12/07 00:59
2018/12/07 03:06 編集
2018/12/07 06:44 編集
2018/12/07 06:45
2018/12/07 07:17 編集
2018/12/07 07:14
2018/12/07 07:19 編集
2018/12/07 08:19
2018/12/07 15:27 編集
2018/12/07 12:27 編集