如何修复Front-page.php上自定义循环的分页

时间:2016-06-13 作者:Terungwa

在这个网站上搜索这个主题会得到很多声称已经解决了这个问题的结果,但在实施了下面概述的这些指导原则之后,我却有了相反的经历:

  1. How to fix pagination for custom loops?
  2. Pagination not working on static page
  3. https://stackoverflow.com/questions/14026467/pagination-on-static-front-page-wordpress
下面是我的代码:
                // Get current page and append to custom query parameters array
                $custom_query_args[\'paged\'] = get_query_var( \'page\' ) ? get_query_var( \'page\' ) : 1;

                // Define custom query parameters
                $custom_query_args = array(
                    \'post_type\'      => \'post\',
                    \'posts_per_page\' => \'4\',
                    \'paged\'          => $custom_query_args[\'paged\'],
                    \'post_status\'    => \'published\',
                    \'cat\'    => \'1\',
                );

                // Instantiate custom query
                $blog_query = new WP_Query( $custom_query_args );

                // Pagination fix
                $temp_query = $wp_query;
                $wp_query   = NULL;
                $wp_query   = $blog_query;
        ?>

        <?php if ( $blog_query->have_posts() ) : ?>

        <?php /* Start the Loop */ ?>
            <?php while ( $blog_query->have_posts() ) : $blog_query->the_post();  ?>
            <?php get_template_part( \'content\', get_post_format() ); ?>

        <?php endwhile; ?>

        <?php endif; // end have_posts() check ?>

        <?php // Reset postdata
            wp_reset_postdata();

            // Custom query loop pagination
            previous_posts_link( \'Older Posts\' );
            next_posts_link( \'Newer Posts\', $blog_query->max_num_pages );

            // Reset main query object
            $wp_query = NULL;
            $wp_query = $temp_query;
        ?>
当我单击frontpage上显示的分页链接时,会显示404 Not Found响应。(在此服务器上找不到请求的URL/kobopulse/page/2/。)

我正在使用最新版本的wordpress。在设置页面上,我的安装配置为显示静态首页。首页。php是frontpage的自定义页面模板

我需要做什么不同的事情。

谢谢

2 个回复
SO网友:Terungwa

使此解决方案起作用。我只是启用了一些永久链接。如果您激活了永久链接,但收到服务器404错误,这可能意味着。您的服务器上未激活htaccess。请按照以下步骤进行处理。

How to Activate an .htaccess file

如果您有权访问服务器设置,则可以编辑配置以允许。htaccess文件覆盖标准网站配置。打开apache2默认主机配置文件。注意:此步骤需要sudo权限。

sudo nano /etc/apache2/sites-available/default
进入该文件后,找到以下部分,并将AllowOverride的行从None更改为All。该部分现在应如下所示:

 <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
 </Directory>
保存并退出该文件后,重新启动apache。

sudo service apache2 restart
请确保这已包含在您的中。htaccess文件:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
你可以走了。

reference:

我使用ubuntu服务器,但这个参考对我很有用。

http://ahmed.amayem.com/setting-up-pretty-permalinks-in-wordpress-using-htaccess-and-mod_rewrite-on-linux-centos-6/

SO网友:Pratik bhatt

我已经检查了以上内容,似乎您的permalink部分存在一些问题。请将您的永久链接更新为自定义永久链接,这样它将检查seo友好的分页,您将不会在其中获得任何404。