我正在尝试向自定义帖子类型添加一些自定义元变量,但在转储帖子元数据时,我看不到新的变量,并且无法在中访问它
这是我的函数中的帖子定义。php文件
function register_team_post(){
register_post_type(\'team\', [
\'public\'=>true,
\'labels\'=>array(
\'name\'=>\'Team\',
\'add_new_item\'=>\'Add New Team Member\',
\'edit_item\'=>\'Edit Team Member\',
\'all_items\'=>\'All Team Member\'
),
\'menu_icon\'=>\'dashicons-businessman\',
\'show_in_rest\' => true,
// \'supports\' => array(\'editor\',\'title\', \'custom-fields\'),
\'supports\' => array(\'editor\',\'title\'),
\'rewrite\' => array(\'slug\' => \'teams\'),
\'template\' => array(
array( \'dqcblocks/member\' )
)
]);
$fields = [
\'team_member_portrait\',
\'team_member_name\',
\'team_member_title\',
\'team_member_description\'
];
$args = array(\'show_in_rest\' => true, \'type\' => \'string\');
foreach($fields as $field){
register_post_meta( \'team\', $field, $args);
}
}
add_action(\'init\', \'register_team_post\');
如果我创建了一个团队帖子并尝试转储元字段,但我的新字段没有出现:$meta_values = get_post_meta( get_the_ID() );
var_dump( $meta_values );
结果:array(2) {
["_edit_lock"]=>
array(1) {
[0]=>
string(12) "1566159392:1"
}
["_edit_last"]=>
array(1) {
[0]=>
string(1) "1"
}
}
我还尝试在古腾堡块中使用我的自定义元字段。attributes: {
portrait: {
type: "string",
source: "meta",
meta: "team_member_portrait",
},
name: {
type: "string",
source: "meta",
meta: "team_member_name",
},
title: {
type: "string",
source : "meta",
meta: "team_member_title",
},
description: {
type: "string",
source: "meta",
meta: "team_member_description",
}
}
但当我添加块并保存变量时,变量不会更新并保持为空。我是否正确使用register\\u post\\u meta?