• Добрый день господа.
    Есть слайд шоу с появляющимся текстом с низу.
    Проблема в том что порядок отображения картинок я могу поменять а вот текст всегда один на всех картинках выходит.
    вот демо темы сайта http://newwpthemes.com/wordpress-theme/harmony/

    а вот код из файла отвечающий за текст )

    <?php
    if(get_theme_option('featured_posts') != '') {
    ?>
    <script type="text/javascript">
    	function startGallery() {
    		var myGallery = new gallery($('myGallery'), {
    			timed: true,
    			delay: 6000,
    			slideInfoZoneOpacity: 0.8,
    			showCarousel: false
    		});
    	}
    	window.addEvent('domready', startGallery);
    </script>
    <div class="fullbox_excerpt">
    	<div class="fullbox_content">
    		<div class="smooth_gallery">
    			<div id="myGallery">
    
    				<?php
    				$featured_posts_category = get_theme_option('featured_posts_category');
    
    				if($featured_posts_category != '' && $featured_posts_category != '0') {
    					global $post;
    
    					 $featured_posts = get_posts("numberposts=5&&category=$featured_posts_category");
    					 $i = 0;
    					 foreach($featured_posts as $post) {
    					 	setup_postdata($post);
                            if ( version_compare( $wp_version, '2.9', '>=' ) ) {
                                $slide_image_full = get_the_post_thumbnail($post->ID,'large', array('class' => 'full'));
                                $slide_image_thumbnail = get_the_post_thumbnail($post->ID,'large', array('class' => 'thumbnail'));
                            } else {
                                $get_slide_image = get_post_meta($post->ID, 'featured', true);
                                $slide_image_full = "<img src=\"$get_slide_image\" class=\"full\" alt=\"\" />";
                                $slide_image_thumbnail = "<img src=\"$get_slide_image\" class=\"thumbnail\" alt=\"\" />";
                            }
    
    					  ?>
    					  <div class="imageElement">
    							<h3><?php the_title(); ?></h3>
    							<?php the_excerpt(); ?>
    							<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" class="open"></a>
    							<?php echo  $slide_image_full; ?>
    							<?php echo  $slide_image_thumbnail; ?>
    						</div>
    					 <?php }
    				} else {
    					for($i = 1; $i <=5; $i++) {
    						?>
    							<div class="imageElement">
    								<h3>Интересная хроника <?php echo $i; ?> </h3>
    								<p> ТЕКСТ СООБЩЕНИЯ СЛАЙД ШОУ</p>
    
    								<a href="#" title="Интересная хроника  <?php echo $i; ?>" class="open"></a>
    								<img src="<?php bloginfo('template_directory'); ?>/jdgallery/slides/<?php echo $i; ?>.jpg" class="full" alt="" />
    								<img src="<?php bloginfo('template_directory'); ?>/jdgallery/slides/<?php echo $i; ?>.jpg" class="thumbnail" alt="" />
    							</div>
    						<?php
    					}
    				}
    
    				?>
    			</div>
    		</div>
    	</div>
    </div>
    <?php } ?>

    помогите плиз )

