我有EventOn插件,我正在尝试生成并显示已购买活动门票的用户帐户列表。
DB中的两个相关表是wp_posts和wp_postmeta表。以下是google doc中相关信息的csv导出: https://docs.google.com/spreadsheets/d/1cJCr5Nw6a_ssJMo8xoJOJjHU0r97xzs-olcA-7TQhXw/edit?usp=sharing 我可以提供phpMyAdmin访问权限,如果它有助于环顾四周。
第一张表是wp_post表。第二张是wp_postmeta。 wp_post ID列通过post_id列连接到wp_postmeta表。 wp_postmeta表数据是一次购买的示例。还有更多就像只有不同的post_id一样。
我需要的是一个SQL语句或一个WP_Query语句,用于从特定事件的wp_postmeta表中获取名称列表。
这是我到目前为止所尝试的内容:
SQL语句 -
SELECT wp_postmeta.meta_value
FROM wp_postmeta
INNER JOIN wp_posts
ON wp_posts.ID=wp_postmeta.post_id
where wp_posts.post_type='evo-tix'
AND wp_postmeta.meta_key='name';
WP_Query -
$args = array(
'post_type' => 'evo-tix',
'meta_key' => '_eventid',
'meta_value' => get_the_ID(),
'meta_compare' => '=',
);
$query = new WP_Query( $args );
SQL语句的问题在于它为我提供了为所有事件购买的所有名称。不知道如何用它指定_eventid(来自wp_postmeta表)。
WP_Query的问题在于它只从wp_posts表中提取信息。它将它限制为正确的事件(get_the_ID()方法带来正确的ID / meta_value以与_eventid meta_key进行比较),但我无法从wp_postmeta表中获取名称。
我不确定从哪里开始,所以任何帮助都会受到赞赏。如果我能帮忙清理一下,请告诉我。我不确定我解释的工作有多好。