admin管理员组文章数量:1404923
Cannot modify header information - headers already sent by (output started at /wp-includes/class-wp-post-type.php:613) in /wp-includes/functions.php on line 6029
This error has seemed to follow me around since WP 5.3 where 'supports' needs to be an array. I've been able to successfully clear out the error for a small handful of sites by changing the order of the CPT args (throwing 'supports' at the end), but on others, the error still persists. I've always used an array for 'supports', but for some reason, this error is still persisting... Maybe it's something else in the CPT? I know it's the CPT for sure because removing the CPT code resolves the error. Can anyone tell me what I'm missing?
function rich_review() {
$labels = array(
'name' => _x( 'Reviews', 'Post Type General Name', 'text_domain' ),
'singular_name' => _x( 'Review', 'Post Type Singular Name', 'text_domain' ),
'menu_name' => __( 'Reviews', 'text_domain' ),
'name_admin_bar' => __( 'Reviews', 'text_domain' ),
'archives' => __( 'Review Archives', 'text_domain' ),
'attributes' => __( 'Review Attributes', 'text_domain' ),
'parent_item_colon' => __( 'Parent Item:', 'text_domain' ),
'all_items' => __( 'All Items', 'text_domain' ),
'add_new_item' => __( 'Add New Item', 'text_domain' ),
'add_new' => __( 'Add New', 'text_domain' ),
'new_item' => __( 'New Item', 'text_domain' ),
'edit_item' => __( 'Edit Item', 'text_domain' ),
'update_item' => __( 'Update Item', 'text_domain' ),
'view_item' => __( 'View Item', 'text_domain' ),
'view_items' => __( 'View Items', 'text_domain' ),
'search_items' => __( 'Search Item', 'text_domain' ),
'not_found' => __( 'Not found', 'text_domain' ),
'not_found_in_trash' => __( 'Not found in Trash', 'text_domain' ),
'featured_image' => __( 'Featured Image', 'text_domain' ),
'set_featured_image' => __( 'Set featured image', 'text_domain' ),
'remove_featured_image' => __( 'Remove featured image', 'text_domain' ),
'use_featured_image' => __( 'Use as featured image', 'text_domain' ),
'insert_into_item' => __( 'Insert into item', 'text_domain' ),
'uploaded_to_this_item' => __( 'Uploaded to this item', 'text_domain' ),
'items_list' => __( 'Items list', 'text_domain' ),
'items_list_navigation' => __( 'Items list navigation', 'text_domain' ),
'filter_items_list' => __( 'Filter items list', 'text_domain' ),
);
$args = array(
'label' => __( 'Review', 'text_domain' ),
'description' => __( 'Rich reviews', 'text_domain' ),
'labels' => $labels,
'taxonomies' => 'rich_review_tax',
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 5,
'show_in_admin_bar' => true,
'show_in_nav_menus' => true,
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'page',
'supports' => array('title', 'editor'),
);
register_post_type( 'reviews', $args );
}
add_action( 'init', 'rich_review', 0 );
Cannot modify header information - headers already sent by (output started at /wp-includes/class-wp-post-type.php:613) in /wp-includes/functions.php on line 6029
This error has seemed to follow me around since WP 5.3 where 'supports' needs to be an array. I've been able to successfully clear out the error for a small handful of sites by changing the order of the CPT args (throwing 'supports' at the end), but on others, the error still persists. I've always used an array for 'supports', but for some reason, this error is still persisting... Maybe it's something else in the CPT? I know it's the CPT for sure because removing the CPT code resolves the error. Can anyone tell me what I'm missing?
function rich_review() {
$labels = array(
'name' => _x( 'Reviews', 'Post Type General Name', 'text_domain' ),
'singular_name' => _x( 'Review', 'Post Type Singular Name', 'text_domain' ),
'menu_name' => __( 'Reviews', 'text_domain' ),
'name_admin_bar' => __( 'Reviews', 'text_domain' ),
'archives' => __( 'Review Archives', 'text_domain' ),
'attributes' => __( 'Review Attributes', 'text_domain' ),
'parent_item_colon' => __( 'Parent Item:', 'text_domain' ),
'all_items' => __( 'All Items', 'text_domain' ),
'add_new_item' => __( 'Add New Item', 'text_domain' ),
'add_new' => __( 'Add New', 'text_domain' ),
'new_item' => __( 'New Item', 'text_domain' ),
'edit_item' => __( 'Edit Item', 'text_domain' ),
'update_item' => __( 'Update Item', 'text_domain' ),
'view_item' => __( 'View Item', 'text_domain' ),
'view_items' => __( 'View Items', 'text_domain' ),
'search_items' => __( 'Search Item', 'text_domain' ),
'not_found' => __( 'Not found', 'text_domain' ),
'not_found_in_trash' => __( 'Not found in Trash', 'text_domain' ),
'featured_image' => __( 'Featured Image', 'text_domain' ),
'set_featured_image' => __( 'Set featured image', 'text_domain' ),
'remove_featured_image' => __( 'Remove featured image', 'text_domain' ),
'use_featured_image' => __( 'Use as featured image', 'text_domain' ),
'insert_into_item' => __( 'Insert into item', 'text_domain' ),
'uploaded_to_this_item' => __( 'Uploaded to this item', 'text_domain' ),
'items_list' => __( 'Items list', 'text_domain' ),
'items_list_navigation' => __( 'Items list navigation', 'text_domain' ),
'filter_items_list' => __( 'Filter items list', 'text_domain' ),
);
$args = array(
'label' => __( 'Review', 'text_domain' ),
'description' => __( 'Rich reviews', 'text_domain' ),
'labels' => $labels,
'taxonomies' => 'rich_review_tax',
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 5,
'show_in_admin_bar' => true,
'show_in_nav_menus' => true,
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'page',
'supports' => array('title', 'editor'),
);
register_post_type( 'reviews', $args );
}
add_action( 'init', 'rich_review', 0 );
Share
Improve this question
asked Dec 24, 2019 at 15:22
The9mmThe9mm
335 bronze badges
2 Answers
Reset to default 0I don't know if it'll help but try putting the supported functions into their own variable array like you do with labels.
$supports = array(
'title',
'editor'
);
Then, under $args, use 'supports' => $supports
.
I use that for 'labels', 'supports' and 'taxonomies'.
Should also note that it's good practice to make your variables a bit more unique to the post-type. So $revw_labels, $revw_supports, $revw_taxonomies
and make sure you input custom text_domains
instead of using the generic placeholder. That'd be the text domain of either your plugin or theme.
I've managed to figure out what's causing this error. For some reason, 'taxonomies' is looking for an array, even if I only have one taxonomy I'm relating it to. Changing the 'taxonomies' value like so resolved the PHP error: 'taxonomies' => array( 'rich_review_tax' ),
本文标签: custom post typesCannot modify header informationheader already sent (CPT related)
版权声明:本文标题:custom post types - Cannot modify header information - header already sent (CPT related) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744878254a2630047.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论