• Добрый день господа.
    Есть слайд шоу с появляющимся текстом с низу.
    Проблема в том что порядок отображения картинок я могу поменять а вот текст всегда один на всех картинках выходит.
    вот демо темы сайта 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) этого же поста. то есть, нужно просто поменять описание поста. или добавить, если его не было.

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

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

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

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

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

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

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

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

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

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

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

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

    <?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
    не забывайте нажимать внизу Обновить медиафайл после того как добавляете описание.

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

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

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

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

    $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 по первому сценарию, назначив категорию и создав нужные посты.

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

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