我正在尝试将数据从表导入到自定义帖子类型下面是我正在使用的代码,但是这个$行[\'Title\']没有返回任何内容。。。如果我硬编码,它就会工作
$rows = $wpdb->get_results( "SELECT * FROM Products");
foreach ($rows as $row)
{
$new_post = wp_insert_post(array(
\'post_type\' => \'products\',
\'post_status\' => \'publish\',
\'post_author\' => $authorID,
\'post_title\' => $row[\'Title\']
));
if( !is_wp_error($new_post) )
{
update_post_meta($new_post, "shakamaka", $row[\'DocFileID\']);
}
};
最合适的回答,由SO网友:s_ha_dum 整理而成
$row
看起来不像你想的那样。$wpdb->get_results
默认情况下,将返回对象数组。您的代码--\'post_title\' => $row[\'Title\']
-- 将对象视为数组,并应生成致命错误,如果debugging enabled.
致命错误:无法将stdClass类型的对象用作。。。
您需要对象语法。尝试(使用核心表):
$rows = $wpdb->get_results( "SELECT * FROM wp_posts");
foreach ($rows as $row) {
// echo $row[\'post_author\']; // doesn\'t work
echo $row->post_author; // works
echo \'<br>\';
}