Support » Plugin: WP-PageNavi » Not working on home page with custom post type

  • Resolved ubaidrehman

    (@ubaidrehman)



    You may think I am one other how to use paged properly problem maker but believe me before bugging you I almost tried every single solution on internet !

    Your pagination is working every where fine expect when I make a page my home page through WordPress setting it stop working.

    if ( get_query_var('paged') ) {
    				echo "paged is on";
    			    $paged = get_query_var('paged');
    			} elseif ( get_query_var('page') ) {
    				echo "paged is off";
    			    $paged = get_query_var('page');
    			} else {
    				echo "paged is 1";
    			    $paged = 1;
    			} 
    
    			  query_posts( array( 'post_type' => 'listing', 'posts_per_page' => get_field('listings_per_page','option'), 'paged' => $paged ) );

    This my code when selected as home page it echo “page is 1” when not selected as hopepage pagination working fine and echo “page is on” ? What could be the problem ?

    https://wordpress.org/plugins/wp-pagenavi/

Viewing 11 replies - 1 through 11 (of 11 total)
  • Plugin Author Lester Chan

    (@gamerz)

    This seems to be a “WP” issue rather than specific to the plugin. Probably best if you can ask in the general help forums as you will not get much help here.

    yes it seems to be like that but I thought you might have face and found a solution for this kind of trouble well what your best knowledge says about it ?

    Ok dear I found A interesting solution which can answer millions of people having trouble with static page set on wp Pagnavi not working on it, but I don’t know how I can do it, please if you can offer a little help.

    The problem is when you try to load home.com/page/2 it redirects to home.com because the structure is not recognized if you are using a static home page in WP, what you can do is try it with home.com/?page=2 and it works like a magic ! now please help me how I can change the pagenavi to use page=2 on the main page ? is there any query I can use inside wp_pagenavi(querry here ?);

    Plugin Author Lester Chan

    (@gamerz)

    You can verify that does the navigation does work with the default WordPress Navigation in the first place? http://codex.wordpress.org/Function_Reference/next_posts_link or http://codex.wordpress.org/Function_Reference/previous_posts_link

    If it doesn’t work as well, you should post it in the main forum because you probably will get more help there.

    yes it works if the perma link structure is in p= format but if its custom or potname format it doesn’t work

    Did you found a fix yet. Your problem is sorta similar to mine. Works with default permalink structure, but doesn’t work with the custom permalinks. It seems the issue happens when you use a static page as homepage.

    Put the below code after the page_navi function called.

    <script>
    jQuery('.wp-pagenavi a').each(function() {
    var url = jQuery( this ).attr('href');
    var array = url.split('/');
    var lastsegment = array[array.length-2];
    jQuery( this ).attr('href', '<?php echo site_url(); ?>?paged='+lastsegment);
    });
    </script>

    put page_slug <?php echo site_url(‘Page_slug’); ?> like this if pagination on other then home page.

    Thanks for the fix janothemes, however it still doesn’t work for me. Instead of remaining /?page=2 it still redirect to /page/2 which doesn’t work. Any other ideas? 🙂 thanks.

    Plugin Author Lester Chan

    (@gamerz)

    actually something else solved my problem – it was as simple as commenting this line:
    //’offset’ => 0 in the blog page template.

    Seems that you can’t send both an offset and a page so commenting this solved it for me, maybe it does for others as well 😉

    brandon.hcreativemedia

    (@brandonhcreativemediacom)

    The script below is working for me.
    Similar to “janothemes” solution, but only performing a string replace from “page/” to “?paged=”.

    <script>
    	jQuery('.wp-pagenavi a').each(function() {
    		var url = jQuery( this ).attr('href');
    		url = url.replace("page/","?paged=");
    		jQuery( this ).attr('href', url);
    	});
    </script>

    This way the pagination links still work when you reach page 2.

    Also, if you’re using wp pagenavi on a homepage template use the following:

    <?php if ( is_page() ) :?>
    <script>
    	jQuery('.wp-pagenavi a').each(function() {
    		var url = jQuery( this ).attr('href');
    		url = url.replace("page/","?paged=");
    		jQuery( this ).attr('href', url);
    	});
    </script>
    <?php endif; ?>
Viewing 11 replies - 1 through 11 (of 11 total)
  • The topic ‘Not working on home page with custom post type’ is closed to new replies.