我希望能够在多个页面上使用相同的表单,并知道提交的表单来自哪个页面。由于一长串的原因,我需要根据类别来做到这一点。
我找到了向页面添加类别的代码,效果很好。
但我不知道如何让重力形式动态填充类别的字段。
我在表单上选择了“允许动态填充字段”,我已将参数名称设置为“pagecategory”
这就是我所得到的 - 它什么也没做:
//Get Page Category - For Demo Form
add_filter("gform_field_value_pagecategory", "populate_pagecategory");
function populate_pagecategory($value){
global $post;
$value = get_the_category( $post->ID,'metakeyname',true);
return $value;
}
get_the_category() 实际上返回分配给该帖子的所有类别的数组。下面的代码适用于我仅获取第一个类别的名称。
//Get Page Category - For Demo Form
add_filter("gform_field_value_pagecategory", "populate_pagecategory");
function populate_pagecategory($value){
global $post;
$categories = get_the_category( $post->ID,'metakeyname',true);
$value = $categories[0]->cat_name;
return $value;
}
我有点惊讶这种类型的需求/问题并不普遍。我必须做同样的事情,但是为了自定义分类法。如果有人来到这里需要如何做马什的答案,但使用自定义分类法,以下内容对我有用。我的自定义分类是“服务”,您可以看到它替换了 Mash 答案中的“metakeyname”。
//Get Page Custom Taxonomy - For Gravity Forms
add_filter("gform_field_value_pagecategory", "populate_pagecategory");
function populate_pagecategory($value){
global $post;
$terms = get_the_terms( $post->ID,'services',true);
$value = $terms[0]->name;
return $value;
}
@杰夫·特拉维拉
我实际上需要做同样的事情,所以感谢您的代码!
我应该把它放在WP中的哪个位置,哪个文件中? 如果我的类别来自 cpt ui custom cat 怎么办?
谢谢你的灯