label.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <?php if ( ! defined( 'ABSPATH' ) ) exit;
  2. /**
  3. * Outputs the HTML of the field label if it is set to display.
  4. * Also outputs the required symbol if it is set.
  5. **/
  6. function ninja_forms_display_field_label( $field_id, $data ){
  7. global $ninja_forms_fields, $ninja_forms_loading, $ninja_forms_processing;
  8. $field = ninja_forms_get_field_by_id( $field_id );
  9. $form_id = $field['form_id'];
  10. $plugin_settings = nf_get_settings();
  11. if ( isset ( $ninja_forms_loading ) && $ninja_forms_loading->get_form_ID() == $form_id ) {
  12. $field_row = $ninja_forms_loading->get_field_settings( $field_id );
  13. } else if ( isset ( $ninja_forms_processing ) && $ninja_forms_processing->get_form_ID() == $form_id ) {
  14. $field_row = $ninja_forms_processing->get_field_settings( $field_id );
  15. }
  16. $field_type = $field_row['type'];
  17. if( isset ( $data['label'] ) ) {
  18. $label = stripslashes($data['label']);
  19. } else if ( isset ( $ninja_forms_fields[$field_type]['default_label'] ) ) {
  20. $label = $ninja_forms_fields[$field_type]['default_label'];
  21. } else {
  22. $label = '';
  23. }
  24. if( isset ( $data['label_pos'] ) ) {
  25. $label_pos = stripslashes($data['label_pos']);
  26. } else {
  27. $label_pos = '';
  28. }
  29. if ( isset( $plugin_settings['req_field_symbol'] ) ) {
  30. $req_symbol = $plugin_settings['req_field_symbol'];
  31. } else {
  32. $req_symbol = '';
  33. }
  34. if ( isset ( $data['req'] ) ) {
  35. $req = $data['req'];
  36. } else {
  37. $req = '';
  38. }
  39. if ( isset ( $data['display_label'] ) ) {
  40. $display_label = $data['display_label'];
  41. } else {
  42. $display_label = true;
  43. }
  44. $label_class = '';
  45. $label_class = apply_filters( 'ninja_forms_label_class', $label_class, $field_id );
  46. if ( $display_label ) {
  47. if ( $req == 1 && $req_symbol != '' && $label_pos != 'inside' ) {
  48. $req_span = "<span class='ninja-forms-req-symbol'>$req_symbol</span>";
  49. } else {
  50. $req_span = '';
  51. }
  52. ?>
  53. <label for="ninja_forms_field_<?php echo $field_id;?>" id="ninja_forms_field_<?php echo $field_id;?>_label" class="<?php echo $label_class;?>"><?php echo $label;?> <?php echo $req_span;?>
  54. <?php
  55. if ( $label_pos != 'left' ) {
  56. do_action( 'ninja_forms_display_field_help', $field_id, $data );
  57. }
  58. ?>
  59. </label>
  60. <?php
  61. }
  62. }
  63. add_action('ninja_forms_display_field_label', 'ninja_forms_display_field_label', 10, 2);
  64. function ninja_forms_display_label_inside( $data, $field_id ){
  65. global $ninja_forms_loading, $ninja_forms_processing;
  66. if ( isset ( $ninja_forms_loading ) ) {
  67. $user_value = $ninja_forms_loading->get_field_value( $field_id );
  68. $field_row = $ninja_forms_loading->get_field_settings( $field_id );
  69. } else if ( isset ( $ninja_forms_processing ) ) {
  70. $user_value = $ninja_forms_processing->get_field_value( $field_id );
  71. $field_row = $ninja_forms_processing->get_field_settings( $field_id );
  72. }
  73. if ( isset ( $field_row['type'] ) ) {
  74. $field_type = $field_row['type'];
  75. } else {
  76. $field_type = '';
  77. }
  78. if ( isset( $data['label_pos'] ) ) {
  79. $label_pos = $data['label_pos'];
  80. } else {
  81. $label_pos = '';
  82. }
  83. // Get the required field symbol.
  84. $settings = nf_get_settings();
  85. if ( isset ( $settings['req_field_symbol'] ) ) {
  86. $req_symbol = $settings['req_field_symbol'];
  87. } else {
  88. $req_symbol = '*';
  89. }
  90. if ( isset ( $data['req'] ) and $data['req'] == 1 and $label_pos == 'inside' and ! isset ( $data['req_added'] ) ) {
  91. $data['label'] .= ' '.$req_symbol;
  92. $data['req_added'] = 1;
  93. }
  94. if ( isset( $data['label'] ) ) {
  95. $label = $data['label'];
  96. } else {
  97. $label = '';
  98. }
  99. if ( $field_type != '_list' ) {
  100. if ( $label_pos == 'inside' ) {
  101. $label = strip_tags( $label );
  102. $data['label'] = $label;
  103. if ( isset ( $ninja_forms_loading ) ) {
  104. if ( !empty( $user_value ) )
  105. return $data;
  106. $ninja_forms_loading->update_field_value( $field_id, $label );
  107. } else {
  108. if ( $ninja_forms_processing->get_field_value( $field_id ) )
  109. return $data;
  110. $ninja_forms_processing->update_field_value( $field_id, $label );
  111. }
  112. }
  113. }
  114. return $data;
  115. }
  116. add_filter( 'ninja_forms_field', 'ninja_forms_display_label_inside', 5, 2 );