Buddypress条件配置文件字段

时间:2013-05-16 11:35:29

标签: wordpress wordpress-plugin buddypress

我有什么方法可以在buddypress中创建自定义/条件注册/配置文件字段。 我试着用谷歌搜索这个,但我没有得到适当的解决方案。 我想到的条件是:

  

我想创建2/3下拉列表,假设第一个包含车辆类型(汽车,自行车),   然后第二个下拉选项应该根据用户在下拉列表1中选择的内容进行更改。

任何帮助将不胜感激。 非常感谢提前。 :-)

2 个答案:

答案 0 :(得分:0)

目前没有可用的插件或黑客。我在某些网站上看到了这样的东西 - 但这是通过JavaScript完成的,并且大量修改了注册页面源代码。

答案 1 :(得分:0)

除非你触摸register / resgistration.php源代码,否则会有点棘手。 如果你对jquery不太熟悉,你可以这样做。 这是一个隐藏字段(id“signup_profile_field_ids”),它在buddypress注册表单中告诉服务器注册表单中的哪些字段,它看起来像

<input type="hidden" name="signup_profile_field_ids" id="signup_profile_field_ids" value="5,11,1,10,32">

该字段的值包含注册表单的字段ID。

现在,您需要选择父字段来显示条件字段。你需要知道父和条件字段id

现在使用这个jquery代码

<script type="text/javascript">
  $(function(){
   var childs = new Array("Child id 1","Child id 1"); // your child fields ids
   var options = new Array("Car","Bike"); // your parent field options, notice option and child number is same, which means, one child for one option
   var parent = "Parent Field id"; // place you parent field id
   var currentFields = new Array();
   currentFields = $("#signup_profile_field_ids").val().split(','); // take all current fields ids in an array


   $.each(childs, function(index,value){
     $('#field_'+value).parent().hide(); // hide all child fields first
     currentFields.splice(currentFields.indexOf(value),1);
   });
   $("#signup_profile_field_ids").val( currentFields.join() );
   $('#field_'+parent).after('<div id="conditional-fields-conteiner></div>"');
   $('#field_'+parent).change(function(){
      var option = $(this).val();
      var appendField = childs[options.indexOf(option)];
      var html = $("#field_"+appendField).parent().html();
      $('#conditional-fields-conteiner').html(html);
      $.each(childs, function(index,value){
        currentFields.splice(currentFields.indexOf(value),1);
      });
      currentField[] = appendField;
       $("#signup_profile_field_ids").val( currentFields.join() );
    });
  });
</script>

这似乎很复杂,但这是最简单的方法。如果你在会员网站上计划,不要使用它。用户只需编辑html就可以对条件字段进行操作。

Theres也是一个插件,即将发布。我正在开发它

http://rimonhabib.com/coming-up-next-buddypress-nested-conditional-fields/