2017-01-02 2 views
0

У меня есть это действие, которое извлекает значения урожая, когда я обрезаю изображение в редакторе изображений и обновляю значение в записи db (update_field(). Поэтому я могу обновить значение поле в базе данных, но я не знаю, как установить значение поля в редакторе сообщений. Значение поля остается пустым, и когда пользователь обновляет сообщение, значение будет перезаписано нулевым значением. Как я могу делать?Обновление поля ACF Wordpress после получения значения

add_action('wp_save_image_editor_file', 'save_crop_data'); 
function save_crop_data(){ 
    $attachment_id = $_REQUEST['postid']; 
    $parent = get_post_ancestors($attachment_id); 
    $post_id = $parent[0]; 
    update_field('crop_data', $_REQUEST['history'], $post_id); 
    return $saved; 
} 

ответ

0

PHP

add_action('admin_enqueue_scripts', 'portfolio_admin_script'); 
function portfolio_admin_script() { 
    global $post_type; 
    if('portfolio' == $post_type) 
     wp_enqueue_script('portfolio-admin-script', get_stylesheet_directory_uri() . '/portfolio.js', array('jquery', 'media-editor'), '', true); 
} 

JavaScript (файл portfolio.js)

jQuery(function ($) { 
    $(document).ajaxComplete(function (event, xhr, settings) { 
     //intercept the ajax event on media library close 
     if (typeof settings.data === 'string' && /action=get-post-thumbnail-html/.test(settings.data) && xhr.responseJSON && typeof xhr.responseJSON.data === 'string') { 
      var crop_data_stored = decodeURIComponent(getCookie("crop_values")); 
      crop_data_stored = crop_data_stored.replace(/\\"/g, '"'); 
      if (crop_data_stored != '' && $('#acf-field-crop_data').val() == '') { 
       jQuery('#acf-field-crop_data').val(crop_data_stored); 
       deleteCookie("crop_values"); 
      } 
     } 
    }); 

    function getCookie(name) { 
     var value = "; " + document.cookie; 
     var parts = value.split("; " + name + "="); 
     if (parts.length == 2) return parts.pop().split(";").shift(); 
    } 
    function deleteCookie(name) { 
     document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:01 GMT;"; 
    }; 
}); 
Смежные вопросы