我用register_post_type
创建了一个名为“主页”的自定义帖子类型,下面是我的代码。
$labels = array(
'name' => __( 'Home Page'),
'singular_name' => __( 'Home Page'),
'edit_item' => __( 'Edit Home Page'),
);
$args = array(
'label' => __( 'Home Page'),
'description' => __( 'Custom Post Type'),
'labels' => $labels,
'hierarchical' => false,
'public' => false,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'has_archive' => false,
'exclude_from_search' => true,
'publicly_queryable' => true,
'map_meta_cap' => fa,
'capabilities' => array(
'create_posts' => 'do_not_allow',
'delete_published_posts' => false,
'read_post' => false,
),
);
register_post_type( 'homepage', $args );
我已经使用“高级自定义字段”WordPress插件添加自定义字段到这个新的自定义后类型。这些都工作正常,它显示如下。
但我想要的是,我将只有1条记录,所以如果我点击“主页”左侧栏管理菜单链接,它应该被重定向到特定的记录与类似post.php?post=37&action=edit
的URL。
我已经知道做'show_in_menu' => false,
将隐藏左侧边栏的url。
但我如何隐藏这个菜单,并直接进入编辑页面,只有一个记录,我将永远有?
有人能指导我从现在开始我应该做些什么来实现这一目标吗?
先谢谢你。
3条答案
按热度按时间ltskdhd11#
如果您已经发布了第一个帖子:
在
register_post_type
中添加以下参数:这将禁止向帖子类型添加新帖子。
然后是重定向edit.php的函数-确保传递正确的ID
ttcibm8c2#
好了伙计们,
最终,我找到了一种实现这个特性的方法。
这将创建一个新的自定义菜单,并将重定向到我想要的页面。
感谢大家的支持和指导。
mftmpeh83#
一种方法是在admin_init钩子上重定向。检查
$_GET[post_type']
是否被设置并等于您的自定义帖子类型,以及$pagenow
全局设置是否为edit.php
。n只需使用wp_redirect()重定向即可。我更喜欢创建一个新的自定义菜单并将其重定向到所需的页面。