カスタムの Wordpress MySQL クエリに問題があります。私の状況は次のとおりです。投稿用の通常の投稿タイプ「投稿」と、作成者に関する情報用のカスタム投稿タイプ「作成者」があります。「著者」投稿タイプはすべての著者を保持しますが、すべてが投稿の著者である必要はありません。
各投稿 (タイプ「投稿」および「作成者」) には、作成者の正確な名前 (例: 「John Smith」) を含むカスタム分類法があります。投稿タイプ 'author' には、著者の名と姓の追加のカスタム メタ値があります (複雑になる可能性があり、姓、名で簡単に並べ替えることができるため)。
現在、投稿を公開したすべての作成者を選択し、投稿数を数え、名前に関連付けられたメタ値を表示しようとしています。ある投稿タイプ (「投稿」) からの分類を、別の投稿タイプ (「作成者」) からのメタ値を 1 行で相互参照する方法がわかりません。
私が欲しいもの:
John Smith John Smith 10
私がこれまでに持っているもの:
John Smith 10 John
John Smith 10 Smith
以下のクエリに行き詰まっています。どんな助けでも大歓迎です!
SELECT
N, C, meta_value
FROM
(SELECT
t.name AS N, count(*) AS C
FROM
wp_2_posts p
INNER JOIN wp_2_term_relationships AS tr ON p.ID=tr.object_id
INNER JOIN wp_2_term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id
INNER JOIN wp_2_terms AS t ON tt.term_id = t.term_id
WHERE 1=1
AND tt.taxonomy = 'myauthor'
AND p.post_type = 'post'
AND p.post_status = 'publish'
GROUP BY
N
ORDER BY
C DESC) AS x
INNER JOIN wp_2_posts p2
INNER JOIN wp_2_term_relationships AS tr2 ON p2.ID=tr2.object_id
INNER JOIN wp_2_term_taxonomy AS tt2 ON tr2.term_taxonomy_id = tt2.term_taxonomy_id
INNER JOIN wp_2_terms AS t2 ON tt2.term_id = t2.term_id
INNER JOIN wp_2_postmeta AS m2 ON m2.post_id = p2.ID
WHERE 1=1
AND post_type = 'author'
AND t2.name = x.N
AND (m2.meta_key = 'lastname' OR m2.meta_key = 'firstname')