【发布时间】:2019-01-18 18:52:39
【问题描述】:
我在这里和搜索引擎四处寻找,但不幸的是我找不到适合自己的解决方案。
所以,我现在就需要为 Contact Form 7 WordPress 插件自定义的功能寻求帮助。该函数来自another question。
在下拉菜单(选择)中,我需要在一个选项字段中提供两个详细信息(车间名称和日期)。两个详细信息都来自自定义帖子类型的同一个帖子。第一个细节是 post_title,第二个是 Meta-Box 插件的自定义字段。
以下函数原则上有效,但它只返回一个或另一个细节。可能解决方案在 foreach 构造中。但我不知道它是如何工作的。
非常感谢您的支持!
[更新 2018-08-12] 经过进一步研究,我在this post找到了解决方案,并相应地更改了功能。
解决方案应如下所示:
<select>
<option value="workshop name – date">workshop name – date</option>
...
</select>
这是函数:
add_filter( 'wpcf7_form_tag', 'dynamic_field_choose_workshop', 10, 2);
function dynamic_field_choose_workshop ( $tag, $unused ) {
if ( $tag['name'] != 'workshop' )
return $tag;
$args = array (
'post_type' => 'workshop',
'post_status' => 'publish',
'orderby' => 'name',
'order' => 'ASC',
'numberposts' => - 1,
);
$custom_posts = get_posts($args);
if ( ! $custom_posts )
return $tag;
foreach ( $custom_posts as $custom_post ) {
$ID = $custom_post->ID;
$tag['values'][] = $custom_post->post_title . ' - ' . rwmb_get_value('workshop_meta_boxes_date', '', $ID);
$tag['raw_values'][] = $custom_post->post_title . ' - ' . rwmb_get_value('workshop_meta_boxes_date', '', $ID);
$tag['labels'][] = $custom_post->post_title . ' - ' . rwmb_get_value('workshop_meta_boxes_date', '', $ID);
}
return $tag;
}
【问题讨论】:
标签: wordpress drop-down-menu contact-form-7 programmatically-created