【发布时间】:2017-02-01 09:48:42
【问题描述】:
add_action( 'init', 'register_my_types' );
function register_my_types() {
register_post_type( 'movies',
array(
'labels' => array(
'name' => __( 'Movies' ),
'singular_name' => __( 'Movie' )
),
'public' => true,
'rewrite' => array(
'slug' => 'films'
),
)
);
}
我可以使用以下内容从我的插件设置页面更改 slug(保存以从字段中获取“电影”):
add_filter( 'register_post_type_args', 'movies_register_post_type_args', 10, 2 );
function movies_register_post_type_args( $args, $post_type ) {
if ( 'movies' === $post_type ) {
$args['rewrite']['slug'] = 'filme';
}
return $args;
}
但是,我希望能够从“设置”>“永久链接”页面修改“电影”标签。
如何将自定义帖子类型 slug 添加到“设置”>“永久链接”页面?
更新:
最后我在插件设置页面中创建了一个表单字段,并像这样更新了过滤器:
function register_post_type_args( $args, $post_type ) {
if ($this->plugin_name === $post_type ) {
$slug=get_option( $this->plugin_name.'_slug' );
if($args['rewrite']['slug']!=$slug){
$args['rewrite']['slug'] = $slug;
}
}
return $args;
}
但我仍在寻找一种方法来更改设置/永久链接中的 slug。
【问题讨论】:
标签: wordpress permalinks