Trong trường hợp bạn muốn vô hiệu hóa hoàn toàn chế độ xem một bài đăng tùy chỉnh trên frontend nhưng có thể hiển thị trang lưu trữ, mọi thứ sẽ hơi phức tạp.
Thiết publicly_queryable
đến false
hoặc rewrite
đến false
sẽ ngăn chặn để hiển thị cả hai cái nhìn duy nhất và lưu trữ. Không có cờ trong register_post_type
các đối số chức năng để ngăn chặn việc chỉ tạo các quy tắc viết lại chế độ xem đơn.
https://github.com/WordPress/WordPress/blob/5.2.3/wp-includes/ class-wp-post-type.php # L540
Tuy nhiên, bạn có thể xóa thẻ ghi lại sau khi đăng ký loại bài đăng của mình và điều này sẽ khiến các quy tắc ghi lại chế độ xem lưu trữ không bị ảnh hưởng nhưng chỉ xóa các quy tắc viết lại chế độ xem đơn lẻ.
/**
* Register event post type
*/
function wpse_128636_register_event_post_type() {
$labels = array(
'name' => __( 'Events' ),
'singular_name' => __( 'Event' ),
'add_new' => __( 'Add new' ),
'add_new_item' => __( 'Add new' ),
'edit_item' => __( 'Edit' ),
'new_item' => __( 'New' ),
'view_item' => __( 'View' ),
'search_items' => __( 'Search' ),
'not_found' => __( 'Not found' ),
'not_found_in_trash' => __( 'Not found Events in trash' ),
'parent_item_colon' => __( 'Parent' ),
'menu_name' => __( 'Events' ),
);
$args = array(
'labels' => $labels,
'hierarchical' => false,
'supports' => array( 'title', 'page-attributes' ),
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'publicly_queryable' => true,
'exclude_from_search' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'event'),
'capability_type' => 'post',
);
register_post_type( 'event', $args );
remove_rewrite_tag( '%event%' ); // This line will remove event rewrite rules for single view
}
add_action( 'init', 'wpse_128636_register_event_post_type' );
Một phần thưởng khác là từ bây giờ bạn có thể tạo các trang WordPress đơn giản bằng cách sử dụng cấu trúc permalink loại bài đăng sự kiện ( event/simple-page
) có thể hữu ích trong các trang web phức tạp.
Hãy nhớ để xóa các quy tắc viết lại sau khi sửa đổi mã.
get_current_user_id()
đánh giá được 0.