Добрый вечер!
Есть код, формирующий в настройках WP страницу загрузки изображений. Проблема в том, что он загружает только изображение из первого поля. Помогите с доработкой jQuery скрипта, чтоб организовать загрузку нескольких изображений.
PHP из файла functions.php(подключен стандартный загрузчик изображений WP)
function image_uploader_field( $name, $value = '', $w = 115, $h = 90) {
$default = get_stylesheet_directory_uri() . '/img/logo.png';
if( $value ) {
$image_attributes = wp_get_attachment_image_src( $value, array($w, $h) );
$src = $image_attributes[0];
} else {
$src = $default;
}
echo '
<div>
<img data-src="' . $default . '" src="' . $src . '" width="' . $w . 'px" height="' . $h . 'px" />
<div>
<input type="hidden" name="' . $name . '" id="' . $name . '" value="' . $value . '" />
<button type="submit" class="upload_image_button button">Загрузить</button>
<button type="submit" class="remove_image_button button">×</button>
</div>
</div>
';
update_option($name, $value);
}
function sl_print($val){
if ( isset( $_REQUEST['saved'] ) ){
echo '<div class="updated"><p>Сохранено.</p></div>';
}
?>
<form method="post">
<?
if( function_exists( 'image_uploader_field' ) ) {
image_uploader_field($val['name'], get_option($val['id']));
}
?>
</form>
<?}
JS
jQuery(function($){
$('.upload_image_button').click(function(){
var send_attachment_bkp = wp.media.editor.send.attachment;
var button = $(this);
wp.media.editor.send.attachment = function(props, attachment) {
$(button).parent().prev().attr('src', attachment.url);
$(button).prev().val(attachment.url);
wp.media.editor.send.attachment = send_attachment_bkp.url;
}
wp.media.editor.open(button);
return false;
});
$('.remove_image_button').click(function(){
var r = confirm("Уверены?");
if (r == true) {
var src = $(this).parent().prev().attr('data-src');
$(this).parent().prev().attr('src', src);
$(this).prev().prev().val('');
}
return false;
});
});