当在wordpress中添加新的顶级菜单时,是否可以动态创建CPT?

时间:2011-11-25 09:49:54

标签: php wordpress custom-post-type

我一直在寻找一个解决方案,我自己编写代码还不够好,但也许有一点PHP知识的人可能会帮助我。

当客户端添加新的顶级菜单链接时,我基本上需要在管理面板中创建自定义帖子类型。这可能吗?

我只有基本代码

function create_casestudies() {

$labels = array (
    'name' => __('Case Studies'),
    'singular_label' => __('Case Study'),
    'add_new' => __('Add New Case Study'),
    'add_new_item' => __('Add New Case Study'), 
    'edit' => __( 'Edit' ),
    'edit_item' => __( 'Edit Case Study' ),
    'new_item' => __( 'New Case Study' ),
    'view' => __( 'View Inspiration' ),
    'view_item' => __( 'View Case Study' ),
    'search_items' => __( 'Search Case Studies' ),
    'not_found' => __( 'No Case Studies found' ),
    'not_found_in_trash' => __( 'No Case Studies found in Trash' ),
    'parent' => __( 'Parent Case Studies' ),    
);

register_post_type(
    'casestudies',
    array( 
        'labels' => $labels,
        'public' => true,
        'show_ui' => true, 
        'capability_type' => 'post', 
        'menu_position' => 6,  
        'rewrite' => array('slug' => 'casestudy'),
        'supports' => array('title', 'editor', 'thumbnail')

    )
);
}   add_action('init', 'create_casestudies');

我假设需要对其进行编辑以查看是否存在顶级导航,如果存在,则使用这些参数创建自定义帖子类型

1 个答案:

答案 0 :(得分:0)

您是否需要在用户添加顶级菜单链接时创建自定义帖子类型?或者只有一种自定义帖子类型?

如果其未定义的CPTS数量,也许您最好将它们存储在plugin_option或主题选项中,并且当用户添加另一个顶级菜单项时,您将向BD添加一个新项目。然后你的init函数将循环创建CPT这个数组(并保持它们创建,因为它在init上运行)。

如果它只有一个CPT更容易,只需添加一个选项,存储它是否应该运行你的功能!

希望这有帮助!