WordPress.org

Ready to get started?Download WordPress

Forums

Pagination not working (7 posts)

  1. kmpoaquests
    Member
    Posted 5 years ago #

    <?php $top_query = new WP_Query('showposts=1'); ?>
        <?php while($top_query->have_posts()) : $top_query->the_post(); $first_post = $post->ID; ?>
        	<div class="post" id="post-<?php the_ID(); ?>">
        	  <div class="main-post-bg">
        	    <p class="post-comments"><?php comments_popup_link('No Comments', '1 Comment', '% Comments'); ?></p>
        	    <?php $image = get_post_meta($post->ID, 'lead_image', true); ?>
        	    <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><img width="593" src="<?php echo $image; ?>" alt="" /></a>
        	    <div class="title-insert">
        		    <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
        		  </div>
        		</div>
          </div>
        <?php endwhile; ?>
        <div class="recent-leads fix">
          <?php query_posts('showposts=9'); ?>
      		<?php while(have_posts()) : the_post(); if(!($first_post == $post->ID)) : ?>
      			<div class="post" id="post-<?php the_ID(); ?>">
      			  <div class="secondary-post-bg left">
      			    <p class="post-comments"><?php comments_popup_link('No Comments', '1 Comment', '% Comments'); ?></p>
      			    <?php $image = get_post_meta($post->ID, 'secondary_image', true); ?>
          	    <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><img src="<?php echo $image; ?>" alt="" /></a>
      			    <div class="title-insert">
      				    <h3><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title() ?></a></h3>
      				  </div>
      				</div>
      			</div>

    I changed the 15th line from
    <?php query_posts('showposts=9'); ?>
    to
    <?php query_posts(''); ?>

    Now it shows up on my site (http://www.phatbrush.com) and its styled and all is great.

    ~My Problem~`

    When you click on any number on the pagination the content doesn't change.
    The url in the browser does change according to the number you clicked , but the actual content doesn't change.

    ~My Attempts~

    I also tried to refresh/resave the permalinks and I also re-installed/uninstalled your plugin twice to double check if the database got screwd up somehow.

    Would you have any idea as to what is needed to make this wp-navi plugin work , I've tried searching the internet and multiple forums for a solution? The theme i'm using is unstandard theme by http://5thirtyone.com/

  2. stvwlf
    Member
    Posted 5 years ago #

    Hi

    Instead of this
    <?php $top_query = new WP_Query('showposts=1'); ?>

    try this
    <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $top_query = new WP_Query('showposts=1&paged=$paged'); ?>

  3. kmpoaquests
    Member
    Posted 5 years ago #

    Replacing the line
    <?php $top_query = new WP_Query('showposts=1'); ?>

    doesn't do much I did take that line of code and replaced
    <?php query_posts(''); ?>

    with the code

    <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $top_query = new WP_Query('showposts=1&amp;paged=$paged'); ?>

    and it seems to work now , but I guess theres a small problem , when you hit page 2 / 3 / 4 /5 etc , etc

    the top image won't change (I tried putting the code you gave me into there too didn't do anything , any ideas ? atm my code looks like this , and thank you again for your patience

    <?php get_header(); ?>
    <div class="home fix">
      <div class="left">
        <?php $top_query = new WP_Query('showposts=1'); ?>
        <?php while($top_query->have_posts()) : $top_query->the_post(); $first_post = $post->ID; ?>
        	<div class="post" id="post-<?php the_ID(); ?>">
        	  <div class="main-post-bg">
        	    <p class="post-comments"><?php comments_popup_link('No Comments', '1 Comment', '% Comments'); ?></p>
        	    <?php $image = get_post_meta($post->ID, 'lead_image', true); ?>
        	    <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><img width="593" src="<?php echo $image; ?>" alt="" /></a>
        	    <div class="title-insert">
        		    <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
        		  </div>
        		</div>
          </div>
        <?php endwhile; ?>
        <div class="recent-leads fix">
          <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $top_query = new WP_Query('showposts=1&amp;paged=$paged'); ?>
      		<?php while(have_posts()) : the_post(); if(!($first_post == $post->ID)) : ?>
      			<div class="post" id="post-<?php the_ID(); ?>">
      			  <div class="secondary-post-bg left">
      			    <p class="post-comments"><?php comments_popup_link('No Comments', '1 Comment', '% Comments'); ?></p>
      			    <?php $image = get_post_meta($post->ID, 'secondary_image', true); ?>
          	    <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><img src="<?php echo $image; ?>" alt="" /></a>
      			    <div class="title-insert">
      				    <h3><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title() ?></a></h3>
      				  </div>
      				</div>
      			</div>
      		<?php endif; endwhile; ?>
      	</div>
        <br /><?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
      </div>
      <div class="right">
        <?php include (TEMPLATEPATH . '/sidebar.php'); ?>
      </div>
    </div>
    <?php include (TEMPLATEPATH . '/show_categories.php'); ?>
    <?php get_footer(); ?>
  4. stvwlf
    Member
    Posted 5 years ago #

    Hi

    See if this explanation helps:

    If you use the query:
    $recentPosts->query('showposts=5'.'&paged='.$paged);
    it will automatically page the query based on the page number passed through the url eg "/page/4"

    However, this doesn't work with the “post_nav_link” function because it only checks the $wp_query variable. To get around this you have to trick the function by switching $wp_query on it. Add the first block before your custom loop and the second after to achieve this effect.

    <?php //query_posts('paged='.$paged);
    $temp = $wp_query;
    $wp_query= null;
    $wp_query = new WP_Query();
    $wp_query->query('showposts=5'.'&paged='.$paged);
    ?>

    <?php $wp_query = null; $wp_query = $temp;?>

  5. kmpoaquests
    Member
    Posted 5 years ago #

    I'm not that great with coding lol , but your previous post has seriously helped me , thanks again !

  6. ungur_darius
    Member
    Posted 5 years ago #

    Hi everyone,

    I solve the problem, it's working 100% ;)

    <?php
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    query_posts("showposts=2&amp;paged=$paged");
    ?>
  7. mkormendy
    Member
    Posted 5 years ago #

    To anyone reading this post, some of the replies with code solutions have & HTML entities in place of an actual ampersand character in the PHP code.
    This can cause a problem in the implementation of pagination with query_posts.

    As well I have also addressed another problem that talks about the careful use of double quotes and single quotes when passing variables for pagination to the query_posts function as seen here in this support doc:

    http://wordpress.org/support/topic/206125?replies=3#post-1163093

    Cheers,
    // mike

Topic Closed

This topic has been closed to new replies.

About this Topic