我想在编辑器下面显示某些自定义字段。目前我只有一个下拉字段,但里面有太多的meta,我没有使用。每天发布60-100篇帖子,搜索相应的自定义字段确实很耗时。
我发现以下代码可以永久显示自定义字段,但它似乎不起作用。
add_action( \'add_meta_boxes_tender\', \'lamosty_add_tender_meta_data\' );
function lamosty_add_tender_meta_data( WP_Post $tender ) {
// Add the meta data you want the custom post type to have
$tender_meta_data = [
\'briefing\',
\'closing\',
\'rfirfqnumber\',
\'download\'
];
foreach ( $tender_meta_data as $meta ) {
add_post_meta( $tender->ID, $meta, \'\', true );
}
}
?>
我期望的结果是,每次我创建一个新帖子时,相应的自定义字段总是在那里,我不需要在下拉列表中查找它们。例如,如下图所示。
Pleas note that for every new post the values of the Custom Field change!
我的要求有意义吗?
最合适的回答,由SO网友:mmm 整理而成
这应该可以工作,但会覆盖现有对象的值。
要仅为新对象添加默认值,请尝试以下操作:
$postType = "tender";
add_action( \'save_post_\' . $postType, function ($post_ID, \\WP_Post $tender, $update) {
if (!$update) {
// default value for new object
// Add the meta data you want the custom post type to have
$tender_meta_data = [
\'briefing\',
\'closing\',
\'rfirfqnumber\',
\'download\',
];
foreach ( $tender_meta_data as $meta ) {
add_post_meta( $tender->ID, $meta, \'\', true );
}
return;
}
}, 10, 3);