$wpdb不工作自定义(woocommerce)表


$wpdb not working on custom (woocommerce) tables

我正试图检索由woocommerce在自定义表中保存的一些订单详细信息这个插件已经创建,我得到两个问题。

使用下面的代码,即使我在页面

上启用了错误报告,页面也只是中断而不显示任何错误。
global $wpdb;
$wpdb->woocommerce_order_items = $wpdb->prefix . 'woocommerce_order_items';
$wpdb->woocommerce_order_itemmeta = $wpdb->prefix . 'woocommerce_order_itemmeta';
$therapists = $wpdb->get_results("SELECT 
u.ID, 
m1.meta_value       as first_name,
m2.meta_value       as last_name,
m3.meta_value       as pma_skills,
m4.meta_value       as pma_photo,
m5.meta_value       as pma_job_titles,
m6.post_id          as order_id,
m7.order_item_id    as order_item_id,
m8.meta_value       as status,
m9.meta_value       as expiry_date,
m10.meta_value      as product_id
FROM $wpdb->users AS u
LEFT JOIN $wpdb->usermeta AS m1 
ON u.ID = m1.user_id  AND m1.meta_key = 'first_name'
LEFT JOIN $wpdb->usermeta AS m2 
ON u.ID = m2.user_id AND m2.meta_key = 'last_name'
LEFT JOIN $wpdb->usermeta AS m3
ON u.ID = m3.user_id AND m3.meta_key = 'pma_skills'
LEFT JOIN $wpdb->usermeta AS m4
ON u.ID = m4.user_id AND m4.meta_key = 'pma_photo'
LEFT JOIN $wpdb->usermeta AS m5
ON u.ID = m5.user_id AND m5.meta_key = 'pma_job_titles'
LEFT JOIN $wpdb->postmeta AS m6
ON u.ID = m6.meta_value
LEFT JOIN $wpdb->woocommerce_order_items AS m7
ON order_id = m7.order_id AND m7.order_item_type = 'line_item'
LEFT JOIN $wpdb->woocommerce_order_itemmeta AS m8
ON m7.order_item_id = m8.order_item_id AND m8.meta_key = '_subscription_status'
LEFT JOIN $wpdb->woocommerce_order_itemmeta AS m9
ON m7.order_item_id = m9.order_item_id AND m9.meta_key = '_subscription_expiry_date'
LEFT JOIN $wpdb->woocommerce_order_itemmeta AS m10
ON m7.order_item_id = m10.order_item_id AND m10.meta_key = '_product_id'
WHERE m1.meta_value IS NOT NULL");

使用以下代码从查询中删除自定义表,如下所示

LEFT JOIN AS m7 ON order_id = m7。order_id ANDOrder_item_type = 'line_item'

LEFT JOIN wp_woocommerce_order_items AS m7 ON order_id = m7。order_id ANDOrder_item_type = 'line_item'

global $wpdb;
$therapists = $wpdb->get_results("SELECT 
u.ID, 
m1.meta_value       as first_name,
m2.meta_value       as last_name,
m3.meta_value       as pma_skills,
m4.meta_value       as pma_photo,
m5.meta_value       as pma_job_titles,
m6.post_id          as order_id,
m7.order_item_id    as order_item_id,
m8.meta_value       as status,
m9.meta_value       as expiry_date,
m10.meta_value      as product_id
FROM $wpdb->users AS u
LEFT JOIN $wpdb->usermeta AS m1 
ON u.ID = m1.user_id  AND m1.meta_key = 'first_name'
LEFT JOIN $wpdb->usermeta AS m2 
ON u.ID = m2.user_id AND m2.meta_key = 'last_name'
LEFT JOIN $wpdb->usermeta AS m3
ON u.ID = m3.user_id AND m3.meta_key = 'pma_skills'
LEFT JOIN $wpdb->usermeta AS m4
ON u.ID = m4.user_id AND m4.meta_key = 'pma_photo'
LEFT JOIN $wpdb->usermeta AS m5
ON u.ID = m5.user_id AND m5.meta_key = 'pma_job_titles'
LEFT JOIN $wpdb->postmeta AS m6
ON u.ID = m6.meta_value
LEFT JOIN $wpdb->prefixwoocommerce_order_items AS m7
ON order_id = m7.order_id AND m7.order_item_type = 'line_item'
LEFT JOIN $wpdb->prefixwoocommerce_order_itemmeta AS m8
ON m7.order_item_id = m8.order_item_id AND m8.meta_key = '_subscription_status'
LEFT JOIN $wpdb->prefixwoocommerce_order_itemmeta AS m9
ON m7.order_item_id = m9.order_item_id AND m9.meta_key = '_subscription_expiry_date'
LEFT JOIN $wpdb->prefixwoocommerce_order_itemmeta AS m10
ON m7.order_item_id = m10.order_item_id AND m10.meta_key = '_product_id'
WHERE m1.meta_value IS NOT NULL");

如果我只使用完整的表名而不是变量,我也会得到一个没有错误的破页。

你可以在这个页面上看到结果http://psicologialondra.com/testpage/

我做错了什么?我试图使用推荐的代码,但它似乎不工作:(

第二个代码不能工作,您肯定需要第一个代码。如果使用该查询,查询是否打印出来?我还将检查get_results方法是否使用var_dump返回任何错误。