如何将最近五年添加到 cf7 下拉菜单?

How to add the last five years to cf7 drop down menu?

我正在使用 Wordpress 的 cf7 插件构建联系表。在这种形式中,我需要一个每年自动更改的下拉菜单。在下拉菜单中,我需要将当前和过去 5 年的格式设置为 2020、2019、2018、2017、2016、2015。使用插件本身很容易做到这一点,但是当然,当 2021 年到来时,我想下拉菜单将自动更改为 2021、2020、2019、2018、2017 和 2016。这样 2015 就会消失(已删除)。

根据此 threat 中的代码,我尝试自动添加当前年份,但不幸的是我已经卡住了。希望有人可以帮助我。

提前致谢。 最好的问候,

瓦斯科

用法 在联系表格中使用这样的表格:

[select近年data:years]

在您的子主题的 functions.php 中,或在自定义插件中,添加此功能以使用最近 5 年动态填充下拉列表,并随着年份的流逝自动更新年份:

function vasco_five_most_recent_years ($values, $options, $args) {

       if ( in_array('years', $options) ){
    
            $years = [];
            $i = 0;

            for( $i = 0; $i < 5; $i++){ // Get 4 most recent years after current year

                 $years[] = (int) date("Y") - $i;
             }

             return $years ;
       }

      return $values;
    }

 add_filter('wpcf7_form_tag_data_option', 'vasco_five_most_recent_years', 10, 3);

已测试,工作正常,输入格式如下:

像这样在前端渲染:

基于此处的教程https://bdwm.be/dynamically-populate-a-contact-form-7-dropdown-list-or-any-other-input-field/