Домой Wp-Recall WP-Recall: Пишем свое дополнение и кастомизация Работа загрузчика фото в форме публикации, подгруженой через ajax
3ответ(ов) в теме
Dmitryi
не в сети 4 года
На сайте с 25.06.2016
Участник
Тем 40
Сообщения 104
1
23:42
Версия WP-Recall: 16.1.5

Создал новую вкладку в личном кабинете. Добавил Select с выбором типа публикации. Скриптом получаю значение выбранного селекта и согласно селекту подгружаю аяксом необходимую форму публикации. Всё работает, кроме загрузки изображений в подгруженной форме публикации. Код прилагаю ниже, может есть какие идеи, как решить проблему с загрузкой изображений?

//Добавляем вкладку в ЛК add_action('init','register_my_tab'); function register_my_tab(){ $tab_data = array( 'id'=>'new-tab', 'name'=>'Новая вкладка', 'supports'=>array(),//поддержка кеширования и ajax-загрузки 'public'=>0,//делаем вкладку НЕпубличной 'icon'=>'fa-plus',//указываем иконку 'output'=>'menu',//указываем область вывода 'content'=>array( array( //массив данных первой дочерней вкладки 'callback' => array( 'name'=>'select_form',//функция формирующая контент ) ) ) ); rcl_tab($tab_data); } // Функция вывода контента во вкладке function select_form () { $vyvod = 'Выберите категорию: // выбор формы публикации через select <select class="add_form_lk"> <option value="1">Категория 1</option> <option value="2">Категория 2</option> </select> <div class="demo-container"> <div class="demo-box">Demonstration Box</div> </div> <script> // Получаем значение выбранного selecta и подгружаем нужную форму публикации jQuery( document ).ready(function(jQuery) { jQuery(".add_form_lk").on("change",function() { var val = jQuery(this).val(); if (val == 1 ) { jQuery.post( "/wp-admin/admin-ajax.php", { action: "form_1", }, onAjaxSuccess ); function onAjaxSuccess(data) { // Выводим форму публикации form_1 jQuery( "div.demo-container" ).html( data ); }; } else { jQuery.post( "/wp-admin/admin-ajax.php", { action: "form_2", }, onAjaxSuccess ); function onAjaxSuccess2(data) { // Выводим форму публикации form_2 jQuery( "div.demo-container" ).html( data ); }; } }); });</script> '; return $vyvod; }; //Форма публикации form_1 add_action( 'wp_ajax_form_1', 'form_1' ); add_action( 'wp_ajax_nopriv_form_1', 'form_1' ); function form_1() { echo do_shortcode('[public-form post_type="type_1"]'); } //Форма публикации form_2 add_action( 'wp_ajax_form_2', 'form_2' ); add_action( 'wp_ajax_nopriv_form_2', 'form_2' ); function form_2() { echo do_shortcode('[public-form post_type="type_2"]'); }

0
Вова (Otshelnik-Fm)
не в сети 5 часов
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
2
23:55

Вы сравните какие скрипты грузятся в вкладке публикации которая загружается не через ajax с той формой публикации которая грузится ajax-ом.

Я подозреваю у вас при загрузке ajax-ом не грузятся нужные скрипты для работы медиазагрузчика. А какие это скрипты - узнаете сравнив.

p.s. - код сюда надо вставлять через кнопку "Многострочный код" (а не кнопкой "код" - это для одной строки кода) и предварительно код отформатируйте - эту лапшу читать - у меня кровь из глаз пошла 😡

1
Dmitryi
не в сети 4 года
На сайте с 25.06.2016
Участник
Тем 40
Сообщения 104
3
00:17

И в самом деле, в Notepad++ через плагин Compare прогнал код, не хватало одной строчки 😆 Большое спасибо за помощь!

0
Тема закрыта. Публикация новых сообщений запрещена.