post created but no permalink

时间:2018-05-10 作者:user3449454

我正在尝试通过前端在自定义PostType中创建帖子,帖子也成功创建。但除非我进入仪表板并单击更新,否则cutom permalink是空白的

 $todaydate = new DateTime();
 $todaydate =$todaydate->format(\'Y-m-d H-i-s\');
 $bookid="harrypotter";
 $mypost= array(\'post_type\'=>\'books\',
                    \'post_title\'=>$bookid,
        \'post_author\'=>\'1\',
        \'post_status\'=>\'publish\',
        \'post_date\'=>$todaydate);

$wpdb->insert(\'wp_posts\',$mypost); 
$bookid=$wpdb->insert_id; 
当我进入posttype书籍时,我发现这篇文章是创建的,但永久链接是http://localhost/mysite/newbooks// 而不是http://localhost/mysite/newbooks/harrypotter/

那么,我如何让它更新帖子的永久链接呢

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

不要直接插入数据库。使用适当的函数,以便在将帖子插入数据库之前正确创建帖子。

在您的情况下,正确的功能是wp_insert_post():

wp_insert_post( array(
    \'post_type\'   => \'books\',
    \'post_title\'  => \'harrypotter\',
    \'post_status\' => \'publish\',
    \'post_author\' => 1,
) );
如果需要当前时间,则不需要手动设置日期字段。

结束