Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php WordPress自定义帖子类型,带有可编辑/灵活的slug(permalink结构)_Php_Wordpress_Wordpress Theming_Custom Post Type - Fatal编程技术网

Php WordPress自定义帖子类型,带有可编辑/灵活的slug(permalink结构)

Php WordPress自定义帖子类型,带有可编辑/灵活的slug(permalink结构),php,wordpress,wordpress-theming,custom-post-type,Php,Wordpress,Wordpress Theming,Custom Post Type,我目前正在寻找最好的解决方案,用用户可编辑的slug在wordpress中创建自定义帖子类型。自定义帖子类型在插件中注册,例如: $labels = array( 'name' => _x( 'Team', 'post type general name', 'text-domain' ), 'singular_name' => _x( 'Team Member', 'post type singular name', 'text

我目前正在寻找最好的解决方案,用用户可编辑的slug在wordpress中创建自定义帖子类型。自定义帖子类型在插件中注册,例如:

$labels = array(
    'name'               => _x( 'Team', 'post type general name', 'text-domain' ),
    'singular_name'      => _x( 'Team Member', 'post type singular name', 'text-domain' ),
    'menu_name'          => _x( 'Team', 'admin menu', 'text-domain' ),
    'name_admin_bar'     => _x( 'Team', 'add new on admin bar', 'text-domain' ),
    'add_new'            => _x( 'Add New', 'Property', 'text-domain' ),
    'add_new_item'       => __( 'Add New Team Member', 'text-domain' ),
    'new_item'           => __( 'New Team Member', 'text-domain' ),
    'edit_item'          => __( 'Edit Team Member', 'text-domain' ),
    'view_item'          => __( 'View Team Member', 'text-domain' ),
    'all_items'          => __( 'All Team Members', 'text-domain' ),
    'search_items'       => __( 'Search Team Member', 'text-domain' ),
    'parent_item_colon'  => __( 'Parent Team Member:', 'text-domain' ),
    'not_found'          => __( 'No team members found.', 'text-domain' ),
    'not_found_in_trash' => __( 'No team members found in Trash.', 'text-domain' )
);

$args = array(
    'labels'             => $labels,
    'description'        => __( 'Custom Post Type for your Team Members.', 'text-domain' ),
    'public'             => true,
    'publicly_queryable' => true,
    'show_ui'            => true,
    'show_in_menu'       => true,
    'query_var'          => true,
    'rewrite'            => array( 'slug' => 'team' ),
    'capability_type'    => 'post',
    'has_archive'        => true,
    'hierarchical'       => false,
    'menu_position'      => null,
    'supports'           => array(
        'title',
        'editor',
        'author',
        'thumbnail',
        'excerpt'
    )
);

在这个例子中,slug的名字是“team”,它是硬编码的。为插件用户提供将此段塞更改为自定义段塞的可能性的最佳解决方案是什么。也许类似的解决方案,如WooCommerce,会在“设置>永久链接”下为产品类别库提供设置

我不知道slug是否可以与自定义帖子的类型不同。嗨,Antonis,是的,通常可以为自定义帖子类型设置不同的名称和slug,但我认为对于插件来说,强制用户使用slug并不是很酷。您是否尝试过向slug传递用户插入的自定义字段?请记住,自定义post类型是通过
init
调用的。试着在
after\u setup\u theme
上读取在
init
之前调用的
自定义字段是的,我认为可以通过这些操作挂钩之一实现。但是我考虑了一个基于WordPress重写和permalink函数的解决方案,这可能是一个更优雅的方法。但我不确定从哪里开始最好。