我希望能够在多个页面上使用相同的表单,并知道提交的表单来自哪个页面。由于一长串原因,我需要根据类别来做到这一点。
我找到了为页面添加类别的代码,效果很好。
但我无法弄清楚如何让Gravity Forms动态填充该类别的字段。
我已选择"允许字段动态填充"在表单上,我已将参数名称设置为" 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;
}
答案 0 :(得分:0)
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;
}
答案 1 :(得分:0)
我有点惊讶这种需求/问题并不普遍。我必须做同样的事情,但是要使用自定义分类法。如果有人在这里需要如何解决Mash的问题,但是使用自定义分类法,则以下内容对我有用。我的自定义分类法是“服务”,您可以在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;
}