在发布帖子期间,如何根据帖子标题自动设置帖子插件?

时间:2011-05-24 作者:mike23

在WP中创建帖子时,如果没有快速指定标题,WP会根据帖子ID在autosave上生成默认slug。然后,当稍后添加标题时,除非通过编辑修改slug,否则slug保持不变(基于帖子ID)

我想做的是在post publish上添加一个操作,该操作根据帖子标题生成并保存帖子slug。

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

只要没有接触过slug,WordPress就会在您输入标题后生成一个新的。

更新以更改其他人Slug使用过滤器(未测试!):

add_filter( \'wp_insert_post_data\', \'prevent_numeric_slugs\', 10, 1 );

function prevent_numeric_slugs( $post_data )
{
    if ( ! isset ( $post_data[\'post_title\'] ) 
        or ! is_numeric( $post_data[\'post_name\'] ) 
    )
    {   // exit early
        return $post_data;
    }

    // post_name is the slug
    $post_data[\'post_name\'] = sanitize_title( $post_data[\'post_title\'] );

    return $post_data;
}

结束

相关推荐

Custom Post Row Actions

我偶然发现this question 在写这个问题的时候。我有一个问题是关于这个问题的。我发现你用的是get_delete_post_link 筛选为我的操作创建一个新的url(或一个类似的函数——在任何情况下,我都会将该函数与布尔值一起使用)。唯一的问题是,I don\'t know how to capture the event now. 考虑到我在谷歌上找不到很多关于行后操作的例子,我将不胜感激-/public function _wp_filter_get_delete_post_link( $