编辑:原来我有一个永久链接问题,导致了404错误
下面的原始帖子:
我正在使用$wpdb->insert()以编程方式创建一个页面,结果页面返回404错误。
需要注意的几点是,我正在使用$wpdb对象创建页面,因为我是在一个单独的WordPress网站上创建的,所以wp\\u insert\\u post()不起作用,因为它会将帖子插入我调用的网站。基本上,我有一个网站网络,我在一个网站上从另一个网站创建帖子我正在为页面创建一个自定义post\\u名称(slug)值因此,当我以编程方式添加页面时,数据库中的所有内容看起来就像是通过WordPress管理区域添加的一样。我甚至可以去该网站的WordPress管理区编辑帖子。然而,如果我去查看页面,它会抛出一个404。现在,如果我从WordPress管理区“更新”帖子,404就会消失。
如果我以编程方式创建一篇文章,并从WordPress管理区域创建它,然后查看数据库列,则它们的值完全相同(或者看起来是)。为什么一个工作,一个不工作?此外,我正在使用永久链接(无需自定义,只是预定义的选项之一)。
这是我正在使用的wpdb插入调用
$post = array(
\'post_author\' => 1,
\'post_date\' => date(\'Y-m-d H:i:s\'),
\'post_date_gmt\' => date(\'Y-m-d H:i:s\'),
\'post_content\' => \'\',
\'post_title\' => \'My Page\',
\'post_name\' => \'my-page\',
\'post_excerpt\' => \'\',
\'post_status\' => \'publish\',
\'comment_status\' => \'open\',
\'ping_status\' => \'open\',
\'post_modified\' => date(\'Y-m-d H:i:s\'),
\'post_modified_gmt\' => date(\'Y-m-d H:i:s\'),
\'post_parent\' => 0,
\'post_type\' => \'page\',
\'comment_count\' => 0
);
$wpdb->insert(
\'wp_posts\',
$post,
array( \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\' );
);