Поддержка Проблемы и решения Пакетное добавление фото

  • Решено Scrudje

    (@scrudje)


    Такая проблема: есть необходимость добавлять в пост все фотографии, которые находятся в конкретной папке, например, http://www.mysite.ru/foto/foto12. То есть чтобы я указал конкретную папку и все фото с этой папки загрузились в сообщение. Подскажите пожалуйста, есть ли такой плагин?

Просмотр 14 ответов — с 1 по 14 (всего 14)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Возможно, будет полезен Add From Server:
    http://wordpress.org/extend/plugins/add-from-server/

    Автор Scrudje

    (@scrudje)

    Плагин Add to seerver делает не совсем то что нужно… 1) ОН перекачивает файлы в папку библитеки блога 2)Но самое главное: фото вставляются с помощью галереи,а нужно чтобы они просто поочерёдно вставлялись в пост

    Автор Scrudje

    (@scrudje)

    Ребята, подскажите кто -нибудь! Нужно, чтобы я указал конкретную папку и все фото с этой папки загрузились в сообщение. Подскажите пожалуйста плагин!

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Готового решения пока не встречал. Смотреть более 700 плагинов с меткой «images» было бы долго. Вдохновился и написал свой вариант 🙂

    Можно добавить фрагмент в functions.php активной темы:

    function insert_images_from_server($content) {
    	preg_match('/\[insert\-images (.*?)\]/i', $content, $matches);
    
    	if ( !empty($matches[1]) ) {
    		$path = trim($matches[1], '/');
    		$handle = opendir(ABSPATH . '/' .$path);
    		if ( false === $handle )
    			return $content;
    
    		$images = '';
    		while ( false !== ( $file = readdir($handle) ) ) {
    			if ( $file != '.' && $file != '..' ) {
    				if ( !in_array( substr($file, -4), array( '.jpg', '.gif', '.png' ) ) )
    					continue;
    
    				$images .= '<img src="' . get_option('home') . "/$path/$file" . '" alt="" />' . "\n\n";
    			}
    		}
    		closedir($handle);
    
    		$content = str_replace($matches[0], $images, $content);
    	}
    
    	return $content;
    }
    add_action('content_save_pre', 'insert_images_from_server');

    После этого в тексте записи можно использовать подобную строку:

    [insert-images photos/2011]

    При сохранении записи строка будет заменена списком изображений:

    <img src="http://wordpress/photos/2011/image1.jpg" alt="" />
    
    <img src="http://wordpress/photos/2011/image2.jpg" alt="" />
    
    <img src="http://wordpress/photos/2011/image3.jpg" alt="" />

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

    А по теме, есть плагин Faster Image Insert, позволяет загрузить изображения и вставить их сразу все, в выбранном формате. Как бы расширяет функционал стандартных средств загрузки медиафайлов.

    Автор Scrudje

    (@scrudje)

    Сергей, выскакивает ошибка..и скрипт не работает

    Warning: Cannot modify header information — headers already sent by (output started at /home/mysite/blog/wp-content/themes/orangejuice/functions.php:19) in /home/mysite/blog/wp-includes/pluggable.php on line 897

    Автор Scrudje

    (@scrudje)

    ws256, с сервера плагин добавляет только по одной фото. 🙁 .

    Автор Scrudje

    (@scrudje)

    У-уху, Sergey Biryukov, Спасибо работает!

    Автор Scrudje

    (@scrudje)

    Сергей, подскажите пожалуйста, что нужно прописать в

    alt=»»

    , чтобы каждой картинке прописывался alt названия (темы) сообщения?

    Автор Scrudje

    (@scrudje)

    Сергей, подскажите пожалуйста, что нужно прописать в
    alt=»»
    , чтобы каждой картинке прописывался alt названия (темы) сообщения?

    Автор Scrudje

    (@scrudje)

    Кто-нибудь может подсказать или нереально сделать?

    Я делал через get_children

    <?php
    $images = get_children(array('post_parent' => $post->ID,  'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'menu_order', 'order' => 'DESC'));
    if ( empty($images) ) {
    	echo '<img src="'.get_bloginfo('template_url').'/slider/none.png" id="slider_main_img"/>';
    } else {
    	foreach ( $images as $attachment_id => $attachment ) {}
    
    	echo '<img src="'.get_bloginfo('template_url').'/scripts/timthumb.php?src='.wp_get_attachment_url($attachment_id, 'full').'&h=335&w=240&zc=1"'.'" alt="'.$attachment->post_title.'" id="slider_main_img"/>';
    }
    ?>

    В данном случае не подскажу что писать.

    Примерно такой же вопорс и у меня встал — решыл себе облехчеть работу
    По ночалу скрипт песал но потом нашол плагин
    faster-image-insertЗаливаете все фото в пост, а потом одной кнопкой вставляете в пост, оч удобно и быстро, токо я еще удалил ненужные теги.
    Елсе правелно вас понел то должен подойти.

    Резултат куча картинок бес мусора:
    <img src="http://vas-sait/image1.jpg" alt="" />

    Ещё актуально, подскажите пожалуйста, что нужно прописать в
    alt=»»
    , чтобы каждой картинке прописывался alt тег названия (темы) сообщения?

    А также если в директории фото имеют расширение .JPG, те расширение прописано большими буквами, то он не работает….

    Третье правило.
    — Atrax

Просмотр 14 ответов — с 1 по 14 (всего 14)
  • Тема «Пакетное добавление фото» закрыта для новых ответов.