WordPress动态元框输入

时间:2018-07-22 14:56:35

标签: wordpress plugins custom-post-type meta-boxes

我目前正在开发公司内部使用的插件。我正在尝试创建一个图像库,该图像库从我们的数字资产管理公司获得。我可以从DAM毫无问题地访问集合,并返回一个包含我需要的所有信息(即图像标题和图像URL)的数组,然后在插件管理页面中单击按钮即可创建自定义帖子类型。我卡住的部分是2折。

  1. 创建(或更新)后,为数组中的每个项目创建一个自定义元框,然后...
  2. 循环遍历数组,并将数组值添加到元输入字段。

基本上,如果返回数组中有5张图像,则自定义帖子类型应具有5个元框(或1个框,其中包含5组字段),每个元框都包含单个图像信息(标题/ URL)。

我确定我的add_meta_box回调函数中需要使用jQuery,但不确定相应的步骤。我在这里寻找的是建议或正确方向的观点。我有代码,但是我不认为这会有所帮助。如果需要,我可以发布。预先感谢您抽出宝贵时间来帮助大家。

1 个答案:

答案 0 :(得分:0)

假设所有图像都在单个meta键中,则方法是利用我们可用的全局post变量。

只需将条件框包装在以下条件中即可:

global $post;
if (get_post_meta($post->ID, 'myMetaKey', true)) {
    add_meta_box('my_metabox_id', __('My Meta Box', 'my-text-domain'), array($this, 'my_metabox_loader_callback_function'), 'post', 'normal', 'low', null);
}

即使所有值都位于单独的元键中,您的if条件也将更改以检查至少一个值是否可用。像这样:

global $post;
if (get_post_meta($post->ID, 'myMetaKey', true) || get_post_meta($post->ID, 'myMetaKey1', true) || get_post_meta($post->ID, 'myMetaKey2', true) || get_post_meta($post->ID, 'myMetaKey3', true) || get_post_meta($post->ID, 'myMetaKey4', true)) {
    add_meta_box('my_metabox_id', __('My Meta Box', 'my-text-domain'), array($this, 'my_metabox_loader_callback_function'), 'post', 'normal', 'low', null);
}

在回调函数中,您可以根据元键显示标题和图像,我希望您现在能够成功地使它起作用。