Wordpress WP在添加挂起的post时没有slug

Wordpress WP在添加挂起的post时没有slug,wordpress,slug,Wordpress,Slug,我正在使用以下代码片段添加帖子: $post_args = array( 'post_content' => 'test test', 'post_name' => 'slughere', 'post_title' => 'title', 'post_status' => 'pending', 'ping_status' => 'closed', 'comment_status' =&

我正在使用以下代码片段添加帖子:

$post_args = array(
    'post_content'   => 'test test',
    'post_name'      => 'slughere',
    'post_title'     => 'title',
    'post_status'    => 'pending',
    'ping_status'    => 'closed',
    'comment_status' => 'closed'
);

$new_post_id = wp_insert_post( $post_args );
如果我添加了一个状态为“发布”的帖子,它就会工作。但是,当我把它作为“待定”帖子发布时,出于某种原因,没有添加slug。它只是空着

有人知道为什么会这样吗


运行最新的WP,甚至再次更新core,以确保没有任何奇怪的事情发生。

如果要手动添加参数
post\u name
,请确保

因此,请尝试以下代码:-

$post_args = array(
        'post_content'   => 'test test',
        'post_name'   => wp_unique_post_slug( sanitize_title( 'slughere' ) ),
        'post_title'     => 'title',
        'post_status'    => 'pending',
        'ping_status'    => 'closed',
        'comment_status' => 'closed'
);

$new_post_id = wp_insert_post( $post_args );

希望这会有所帮助。

你好,阿克谢,谢谢你的建议。但在插入帖子之前,我会检查slug是否唯一。原因当它已经存在时,它将是双重内容(它是导入模块的一部分)。添加了sanitize_标题,这是一个很好的建议。但当我将空slug作为挂起插入时,它并没有解决我的问题。这里也有同样的问题。我需要在发布帖子之前设置slug。你找到解决办法了吗?嗨,杰根,我很久以前就记不起这是什么项目了。根据我现在要做的,就是发布帖子,获取slug,在获取slug之后,将帖子状态更改为pending。用户将永远看不到实际的帖子。