我一直在寻找一个解决方案,我自己编写代码还不够好,但也许有一点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');
我假设需要对其进行编辑以查看是否存在顶级导航,如果存在,则使用这些参数创建自定义帖子类型
答案 0 :(得分:0)
您是否需要在用户添加顶级菜单链接时创建自定义帖子类型?或者只有一种自定义帖子类型?
如果其未定义的CPTS数量,也许您最好将它们存储在plugin_option或主题选项中,并且当用户添加另一个顶级菜单项时,您将向BD添加一个新项目。然后你的init函数将循环创建CPT这个数组(并保持它们创建,因为它在init上运行)。
如果它只有一个CPT更容易,只需添加一个选项,存储它是否应该运行你的功能!
希望这有帮助!