无法修改标头信息-标头已发送(与CPT相关)

时间:2019-12-24 作者:Evaluation Unit

无法修改标题信息-标题已由/wp includes/functions中的(输出开始于/wp includes/class wp post type.php:613)发送。php在线6029

自从WP 5.3中“支持”需要是一个数组以来,这个错误似乎一直伴随着我。通过更改CPT参数的顺序(在末尾抛出“支持”),我成功地清除了少数站点的错误,但在其他站点上,错误仍然存在。我一直使用数组表示“支持”,但由于某种原因,此错误仍然存在。。。也许是CPT中的其他东西?我知道这肯定是CPT,因为删除CPT代码可以解决错误。谁能告诉我我错过了什么?

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 );

2 个回复
最合适的回答,由SO网友:Evaluation Unit 整理而成

我已设法找出导致此错误的原因。出于某种原因,“分类法”正在寻找一个数组,即使我只有一个与之相关的分类法。像这样更改“分类法”值解决了PHP错误:\'taxonomies\' => array( \'rich_review_tax\' ),

SO网友:Tony Djukic

我不知道这是否有帮助,但请尝试将支持的函数放入它们自己的变量数组,就像对待标签一样。

$supports = array( 
     \'title\',
     \'editor\'
);
然后,在$args下,使用\'supports\' => $supports.

我将其用于“标签”、“支持”和“分类法”。

还应该注意的是,最好的做法是使变量对post类型更加独特。所以$revw_labels, $revw_supports, $revw_taxonomies并确保输入自定义text_domains 而不是使用通用占位符。这将是插件或主题的文本域。

相关推荐