如何在WordPress中挂钩slug生成器

时间:2017-11-09 20:44:36

标签: wordpress slug

我想更改创建帖子时自动生成的slu ..

enter image description here

我之前想添加一个元数据,像[meta] -test-slug-2

我想当WordPress自动创建一个slug时会有一个钩子,如果我能找到它,我可以在创建slug时在标题之前注入该meta。

那么存在一个钩子吗?如果是这样,我该如何使用它?

2 个答案:

答案 0 :(得分:1)

更改$prefix变量以满足您的需求:

add_filter( 'wp_unique_post_slug', 'prefix_wp_unique_post_slug', 2, 6 );
function prefix_wp_unique_post_slug( $slug, $post_ID, $post_status, $post_type, $post_parent, $original_slug ) {
    if ( $post_type == 'post' ) {

        $prefix = 'meta-';
        if ( strripos($slug, $prefix) !== 0 ) {
            $slug = $prefix . $slug;
        }
    }
    return $slug;
}

答案 1 :(得分:0)

请参阅此question的答案。

简而言之,过滤器wp_unique_post_slug将允许您修改slug。

但似乎每次保存帖子都会调用它,所以我建议一些逻辑只在第一次保存时添加前缀,这样用户就可以根据需要编辑slug。