使用$wpdb以编程方式创建页面并收到404错误

时间:2012-01-09 作者:mikemick

编辑:原来我有一个永久链接问题,导致了404错误

下面的原始帖子:

我正在使用$wpdb->insert()以编程方式创建一个页面,结果页面返回404错误。

需要注意的几点是,我正在使用$wpdb对象创建页面,因为我是在一个单独的WordPress网站上创建的,所以wp\\u insert\\u post()不起作用,因为它会将帖子插入我调用的网站。基本上,我有一个网站网络,我在一个网站上从另一个网站创建帖子

如果我以编程方式创建一篇文章,并从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\' );
);

1 个回复
最合适的回答,由SO网友:mikemick 整理而成

Permalink错误

我以为我在使用基本的Permalink,但忘记了我在这个特定的网站上使用了自定义的Permalink结构。

我使用的定制permalink是%postname%.

我把它切换到了月份和名称选项,现在一切都正常了。对不起,这个假问题。

结束

相关推荐

WordPress数据库错误:[查询为空]-使用$wpdb->Prepare()

我已经编辑了我的问题,现在我得到了关于检查MySQL设置的错误。我将$sql\\u dvalues变量更改为具有值的数组,而不是逗号分隔的值,现在它显示以下内容:WordPress database error: [您的SQL语法有错误;请查看与您的MySQL server版本相对应的手册,以了解第3行“”附近要使用的正确语法]在wp\\U efpd\\U gmaps(时间、名称、地址、描述、标题)中插入值(\'2011-10-30 08:48:32\',\'test\',\'tedst\',\'teds