Intereting Posts
Скрыть корзину, когда она пуста Как использовать уменьшенный размер изображения, если я использую только src для получения изображения Перенаправление восхитительных загрузок в wordpress login, если только участники проверены Отображать список категорий, отфильтрованных по дате? Должны ли мы явно помещать в очередь jQuery и основную таблицу стилей нашей темы? Не удалось установить сериализованный массив по умолчанию, используя dbdelta () Каков наилучший способ добавить класс в div с классом сообщений каждые 4 секунды с помощью jquery? поиск одиночной meta_key с числовым массивом мета значений WooCommerce создает шаблоны пользовательских категорий Пользовательский пейджинг get_posts Удаление WordPress <p> тегов? Способ автоматического обновления плагинов с помощью cron? wp-admin удаляет URL-адрес подпапки Только импорт сообщений – последствия? Использование breadcrumb для возврата из одной страницы в список

Ajax-вызов не работает с

Я создал функцию загрузки изображения переднего конца, как описано в этом уроке. Https://derekspringer.wordpress.com/2015/05/07/using-the-wordpress-media-loader-in-the-front-end/

Загрузчик мультимедиа работает, я могу выбрать изображение и т. Д. В x debug отправленные параметры также в порядке.

После выбора я хочу изменить URL-адрес для ввода в базу данных, поэтому я сделал вызов ajax в плагине плагина wordpress main class

$this->loader->add_action( 'wp_ajax_change_image_in_frontend', $plugin_public , 'change_image_in_frontend_func' ); $this->loader->add_action( 'wp_ajax_nopriv_change_image_in_frontend', $plugin_public , 'change_image_in_frontend_func' ); 

Сценарий

 <?php wp_nonce_field( 'my_image_upload', 'my_image_upload_nonce' ); ?> <script type="text/javascript"> jQuery(document).ready(function($){ $('#upload-btn').click(function(e) { e.preventDefault(); var image = wp.media({ title: '<?php _e( 'Upload image', $this->plugin_name ); ?>', // mutiple: true if you want to upload multiple files at once multiple: false }).open().on('select', function(e){ var uploaded_image = image.state().get('selection').first(); var image_url = uploaded_image.toJSON().url; var id = uploaded_image.toJSON().id; $('#image_url').val(image_url); $('#image_id').val(id); $('#cementary_img').attr('src',image_url); $.ajax({ url: '<?php echo admin_url( 'admin-ajax.php' ) ?>', type: 'POST', action: 'change_image_in_frontend', data: { 'id': <?php echo $_GET['profil'] ?>, 'image_url': image_url }, success:function(data) { console.log(data); }, error: function(errorThrown){ console.log(errorThrown); alert('Nie udało się zmienić zdjęcia'); } }); }); }); }); </script> 

Функция изменения изображения (im, использующая класс RedBean для сохранения в пользовательских таблицах базы данных)

 /** * Change the image in frontend * * @since 1.0.0 */ public function change_image_in_frontend_func() { if ($_POST['id']) { $result = R::load('cmentary',[$_POST['id']]); if ($result) { $result->zdjecie = $_POST['image_url']; if (R::store($result)) echo '1'; else echo '0'; } else echo '0'; } wp_die(); } 

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

Solutions Collecting From Web of "Ajax-вызов не работает с"