wordpress - 具有相同名称的现有页面时重写自定义帖子类型的规则
问题描述
我已经注册了一个自定义帖子类型“老师”和 slug“学院/老师”。现在,当我尝试访问应该出现在 College/teacher/classA 的帖子(“classA”)时,会抛出 404 错误。虽然,已经存在一个标题为“老师”的页面。
这是我用于注册自定义帖子类型的代码:
function teacher_item_section(){
// Custom Post Type Labels
$labels = array(
'name' => _x( 'Teacher', 'post type general name' ),
'singular_name' => _x( 'Teacher', 'post type singular name' ),
'add_new' => _x( 'Add New', 'Images' ),
'add_new_item' => __( 'Add New' ),
'edit_item' => __( 'Edit Teacher' ),
'new_item' => __( 'New Teacher' ),
'all_items' => __( 'All Teachers' ),
'view_item' => __( 'View Teacher' ),
'search_items' => __( 'Search Teachers' ),
'not_found' => __( 'No Teacher Found' ),
'not_found_in_trash' => __( 'No Teacher Found' ),
'parent_item_colon' => __( 'Teacher' ),
'menu_name' => __( 'Teachers' )
);
// Custom Post Type Supports
$supports = array('title', 'editor', 'author', 'excerpt', 'custom-fields', 'revisions');
// Custom Post Type Arguments
$args = array(
'labels' => $labels,
'hierarchical' => true,
'description' => '',
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'show_in_rest' => true,
'exclude_from_search'=> true,
'query_var' => true,
'can_export' => true,
'rewrite' => array("slug" => "college/teacher"), // Permalinks format
'has_archive' => false,
//'menu_position' => 5,
'supports' => $supports,
'capability_type' => 'post',
);
register_post_type( 'teacher', $args );
}
add_action( 'init', 'teacher_item_section' );
此外,我尝试使用以下代码重写 URL,但还没有运气。
function colteacher_rewrite_rules() {
add_rewrite_rule( 'college/teacher/([^/]*)/?', 'index.php?post_type=teacher&name=$matches][1]', 'top' );
add_permastruct('teacher', 'college/teacher/%ateacher%' , version_compare($GLOBALS['wp_version'], '3.4', '<') ? false : array('with_front' => false));
}
add_action( 'init', 'colteacher_rewrite_rules', 10, 0 );
解决方案
推荐阅读
- google-cloud-platform - 从远程机器获取 GCP Bigquery 的连接被拒绝
- python-pptx - python-pptx:用另一张图片替换一张图片
- javascript - 如何使用 axios post 修复发送标头?
- symfony5 - 对于 symfony 5 中的哈希密码
- javascript - 在 React 测试库中测试 useLocation()
- julia - 如何在 Flux.jl 中设置 One-Hot 编码?
- php - php 引用者欺骗到我自己的子域?
- android - 如何在两个视图不正确时自动翻转它们
- python - 发送预定的电子邮件 django
- compilation - Raspian 内核交叉编译失败