WordPress.org

Ready to get started?Download WordPress

Forums

Sticky post style (8 posts)

  1. Scofield
    Member
    Posted 4 years ago #

    Hello all. I need help with style of the sticky post.
    index.php

    <div class="postUp"></div>
    <div class="postWrapper">
    <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Read <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
    <?php the_content(''); ?>
    </div>
    <div class="postDown"></div>

    And I need to change class="postUp", when post will be stick to class="postUpStick".
    It is possible? Thanks

  2. rochsid
    Member
    Posted 4 years ago #

    no, you just need to put your sticky post in your div,
    Place the following code just before the loop:

    <div class="postUp">
    <?php
    	$sticky = get_option('sticky_posts');
    	rsort( $sticky );
    	$sticky = array_slice( $sticky, 0, 5);
            query_posts( array( 'post__in' => $sticky, 'caller_get_posts' => 1 ) );
    ?>
    </div>

    This code will retrieve the 5 most recent sticky posts. To change the number of retrieved posts, just change the 5 by the desired value on line 4.

  3. David Jones
    Member
    Posted 4 years ago #

    Wow thanks! Rochsid. I've bookmarked this page.

    That is a great little piece of code. I have had trouble with this myself.

  4. kimijye
    Member
    Posted 4 years ago #

    I have no idea how to style my stickies, and I think my code is calling up stickies as well as calling for them not to display.

    My stickies don't show any separation between title and body of post.

    How do I post my code for help with the other issue?

  5. pureyuwen
    Member
    Posted 4 years ago #

    This is very useful!3Q

  6. kimijye
    Member
    Posted 4 years ago #

  7. kimijye
    Member
    Posted 4 years ago #

    <?php
    /*
    Template Name: Home
    */
    ?>
    
    <?php get_header(); ?>
    	<div class="main">
    
    <!--<?php query_posts(array('post__in'=>get_option('sticky_posts'))); ?>-->
    
        <?php
        /* Get all sticky posts */
        $sticky = get_option( 'sticky_posts' );
    
        /* Sort the stickies with the newest ones at the top */
        rsort( $sticky );
    
        /* Get the 5 newest stickies (change 5 for a different number) */
        $sticky = array_slice( $sticky, 0, 5 );
    
        /* Query sticky posts */
        query_posts( array( 'post__in' => $sticky, 'caller_get_posts' => 1 ) );
    
    if (have_posts()) :
        while (have_posts()) : the_post();
            the_title();
            the_excerpt();
        endwhile;
    endif;
    
    ?>
    
    <?php
    
    if (is_page() ) {
    $category = get_post_meta($posts[0]->ID, 'category', true);
    }
    if ($category) {
      $cat = get_cat_ID($category);
      $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
      $post_per_page = 4; // -1 shows all posts
      $do_not_show_stickies = 0; // 0 to show stickies, 1 to not show
      $args=array(
        'category__in' => array($cat),
        'orderby' => 'date',
        'order' => 'DESC',
        'paged' => $paged,
        'posts_per_page' => $post_per_page,
        'caller_get_posts' => $do_not_show_stickies
      );
      $temp = $wp_query;  // assign orginal query to temp variable for later use
      $wp_query = null;
      $wp_query = new WP_Query($args);
      if( have_posts() ) :  while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
    	    <div <?php post_class() ?> id="post-<?php the_ID(); ?>">
            <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
            <small><?php the_time('F jS, Y') ?> <!-- by <?php the_author() ?> --></small>
            <div class="entry">
              <?php the_content('Read the rest of this entry »'); ?>
            </div>
            <p class="postmetadata"><?php the_tags('Tags: ', ', ', '<br />'); ?> Posted in <?php the_category(', ') ?> | <?php edit_post_link('Edit', '', ' | '); ?>  <?php comments_popup_link('No Comments »', '1 Comment »', '% Comments »'); ?></p>
          </div>
        <?php endwhile; ?>
        <div class="navigation">
          <div class="alignleft"><?php next_posts_link('« Older Entries') ?></div>
          <div class="alignright"><?php previous_posts_link('Newer Entries »') ?></div>
        </div>
      <?php else : ?>
    
    		<h2 class="center">Not Found</h2>
    		<p class="center">Sorry, but you are looking for something that isn't here.</p>
    		<?php get_search_form(); ?>
    
    	<?php endif; 
    
    	$wp_query = $temp;  //reset back to original query
    
    }  // if ($category)
    ?>
    
    	</div>
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>
  8. kimijye
    Member
    Posted 4 years ago #

    Actually, I found the fix to my missing styles and added appropriate code. Now, I need help cleaning up the rest of my code.

    Two issues I can spot:

    1) I have two loops. Do I need two - probably not, if no, what do I delete?

    2) Regular post is not appearing under stickies (as expected) area on home page. How do I get regular posts to appear?

Topic Closed

This topic has been closed to new replies.

About this Topic