Wordpress CF7 从短代码属性中获取下拉列表的所有值
Wordpress CF7 Getting all values of the Drop-down from shortcode attributes
我设法在 cf7 中获取下拉列表的默认值,但我想知道是否可以从短代码中获取所有值。
让它们带有管道会很有帮助,因为我需要将 ID 和标签传递给它。
如果我不清楚。我正在尝试在此表单上构建下拉菜单:
[select your-recipient "CEO|55"
"Sales|45"
"Support|99"]
但是我需要通过简码传递这三个值。
参考:https://contactform7.com/getting-default-values-from-shortcode-attributes/
我通过在 functions.php
中创建一个动态 select 字段来解决这个问题。我使用 public 变量填充的 select 字段值。
function dynamic_field_values($tag, $unused)
{
$dates = get_query_var('DATES');
if ($tag['name'] != 'dates')
return $tag;
if (!count($dates ) > 0) {
$tag['raw_values'][] = 'No dates available';
$tag['values'][] = 'No dates available';
$tag['labels'][] = 'No dates available';
return $tag;
} else {
foreach ($dates as $date) {
$tag['raw_values'][] = $date->id;
$tag['values'][] = $date->id;
$tag['labels'][] = $date->caption;
}
return $tag;
}
}
add_filter('wpcf7_form_tag', 'dynamic_field_values', 10, 2);
我设法在 cf7 中获取下拉列表的默认值,但我想知道是否可以从短代码中获取所有值。
让它们带有管道会很有帮助,因为我需要将 ID 和标签传递给它。
如果我不清楚。我正在尝试在此表单上构建下拉菜单:
[select your-recipient "CEO|55"
"Sales|45"
"Support|99"]
但是我需要通过简码传递这三个值。
参考:https://contactform7.com/getting-default-values-from-shortcode-attributes/
我通过在 functions.php
中创建一个动态 select 字段来解决这个问题。我使用 public 变量填充的 select 字段值。
function dynamic_field_values($tag, $unused)
{
$dates = get_query_var('DATES');
if ($tag['name'] != 'dates')
return $tag;
if (!count($dates ) > 0) {
$tag['raw_values'][] = 'No dates available';
$tag['values'][] = 'No dates available';
$tag['labels'][] = 'No dates available';
return $tag;
} else {
foreach ($dates as $date) {
$tag['raw_values'][] = $date->id;
$tag['values'][] = $date->id;
$tag['labels'][] = $date->caption;
}
return $tag;
}
}
add_filter('wpcf7_form_tag', 'dynamic_field_values', 10, 2);