Предпологается, что интерфейс выбора картинки будет в админке.
1) вызываете в админке функцию wp_enqueue_media(), как полагается, в хуке admin_enqueue_scripts
2) для фронта используете код вроде моего
if (typeof wp !== 'undefined' && wp.media && wp.media.editor) {
var $media = wp.media({
multiple: false
});
$media.on('select', function() {
// Здесь будет выбранное изображение
var attachment = $media.state().get('selection').first().toJSON();
// Параметры файла хранятся в виде json
console.log(attachment.id);
console.log(attachment.url);
});
// Открываем модалку с медиабиблиотекой, у меня она прибиндена к специальным кнопкам
$(document).on('click', 'button[data-target="media-open"]', function() {
$media.open();
});
}
Дополнительные методы, настройки и т.п. можно посмотреть в
документации.