Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Gravity Forms Shuffle fields on current page.
- * To impliment add this to your functions.php file
- * adding the form id will isolate the filter e.g. add_filter( 'gform_pre_render_5', 'randomize_field_order');
- */
- add_filter( 'gform_pre_render', 'randomize_field_order');
- function randomize_field_order ( $form ) {
- $current_page = GFFormDisplay::get_current_page( $form['id'] );
- $fields = $form[fields];
- function filter_by_key($array, $member, $value, $member2, $value2) {
- $filtered = array();
- foreach($array as $k => $v) {
- if($v->$member == $value && $v->$member2 != $value2)
- array_push($filtered, $k);
- }
- return $filtered;
- }
- $pageFields = filter_by_key($form['fields'],'pageNumber',$current_page,'type','page');
- function swap(&$a, &$b) { list($a, $b) = array($b, $a); }
- for($i = 0; $i < count($pageFields); $i++) {
- $j = rand(1, count($pageFields)) - 1;
- swap($fields[$pageFields[$i]], $fields[$pageFields[$j]]);
- }
- $form[fields] = $fields;
- return $form;
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement