post-meta-values.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php if ( ! defined( 'ABSPATH' ) ) exit;
  2. /*
  3. function ninja_forms_post_meta_value_box( $field_id ){
  4. global $wpdb, $ninja_forms_fields;
  5. $add_field = apply_filters( 'ninja_forms_use_post_fields', false );
  6. if ( !$add_field )
  7. return false;
  8. $field_row = ninja_forms_get_field_by_id($field_id);
  9. $field_type = $field_row['type'];
  10. $field_data = $field_row['data'];
  11. $reg_field = $ninja_forms_fields[$field_type];
  12. $field_process = $reg_field['process_field'];
  13. $form_row = ninja_forms_get_form_by_field_id( $field_id );
  14. if ( isset ( $form_row['data']['create_post'] ) AND $form_row['data']['create_post'] == 1 ) {
  15. if( isset( $field_data['post_meta_value'] ) ){
  16. $post_meta_value = $field_data['post_meta_value'];
  17. }else{
  18. $post_meta_value = '';
  19. }
  20. if( $field_process ){
  21. $meta_keys = $wpdb->get_results( "SELECT meta_key FROM $wpdb->postmeta", ARRAY_A );
  22. $meta_array = array();
  23. foreach( $meta_keys as $key ){
  24. $first_char = substr( $key['meta_key'], 0, 1 );
  25. if( $first_char != '_' ){
  26. array_push( $meta_array, $key['meta_key'] );
  27. }
  28. }
  29. $meta_array = array_unique( $meta_array );
  30. ?>
  31. <div class=" description description-wide" id="ninja_forms_post_meta_values">
  32. <label class="label">
  33. <?php _e( 'Attach this value to custom post meta', 'ninja-forms' );?>:
  34. </label><br />
  35. <?php
  36. if( is_array( $meta_array ) AND !empty( $meta_array ) ){
  37. $custom = true;
  38. if( $post_meta_value != '' ){
  39. foreach( $meta_array as $meta ){
  40. if( $post_meta_value == $meta ){
  41. $custom = false;
  42. }
  43. }
  44. }
  45. if( $post_meta_value == '' ){
  46. $custom = false;
  47. }
  48. }
  49. ?>
  50. <select name="" id="ninja_forms_field_<?php echo $field_id;?>_post_meta_value" class="ninja-forms-post-meta-value">
  51. <option value="">- None</option>
  52. <option value="custom" <?php selected($custom, true);?>>- Custom -></option>
  53. <?php
  54. if( is_array( $meta_array ) AND !empty( $meta_array ) ){
  55. $custom = true;
  56. if( $post_meta_value != '' ){
  57. foreach( $meta_array as $meta ){
  58. if( $post_meta_value == $meta ){
  59. $custom = false;
  60. }
  61. }
  62. }
  63. if( $post_meta_value == '' ){
  64. $custom = false;
  65. }
  66. foreach( $meta_array as $meta ){
  67. ?>
  68. <option value="<?php echo $meta;?>" <?php selected( $post_meta_value, $meta );?>><?php echo $meta;?></option>
  69. <?php
  70. }
  71. }
  72. ?>
  73. </select>
  74. <?php
  75. if( $custom ){
  76. $display_input = '';
  77. }else{
  78. $display_input = 'display:none;';
  79. }
  80. ?>
  81. <input type="text" name="ninja_forms_field_<?php echo $field_id;?>[post_meta_value]" id="ninja_forms_field_<?php echo $field_id;?>_custom_post_meta_value" value="<?php echo $post_meta_value;?>" style="<?php echo $display_input;?> width:350px">
  82. </div>
  83. <?php
  84. }
  85. }
  86. }
  87. add_action( 'ninja_forms_edit_field_after_registered', 'ninja_forms_post_meta_value_box' );
  88. */