Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][Wordpress] Slideshow
--kamyk--
post
Post #1





Goście







Witam, mam problem w moim themie na wordpressie jest slideshow który pokazuje ostatnie 5 postów z danej kategorii jak zrobić aby pokazywał tylko ostatnie 5 postów niezależnie od kategorii?
Wydaje mi się ze wystarczy odpowiednio przerobić kod z pliku featured.php niestety nie umiem sobie z tym poradzić... Bardzo proszę o pomoc =)

Kod
<?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>This is featured post <?php echo $i; ?> title</h3>
                                <p>To set your featured posts, please go to your theme options page in wp-admin. You can also disable featured posts slideshow if you don't wish to display them.</p>
                                <a href="#" title="This is featured post <?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 } ?>


fragment functions.php
Kod
function get_theme_option($option)
{
    global $shortname;
    return stripslashes(get_option($shortname . '_' . $option));
}

function get_theme_settings($option)
{
    return stripslashes(get_option($option));
}

function cats_to_select()
{
    $categories = get_categories('hide_empty=0');
    $categories_array[] = array('value'=>'0', 'title'=>'Select');
    foreach ($categories as $cat) {
        if($cat->category_count == '0') {
            $posts_title = 'No posts!';
        } elseif($cat->category_count == '1') {
            $posts_title = '1 post';
        } else {
            $posts_title = $cat->category_count . ' posts';
        }
        $categories_array[] = array('value'=> $cat->cat_ID, 'title'=> $cat->cat_name . ' ( ' . $posts_title . ' )');
      }
    return $categories_array;
}

$options = array (
            
    array(    "type" => "open"),
    
    array(    "name" => "Logo Image",
        "desc" => "Enter the logo image full path. Leave it blank if you don't want to use logo image.",
        "id" => $shortname."_logo",
        "std" =>  get_bloginfo('template_url') . "/images/logo.png",
        "type" => "text"),array(    "name" => "Featured Posts Enabled?",
            "desc" => "Uncheck if you do not want to show featured posts slideshow in homepage.",
            "id" => $shortname."_featured_posts",
            "std" => "true",
            "type" => "checkbox"),
        array(    "name" => "Featured Posts Category",
"desc" => "Last 5 posts form the selected categoey will be listed as featured at homepage. <br />The selected category should contain at last 2 posts with images. <br /> <br /> <b>How to add images to your featured posts slideshow?</b> <br />
            <b>&raquo;</b> If you are using WordPress version 2.9 and above: Just set \"Post Thumbnail\" when adding new post for the posts in selected category above. <br />
            <b>&raquo;</b> If you are using WordPress version under 2.9  you have to add custom fields in each post on the  category  you set as featured category. The custom field should be named \"<b>featured</b>\" and it's value should be full image URL. <a href=\"http://newwpthemes.com/public/featured_custom_field.jpg\" target=\"_blank\">Click here</a> for a screenshot. <br /> <br />
            In both situation, the image sizes should be: Width: <b>620 px</b>. Height: <b>320 px.</b>",
            "id" => $shortname."_featured_posts_category",
            "options" => cats_to_select(),
            "std" => "0",
            "type" => "select"),

//DALSZY CIAG.....
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. $featured_posts = get_posts("numberposts=5&&category=$featured_posts_category");

Zostaw tylko numberposts=5. [;


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
--kamyk--
post
Post #3





Goście







=) dzięki wielki^^

a wiesz może jak zrobić żeby nie wybierało postów bez miniaturki? Gdy w tych 5 postach jest jakiś z samym tekstem (bez wybranego featured photo w opcjach wstawiania postu) to po prostu slideshow się sypie. Chciałbym żeby pomijało te posty, niekoniecznie uwzględniając liczbę postów (tzn. może liczyć te 5 postów razem z tymi niebranymi pod uwagę). Bardzo proszę o pomoc =)
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Sprawdzaj zawartość meta-pola; nie pamiętam, które to było. wink.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
-kamy-
post
Post #5





Goście







=) Poradziłem sobie inaczej... Pomijam przy wyborze postów jedną kategorie w której umieszczam posty bez thumbnail'i, na nic więcej mnie nie stać =P
Dzięki za pomoc, Pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 06:16