2015-02-22 2 views
0

Как объясняет название, я пытаюсь добавить бесконечные пользовательские поля для двух вещей:Добавление бесконечного пользовательского поля в WordPress

1.Name
2.Bio

Теперь я попытался добавить 1000 настраиваемых полей и при обновлении он показал мне только , Там нет никакого способа, он превосходит и я попробовал это на моей местной окружающей среды, а также в Интернете, но такие же результаты

// Adding the metaboxes 
add_action('add_meta_boxes', 'add_employee_meta'); 

    /* Saving the data */ 
    add_action('save_post', 'employee_meta_save'); 

    /* Adding the main meta box container to the post editor screen */ 
    function add_employee_meta() { 
     add_meta_box(
      'employee-details', 
      'Employee Details', 
      'employee_details_init', 
      'post'); 
    } 

    /*Printing the box content */ 
    function employee_details_init() { 
     global $post; 
     // Use nonce for verification 
     wp_nonce_field(plugin_basename(__FILE__), 'employee_nonce'); 
     ?> 
     <div id="employee_meta_item"> 
     <?php 

     //Obtaining the linked employeedetails meta values 
     $employeeDetails = get_post_meta($post->ID,'employeeDetails',true); 
     $c = 0; 
     if (count($employeeDetails) > 0 && is_array($employeeDetails)) { 
      foreach($employeeDetails as $employeeDetail) { 
       if (isset($employeeDetail['name']) || isset($employeeDetail['bio'])) { 
        printf('<p>Name<input type="text" name="employeeDetails[%1$s][name]" value="%2$s" /> Package : <textarea name="employeeDetails[%1$s][bio]" rows="4" cols="50" >%3$s</textarea><a href="#" class="remove-package">%4$s</a></p>', $c, $employeeDetail['name'], $employeeDetail['bio'], 'Remove'); 
        $c = $c +1; 
       } 
      } 
     } 

     ?> 
    <span id="output-package"></span> 
    <a href="#" class="add_package"><?php _e('Add Employee Details'); ?></a> 
    <script> 
     var $ =jQuery.noConflict(); 
     $(document).ready(function() { 
      var count = <?php echo $c; ?>; 
      $(".add_package").click(function() { 
       count = count + 1; 

       $('#output-package').append('<p> Name <input type="text" name="employeeDetails['+count+'][name]" value="" /> bio : <textarea name="employeeDetails['+count+'][bio]" rows="4" cols="50" ></textarea><a href="#" class="remove-package"><?php echo "Remove"; ?></a></p>'); 
       return false; 
      }); 
      $(document.body).on('click','.remove-package',function() { 
       $(this).parent().remove(); 
      }); 
     }); 
     </script> 
    </div><?php 

    } 

    /* Save function for the entered data */ 
    function employee_meta_save($post_id) { 
     if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) 
      return; 
     // Verifying the nonce 
     if (!isset($_POST['employee_nonce'])) 
      return; 

     if (!wp_verify_nonce($_POST['employee_nonce'], plugin_basename(__FILE__))) 
      return; 
     // Updating the employeeDetails meta data 
     $employeeDetails = $_POST['employeeDetails']; 

     update_post_meta($post_id,'employeeDetails',$employeeDetails); 
    } 

есть кто-нибудь синтаксического дерева d добавив много настраиваемых полей и был ли такой предел, с которым я сейчас сталкиваюсь?

Есть ли способ, которым мы можем фактически использовать любое количество настраиваемых полей без такого ограничения, которое я имею прямо сейчас?

ответ

0

Вы можете жестко скопировать его без плагина, добавив его к вам.

add_filter('postmeta_form_limit' , 'customfield_limit_increase'); 
function customfield_limit_increase($limit) { 
    $limit = 1000; 
    return $limit; 
} 

Я думаю, вы, возможно, закончите с проблемой производительности, выходящей за борт с этим.

Также вы можете столкнуться с ограничением php даже с плагином ACF, упомянутым выше. (в PHP 5.3.9) Если это так, вы можете добавить это в свой файл .htaccess ...

php_value max_input_vars 3000 
+0

Это не помогло, вы лично пробовали это раньше? По моим сведениям, вы можете использовать эту функцию для обхода ограничения по умолчанию 30, помещенного wordpress, как в этом [Core Trac Wordpress] (https://core.trac.wordpress.org/browser/tags/3.8/src/wp- admin/includes/template.php # L556) – NMindz

+0

Нет, мне никогда не приходилось добавлять много настраиваемых полей. Извините, если вы уже пробовали это. :( – skribe

Смежные вопросы