【发布时间】:2016-06-27 17:08:46
【问题描述】:
我正在从另一个 Wordpress 数据库运行数据库查询,因此使用标准 sql 查询而不是各种 wordpress 函数。
基本上,我想显示与 postID 关联的所有元值/数据。我已经使用自己的自定义字段(开始日期等)设置了一个客户帖子类型“事件”。
我几乎拥有我需要的一切,我只需要编写适当的 php 循环来输出每个帖子 ID 的数据(以显示帖子的元数据)。
注意:meta_values 可以为 null,以后可能会添加更多的 meta_keys。
$newdb = //already setup new db connection (don't worry about this)
$query =
"
SELECT *
FROM wp_posts, wp_postmeta
WHERE wp_posts.ID = wp_postmeta.post_ID
AND wp_postmeta.meta_key NOT LIKE '\_%'
AND wp_posts.post_type='event'
AND wp_posts.post_status = 'publish';
" ;
$events = $newdb->get_results($query, OBJECT);
//get_results() is a wordpress function, nearly equiv to my_sqli
//OBJECT - result will be output as an object.
//ARRAY_A - result will be output as an associative array.
foreach ( $events as $event ) {
echo $event->post_title;
echo $event->meta_value;
}
当前结果:
Title_1,2016 年 11 月 2 日
Title_1,05:00
Title_1,2016 年 12 月 1 日
Title_2,2016 年 5 月 2 日
…
**期望结果:**(针对每个帖子)
(结构上):
post_ID: 1, post_title: Title_1, start_date: 11/02/2016, start_time: 05:00, end_date: 12/01/2016
$event->post_title;
$event->meta_value”; //meta_key = start_date
$event->meta_value”; //meta_key = end_time
$event->meta_value”; //meta_key = end_date
(视觉上)
标题_1, 2016 年 11 月 2 日, 05:00, 2016 年 12 月 1 日,
标题_2, 2016 年 5 月 2 日, 07:00, 2016 年 7 月 2 日,
【问题讨论】:
标签: php mysql wordpress pivot-table associative-array