desc.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php if ( ! defined( 'ABSPATH' ) ) exit;
  2. add_action( 'init', 'ninja_forms_register_edit_field_desc' );
  3. function ninja_forms_register_edit_field_desc() {
  4. add_action( 'ninja_forms_edit_field_after_registered', 'ninja_forms_edit_field_desc', 10 , 2);
  5. }
  6. function ninja_forms_edit_field_desc( $field_id, $field_data ) {
  7. global $ninja_forms_fields;
  8. $field_row = ninja_forms_get_field_by_id( $field_id );
  9. $field_type = $field_row['type'];
  10. $reg_field = $ninja_forms_fields[$field_type];
  11. if ( isset ( $reg_field['edit_desc'] ) ) {
  12. $edit_desc = $reg_field['edit_desc'];
  13. } else {
  14. $edit_desc = true;
  15. }
  16. if ( $edit_desc ) {
  17. if ( isset( $field_data['desc_text'] ) ) {
  18. $desc_text = $field_data['desc_text'];
  19. } else {
  20. $desc_text = '';
  21. }
  22. if ( isset( $field_data['show_desc'] ) ) {
  23. $show_desc = $field_data['show_desc'];
  24. } else {
  25. $show_desc = '';
  26. }
  27. if ( $show_desc == 1 ) {
  28. $display_span = '';
  29. } else {
  30. $display_span = ' style="display:none;"';
  31. }
  32. if ( !isset ( $desc_pos_options ) or $desc_pos_options == '' ) {
  33. $options = array();
  34. $options[] = array( 'name' => __( 'None', 'ninja-forms' ), 'value' => 'none' );
  35. $options[] = array( 'name' => __( 'Before Everything', 'ninja-forms' ), 'value' => 'before_everything' );
  36. if ( '_submit' != $field_type ) {
  37. $options[] = array( 'name' => __( 'Before Label', 'ninja-forms' ), 'value' => 'before_label' );
  38. $options[] = array( 'name' => __( 'After Label', 'ninja-forms' ), 'value' => 'after_label' );
  39. }
  40. $options[] = array( 'name' => __( 'After Everything', 'ninja-forms' ), 'value' => 'after_everything' );
  41. } else {
  42. $options = $desc_pos_options;
  43. }
  44. $desc_desc = sprintf( __( 'If "desc text" is enabled, there will be a question mark %s placed next to the input field. Hovering over this question mark will show the desc text.', 'ninja-forms' ), '<img src="'.NINJA_FORMS_URL.'images/question-ico.gif">' );
  45. ninja_forms_edit_field_el_output( $field_id, 'checkbox', __( 'Add Description', 'ninja-forms' ), 'show_desc', $show_desc, 'wide', '', 'ninja-forms-show-desc' );
  46. ?>
  47. <span id="ninja_forms_field_<?php echo $field_id;?>_desc_span" <?php echo $display_span;?>>
  48. <?php
  49. if ( isset( $field_data['desc_pos'] ) ) {
  50. $desc_pos = $field_data['desc_pos'];
  51. } else {
  52. $desc_pos = '';
  53. }
  54. ninja_forms_edit_field_el_output( $field_id, 'select', __( 'Description Position', 'ninja-forms' ), 'desc_pos', $desc_pos, 'wide', $options, 'wide' );
  55. ninja_forms_edit_field_el_output( $field_id, 'rte', __( 'Description Content', 'ninja-forms' ), 'desc_text', $desc_text, 'wide', '', 'widefat' );
  56. ?>
  57. </span>
  58. <?php
  59. }
  60. }