Установить Известное Изображение программно (в администраторе) с JavaScript?

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

Некоторый фон

Я создаю сайт для музыкального места проведения с пользовательским посттипом "события". Большую часть времени эти события уникальны, но существуют некоторые повторяющиеся идеи (например, открытая ночь микрометра большинство вторников).

Я думал, что хотел бы вставить выпадающее с некоторыми "предварительными установками" для заполнения add new event поля формы в бэкенде. Это - подпруга (я думаю) сделать это с tinymce и мои пользовательские meta поля. Жесткая часть то, как к поместить (уже загруженный на библиотеку мультимедиа) изображение в известное поле изображения programmaticly.

Я знаю, что могу сделать, заставляют что-то работать над шаблонным концом вещей, но было бы хорошо видеть, что миниатюра открывается в add new/edit посмотреть.

Спасибо!

3
07.06.2012, 20:59
3 ответа

Необходимо сделать вызов ajax с действием: 'миниатюра сообщения набора'

Регистрация администратора-ajax.php (строка 1477 в 3.3.2) для математических ожиданий и данного случая, но в целом необходимо отправить post_id, attachment_id и данный случай.

Данный случай должен прибыть из: wp_create_nonce ("set_post_thumbnail-$post_id");

Администратор делает что-то как:

 uploader.bind('FileUploaded', function(up, file, response) {
            jQuery.post(ajaxurl, {
                    action:"set-post-thumbnail", post_id: post_id, thumbnail_id: response.response, _ajax_nonce: '<?php echo $ajax_nonce;?>' , cookie: encodeURIComponent(document.cookie)
                }, function(str){
                    var win = window.dialogArguments || opener || parent || top;
                    if ( str == '0' ) {
                        alert( setPostThumbnailL10n.error );
                    } else {
                         jQuery('#postimagediv .inside').html(str);
                         jQuery('#postimagediv .inside #plupload-upload-ui').hide();

                    }
                }
                );
                jQuery("#postimagediv .inside h2.uploading_message").remove();

        });
3
19.02.2020, 22:15

Я думаю, что функция update_post_meta сделает вложение показанным.

update_post_meta($post_id, '_thumbnail_id', $attachment_id);
2
19.02.2020, 22:15
  • 1
    aww здорово - это было в ответе fdsa, прежде чем он отредактировал его, и я думал, что это было неправильно, но после исследования - это может сделать то, что я хочу (wordpress.org/support/topic / …) –  Zach Lysobey 08.06.2012, 16:41
  • 2
    , я понятия не имею, кто дать щедрость, но я буду ожидать, чтобы видеть, если fdsa udpates его ответ или если кто-то может предоставить решение JavaScript, которое не требует Update нажатия. –  Zach Lysobey 08.06.2012, 16:43

Вы могли отобразить изображения в поле комбинированного списка изображения jQuery, сделать, чтобы пользователь нажал 'обновление' и затем использовал set_post_meta или update_post_meta для помещения изображения в сообщение.

Если Вы не хотите добавлять дополнительную кнопку, Вы могли бы использовать решение этого вопроса сохранить метаданные для Вашего пользовательского типа сообщения.

2
19.02.2020, 22:15
  • 1
    я могу быть смущен, но те функции не похожи, они связаны с миниатюрой сообщения (показанное изображение). У меня нет проблемы при добавлении метаданных к сообщению - я просто хочу видеть, могу ли я сделать это этот путь вместо этого. –  Zach Lysobey 07.06.2012, 21:17
  • 2
    я отредактировал его..., является этим, что Вы ищете? –  fdsa 07.06.2012, 21:25
  • 3
    , к сожалению, нет. the_post_thumbnail используется для отображения известного изображения в шаблоне - для не установки его на экране редактирования. –  Zach Lysobey 07.06.2012, 21:37
  • 4
    Вы были на самом деле на ходу с Вашим первым (неотредактированным) ответом. Моя ошибка. посмотрите, что Albin Joesphs отвечает... –  Zach Lysobey 08.06.2012, 16:46
  • 5
    Отложите старый ответ –  fdsa 09.06.2012, 05:11

Теги

Похожие вопросы