Intereting Posts
Как включить документацию в WordPress? Как я могу поместить wp_redirect в короткий код? Если бы вы сегодня начали использовать WordPress, какой из них вы бы использовали? Инструментарий социального обмена не отображается при загрузке ajax Добавленные комментарии, но они отображаются выше содержания, а не ниже Как создать кнопку формы, которая выполняет функцию? Натуральный URL-дизайн и статическая страница Проблема с взломом При вызове wp_title () вам нужно создать какой-то файл «title.php»? Ежегодный Архив для категорий с выпадающим меню Как вызывать сообщения под определенной категорией на статической странице? Можно ли использовать media_sideload_image для загрузки локальных файлов? Страницы загружают различное количество контента каждый раз., детская тема не отменяет регистрацию патента javascript-файла Как отобразить список категорий из плагина типа Postfolio?

WordPress Javascript, отображающий изображение Вопрос

Я думаю, что я немного запутался, но у меня есть список и кнопка выбора на каждой строке. Когда пользователь нажимает кнопку, появляется модальная мода, и я пытаюсь просто получить изображение (с post_id) для отображения.

Поэтому в PHP у меня есть это:

<img id="changeImage"src=" <?php echo $v[0]->user_image_id ? wp_get_attachment_image_src( $v[0]->user_image_id, array( 'width' => 75, 'height' => 75 ))[0] : wp_get_attachment_url( 259 ); ?>" style="width: 75px; height: 75px"/> 

Это часть списка, поэтому отображается каждое изображение (аватар). Затем нажимается кнопка, и у меня уже есть post_id с этим кодом:

 $('.selectedBtn').on('click', function (e) { e.preventDefault(); var elm = $(this); var data; var dataArray = JSON.parse(sessionStorage.getItem('dataArray')); $.each(dataArray, function(k, v) { if(parseInt(v[0].wyol_list_id) === elm.data('wd')) { data = v[0]; console.log(data); $('#wd_request_shoppers_name').text(v[0].user_name); $('#wd_request_store').text(v[0].wd_store); var imgid = v[0].user_image_id ? v[0].user_image_id : 259; console.log(wp.media()); // USAGE: preloadAttachment(imgid, function (attachment) { console.log(attachment.get('url')); console.log(wp.media.attachment(imgid).get('url')); // this also works }); $('#wd_request_shoppers_image').prop('src', wp.media.attachment(imgid).get('url')); v[0].instructions ? $('#wd_request_shoppers_detail').text(v[0].instructions) : ''; $('#exampleModal1').foundation('open'); } }); //console.log(elm.data('wd')); }); $('#closeModal').on('click', function () { $('#exampleModal1').foundation('close'); }); }); 

Но все, что я получаю, это ошибка console.log:

(индекс): 352 Uncaught TypeError: Не удается прочитать свойство «вложение» неопределенного

На этой строке: 352 if (wp.media.attachment (ID) .get ('url')) {

Так что WP не получил возможность захватить URL-адрес в WP?

заранее спасибо

Addy

Solutions Collecting From Web of "WordPress Javascript, отображающий изображение Вопрос"

Вам нужно вызвать wp_enqueue_media() иначе объект wp не будет иметь параметр media .

Например, перейдите в WP Admin и wp.media консоль JS и введите wp.media на панели управления, это не сработает. Повторите попытку на странице СМИ, и на этот раз она будет работать.

https://codex.wordpress.org/Javascript_Reference/wp.media

Чтобы иметь возможность использовать JavaScript-API, сначала необходимо запустить все необходимые JavaScript-библиотеки и стили:

 wp_enqueue_media(); 

С помощью Тома мне удалось получить эту работу, используя wp.media.model который закончился следующим образом:

 var attachment = new wp.media.model.Attachment.get(imgid); attachment.fetch({ success: function (att) { if (_.contains(['png', 'jpg', 'gif', 'jpeg'], att.get('subtype'))) { //console.log(att.attributes); $("#wd_request_shoppers_image").attr("src", att.attributes.sizes.thumbnail.url); } } }); 

Не уверен, что это самый быстрый способ сделать это, но работает.

Надеюсь, это поможет другим.