Просмотр 13 ответов — с 1 по 13 (всего 13)
  • а что нужно сделать?

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

    Автор Pavel-k

    (@pavel-k)

    да все верно) поменять пост я могу) а вот что бы под каждой из 6сти картинок выводился разный текст. вот только это у меня не получается(

    у вас слайдер крутит несколько постов или один?

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

    можно еще в админке покопаться в настройках самой smooth gallery.

    Автор Pavel-k

    (@pavel-k)

    Крутит 1 пост. а картинок 6. надо что бы крутил на каждую картинку свой пост. воть)

    именно smooth gallery я не помню, надо смотреть, но, скорее всего, так не получится. у него к картинке конкретного поста привязан конкретный текст, а именно короткое описание, он же excerpt. то есть нужно именно 6 постов.

    а какая задача у слайдера?

    Автор Pavel-k

    (@pavel-k)

    Задача. показать картинку и вывести к ней небольшой текст.

    тогда не вижу проблемы.

    создаете нужное количество постов, хоть пустых. даете им короткое описание, прикрепляете ОДНУ картинку к каждому из созданных постов. каждому посту указываете тег или категорию «slider». в настройках smooth gallery указываете, что крутить нужно посты с тегом\категорией «slider». все. будут крутиться картинки, под ними разный текст.

    другое дело, что пользователь может на картинку нажать. куда она его должна привести?

    Автор Pavel-k

    (@pavel-k)

    да не куда. Это будет мини инфо.)
    что то несильно понял уж извините новичок)

    <?php }
    				} else {
    					for($i = 1; $i <=5; $i++) {
    						?>

    код который указывает с какой и по какую картинку крутить.

    <div class="imageElement">
    								<h3>Интересная хроника <?php echo $i; ?> </h3>
    								<p> текст</p>

    вот код который указывает какой текс крутить.

    я не знаю, как устроена тема, но код вряд ли надо трогать.

    сделайте вот как: в админке надо выбрать Медиафайлы \ Библиотека. там должны быть картинки, которые крутятся в слайдере. нажмите на каждой из них Изменить и в поле Описание введите нужный текст. скорее всего, он появится в слайдере, если я правильно понял принцип этого плагина. также там можно ввести заголовок. в общем, вот скрин:
    http://dl.dropbox.com/u/3226197/wp.jpg
    не забывайте нажимать внизу Обновить медиафайл после того как добавляете описание.

    хотя у вас, возможно, сам код уже изменен. я в нем вряд ли разберусь. надо смотреть именно ваш шаблон. я не понимаю, как именно вставлен слайдер — шоткодом в пост или кодом в шаблон.

    Автор Pavel-k

    (@pavel-k)

    Никаких настроек у плагина нет он встроен в тему. поэтому другого способа изменить настройки его нету. и поэтому картинок в медиа файлах нету которые крутятся в нем.

    жаль, что так и не появился нормально разбирающийся в пхп человек)

    но мне самому уже интересно. если внимательно на код посмотреть, то я вижу следующее:

    $featured_posts_category = get_theme_option('featured_posts_category');
    здесь из опций темы берется название категории, посты корой будут крутиться. если такая есть, то предлагается повертеть 5 постов:
    $featured_posts = get_posts("numberposts=5&&category=$featured_posts_category");
    с помощью вот этого шаблона:

    <h3><?php the_title(); ?></h3>
    <?php the_excerpt(); ?>
    <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" class="open"></a>
    <?php echo  $slide_image_full; ?>
    <?php echo  $slide_image_thumbnail; ?>

    причем, в этом случае он берет картинку, которая прикреплена к посту как миниатюра:
    $slide_image_full = get_the_post_thumbnail($post->ID,'large', array('class' => 'full'));

    в вашем случае срабатывает else, потому что либо категориия в опциях темы не задана, либо нет постов в этой категории. то есть как минимум можно задать эту категорию и сделать, как я выше предлагал с 6ю постами.

    а по else… как у вас может выводиться разные текст, если он у вас один там написан? то есть Интересная хроника №1 у вас зависит от счетчика (значение i), кратинки у вас, я так понимаю 1.jpg, 2.jpg и тд, то есть тоже зависят от счетчика. а текст один.

    в этом случае вам надо либо писать условие на каждую картинку, вроде «если i равно единице, то текста такой-то, если двум, то другой» и тд. но это громоздко. либо брать описание где-то. например прописать его в title каждой картинке и вывести вместо вашего <p> ТЕКСТ СООБЩЕНИЯ СЛАЙД ШОУ</p>.

    я бы сделал без else по первому сценарию, назначив категорию и создав нужные посты.

    Автор Pavel-k

    (@pavel-k)

    Спасибо огромное тебе) буду пробовать

Просмотр 13 ответов — с 1 по 13 (всего 13)
  • Тема «Слайд шоу с текстом» закрыта для новых ответов.