EDIT: Rewrote the page from scratch and have been unable to figure out the differences. The new page works as expected.
在这里和Wordpress上检查了多个问题。组织还没有运气。下面是我在多个页面中使用的代码,用于获取旧记录并将其插入数据库(这些页面上没有问题)。页面中还有更多代码,但这就是我遇到的问题。它在一页上不起作用。
即使使用$wpdb->show\\u errors(),我也没有收到任何错误;我得到的唯一输出是在使用$wpdb->print\\u error()之后,这将提供以下输出:
`WordPress database error: []
SHOW FULL COLUMNS FROM `wp_posts`
$新建\\u id=$wpdb->插入\\u id$此时的new\\u id为0,因为数据库中没有插入任何内容(通过PHPMyAdmin验证)。
我试图指出我在插入中传递的数据类型(通过\'%1!\'等的第三个数组),但得到了相同的结果。
如有其他测试或解决方法的建议,将不胜感激。
=====================
function transfer_officer($old_record) {
global $wpdb;
$wpdb->show_errors();
$status = \'publish\';
$old_id = $old_record[0];
$name = $old_record[1];
$post_date = date(\'Y-m-d h:i:s\');
$post_data = array(
\'post_author\' => 1,
\'post_date\' => $post_date,
\'post_date_gmt\' => $post_date,
\'post_content\' => \'\',
\'post_title\' => $name,
\'post_excerpt\' => \'\',
\'post_status\' => $status,
\'comment_status\' => \'closed\',
\'ping_status\' => \'closed\',
\'post_password\' => \'\',
\'post_name\' => officer_name_to_slug($name),
\'to_ping\' => \'\',
\'pinged\' => \'\',
\'post_modified\' => $post_date,
\'post_modified_gmt\' => $post_date,
\'post_content_filtered\' => \'\',
\'post_parent\' => 0,
\'menu_order\' => 0,
\'post_type\' => \'rb_board_officers_posts\',
\'post_mime_type\' => \'\',
\'comment_count\' => 0
);
//put into post table
$wpdb->insert(\'wp_posts\', $post_data);
$wpdb->print_error();
var_dump($wpdb);
$new_id = $wpdb->insert_id;