0

想要修改我的孩子functions.php文件以包含一些将Gravity Forms和Ulitmate会员插件连接在一起的逻辑。当用户访问我的网站并填写表单时,我需要捕捉一个隐藏的字段,这些字段会随其最终成员角色动态填充。我试图将以下内容添加到我的functions.php文件中,但它只是使我的网站呈现所有空白页面。WordPress functions.php语法

add_filter('gform_field_value_um_role', 'getUM_userrole'); 
function getUM_userrole($value){ 
$umrole = echo um_user('role_name'); 
    return $umrole; 
} 

下面是我用的是拿出上面的资源:
http://docs.ultimatemember.com/article/158-umuser
https://www.gravityhelp.com/documentation/article/using-dynamic-population/#hooks

我的隐藏字段设置:enter image description here

+1

给一个变量指定'echo'? –

+0

取出来?所以我们最终会用'echo um_user('role_name'); return;'? – Tony

+2

不,你不应该给一个变量分配'echo'。含义'$ umrole = echo um_user('role_name');'应该是'$ umrole = um_user('role_name');'。这可能会或可能不会解决实际问题......但它至少会让你更近一步。 – rnevius

回答

0

托尼,

我已经特别是在命名约定中动态设置重力形式值时遇到问题e过滤器名称。但是,如果您使用过滤器gform_field_value如下面的示例中所示,您应该能够正确预填充您的字段名称。我在这里所做的只是检查它是否是正确的字段,然后设置和返回值参数。希望这会帮助你

add_filter('gform_field_value', 'getUM_userrole', 10, 3); 
function getUM_userrole($value, $field){ 
    if($field->inputName=="um_role") 
    { 
     $value = um_user('role_name'); 
     return $value; 
    } 
    return false; 
}