我想更改创建帖子时自动生成的slu ..
我之前想添加一个元数据,像[meta] -test-slug-2
我想当WordPress自动创建一个slug时会有一个钩子,如果我能找到它,我可以在创建slug时在标题之前注入该meta。
那么存在一个钩子吗?如果是这样,我该如何使用它?
答案 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。