wordpress网站的分页正在使用普通永久链接(com /?p = 123)但不能使用自定义(/%postname%/)

时间:2016-10-25 22:46:48

标签: php wordpress pagination permalinks

我正在尝试用wordpress创建我的第一个网站,我正面临着分页的问题。我花了两天的时间来弄清楚问题是什么但是我不能......当我将固定链接设置为普通网站以及网站的重定向时(这就是这个/?page_id = 6032& paged = 2),分页工作正常。 )很好。但是当我将永久链接设置为自定义(重定向将我发送到/ accommodation / page / 2 /)时,我会找到一个找不到的页面。我这几天搜索了很多,发现了许多解决方案,但似乎没有任何效果。奇怪的是,我使用完全相同的分页到我的网站的另一页,它正常工作。分页不起作用的住宿页面就像这样

from PyQt4 import QtCore, QtGui
import sys

from mainwindow import Ui_MainWindow
import sensor

class dataAcquisition(QtGui.QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(dataAcquisition, self).__init__(parent)
        self.setupUi(self)

        self.threadclass = ThreadClass()
        self.threadclass.start()

    def Sensor(self):
        val = sensor.RCtime(Pin)


class ThreadClass(QtCore.QThread):
    def __init__(self, parent=None):
        super(ThreadClass, self).__init__(parent)

    def run(self):
        val = sensor.RCtime(Pin)
        print val


if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    MainWindow = dataAcquisition()
    MainWindow.show()
    sys.exit(app.exec_())

并且正在运行的推荐页面只有差异

 <?php
        $accommodation_perpage = '6';           
        $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;     
        query_posts( "post_type=accommodation&posts_per_page=$accommodation_perpage&paged=$paged" );                
        if( have_posts() ) :
            while( have_posts() ) : the_post(); ?>

我的分页代码是

query_posts( "post_type=testimonial&posts_per_page=$testimonial_perpage&paged=$paged" )

1 个答案:

答案 0 :(得分:0)

请在function.php文件中添加此代码

function custom_numeric_pagination() {
        if (is_singular())
            return;
        global $wp_query;
        if ($wp_query->max_num_pages <= 1)
            return;
        $paged = get_query_var('paged') ? absint(get_query_var('paged')) : 1;
        $max = intval($wp_query->max_num_pages);
        if ($paged >= 1)
            $links[] = $paged;
        if ($paged >= 3) {
            $links[] = $paged - 1;
            $links[] = $paged - 2;
        }
        if (( $paged + 2 ) <= $max) {
            $links[] = $paged + 2;
            $links[] = $paged + 1;
        }
        echo '<div class="navigation"><ul>' . "\n";
        if (!in_array(1, $links)) {
            $class = 1 == $paged ? ' class="active"' : '';

            printf('<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link(1)), '1');

            if (!in_array(2, $links))
                echo '<li>…</li>';
        }
        sort($links);
        foreach ((array) $links as $link) {
            $class = $paged == $link ? ' class="active"' : '';
            printf('<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link($link)), $link);
        }
        if (!in_array($max, $links)) {
            if (!in_array($max - 1, $links))
                echo '<li>…</li>' . "\n";

            $class = $paged == $max ? ' class="active"' : '';
            printf('<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link($max)), $max);
        }
        echo '</ul></div>' . "\n";
    }


function na_parse_request( $query ) {

    if ( ! $query->is_main_query() || 2 != count( $query->query ) || ! isset( $query->query['page'] ) ) {
        return;
    }

    if ( ! empty( $query->query['name'] ) ) {
        $query->set( 'post_type', array( 'post', 'yourcustomposttypename', 'page' ) );
    }
}
add_action( 'pre_get_posts', 'na_parse_request' );