更新自定义帖子类型后,metafield从post.php编辑菜单中消失,我该如何修复它?

时间:2020-06-17 作者:KBA

Internet没有针对这种特定情况的解决方案。首先,我创建了一个新帖子,如下所示:

$user_suan = wp_get_current_user();
$args = array(
    \'author\'        =>  $user_suan->ID, 
    \'post_type\' => \'CutePostType\',
    );
$current_user_posts = get_posts( $args );
if(count($current_user_posts) == 0) {
$my_post = array(
\'post_title\'   =>   \'COOLPOSTNAME\', 
  \'post_status\'   => \'publish\',
  \'post_type\'     =>\'CutePostType\',
  \'post_author\'   =>$user_suan->ID
);
wp_insert_post( $my_post );
$current_user_posts = get_posts( $args );
$current_user_post = $current_user_posts[0];
update_post_meta( $current_user_post->ID, \'MYLOVELYMETAFIELD\', \'\');
之后,我可爱的元字段出现在帖子的编辑屏幕上。我可以手动填充它。保存或使用其全部ok。直到现在都没有问题。

但是,当我使用下面的代码时,它只会从后期编辑屏幕中删除我可爱的元字段。但在前端(帖子模板),我可以请求帖子的元字段,并使用适当的非序列化正确显示它们。问题是,我想在“上看到我可爱的元字段”;后期编辑“;页面显示为可爱的字符串等(wp admin/post.php action=edit)

$MYLOVELYMETAFIELDVALUE= array(\'hedge\'=>array(\'sonic\'=>\'dog\',\'sound\'=>\'woofwoof\'));
update_post_meta( $current_user_post->ID, \'MYLOVELYMETAFIELD\', $MYLOVELYMETAFIELDVALUE);
如何从“编辑后”页面使其可编辑。

1 个回复
最合适的回答,由SO网友:KBA 整理而成

解决方案是:https://developer.wordpress.org/plugins/metadata/managing-post-metadata/#hidden-arrays

默认情况下,数组是隐藏的。请为您自己的帖子编辑屏幕编码。

谢谢你自己!这有助于另一个。

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在