【问题标题】:Change custom post type slug from Settings > Permalinks page从“设置”>“永久链接”页面更改自定义帖子类型
【发布时间】: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


    【解决方案1】:

    你可以使用这样的插件:

    • 工具集类型
    • 自定义帖子类型用户界面

    【讨论】:

    • 我不能使用插件。我需要为客户构建这个。它需要在电影插件中。
    猜你喜欢
    • 1970-01-01
    • 2012-02-16
    • 2022-01-01
    • 2013-04-10
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 2013-01-28
    相关资源
    最近更新 更多