首页 > 解决方案 > Wordpress CF7 从短代码属性中获取下拉列表的所有值

问题描述

我设法在 cf7 中获取下拉菜单的默认值,但我想知道是否可以从短代码中获取所有值。

将它们与管道一起使用会很有帮助,因为我需要将 ID 和标签传递给它。

如果我不清楚。我正在尝试在此表单上构建下拉列表:

[select your-recipient "CEO|55"
                    "Sales|45"
                    "Support|99"]

但是我需要通过简码传递这三个值。

参考:https ://contactform7.com/getting-default-values-from-shortcode-attributes/

标签: phpwordpressshortcodecontact-form-7

解决方案


我通过在functions.php. 我使用公共变量填充的选择字段值。

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);

推荐阅读