分页达到第404页/第/4页

时间:2019-10-01 作者:mcclosa

这是一个有点头巾。

所以,我使用WP Download Manager Pro plugin 创建自定义帖子类型的wpdmpro.

我有每个类别的页面,使用循环,我用一个post-type 属于wpdmpro.

<?php
    $paged = ( get_query_var(\'paged\') ) ? get_query_var(\'paged\') : 1;
    $args = array(
        \'orderby\'           => \'date\',
        \'order\'             => \'DESC\',
        \'post_status\'       => \'publish\',
        \'posts_per_page\'    => 2,
        \'paged\'             => $paged,
        \'post_type\' => \'wpdmpro\', 
        \'wpdmcategory\' => $category->category_nicename,
        \'tag\' => $cat_tag
    );
    query_posts($args)
?>
<?php if (have_posts()) : ?>
   /* content goes here */
<?php endif; ?>
<?php else : ?>

    <div class="row">
        <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(); ?>
    </div>

<?php endif; ?>
我在测试的特定类别中总共有11篇帖子,所以我希望有6页?

第1、2和;3工作正常。然而,当我击中/page/4 我收到了404页?

有趣的是,如果我改变posts_per_page 比如说20, 所以我会有一页。如果我那时去/page/2/page/3 我没有404页,而是Not found 元素与搜索表单?

现在,在这个项目开始时,我使用的是标准的Wordpress帖子类型,其总数为34 职位。当我把那个帖子号码降到29 现在/page/3 不起作用,所以,不知何故,分页仍然链接到旧的帖子类型和当前仍驻留在那里的帖子,我不知道这可能链接到哪里?

正在尝试\'post_type\' => \'post\', 如果我34 职位,/page/4 不起作用。

如果它们之间存在某种联系,只需添加一些内容即可。

在我的永久链接设置中,我有一个自定义结构

/%category%/%postname%/
我的默认分类基础是.

在我的WP下载管理器设置中,我的WPDM Category URL Base.

我也有这两个过滤功能,它们是从这里的答案复制而来的,我对Wordpress很陌生,所以我不确定使用它们的潜在影响是什么?

add_filter(\'category_rewrite_rules\', \'vipx_filter_category_rewrite_rules\');
add_filter(\'user_trailingslashit\', \'remove_category\', 100, 2);
function vipx_filter_category_rewrite_rules($rules) {
    $categories = get_categories(array(\'hide_empty\' => false));

    if (is_array($categories) && !empty($categories)) {
        $slugs = array();
        foreach($categories as $category) {
            if (is_object($category) && !is_wp_error($category)) {
                if (0 == $category - > category_parent) {
                    $slugs[] = $category - > slug;
                } else {
                    $slugs[] = trim(get_category_parents($category - > term_id, false, \'/\', true), \'/\');
                }
            }
        }

        if (!empty($slugs)) {
            $rules = array();

            foreach($slugs as $slug) {
                $rules[\'(\'.$slug.
                    \')/feed/(feed|rdf|rss|rss2|atom)?/?$\'] = \'index.php?category_name=$matches[1]&feed=$matches[2]\';
                $rules[\'(\'.$slug.
                    \')/(feed|rdf|rss|rss2|atom)/?$\'] = \'index.php?category_name=$matches[1]&feed=$matches[2]\';
                $rules[\'(\'.$slug.
                    \')(/page/(\\d+)/?)?$\'] = \'index.php?category_name=$matches[1]&paged=$matches[3]\';
            }
        }
    }
    return $rules;
}

function remove_category($string, $type) {
    if ($type != \'single\' && $type == \'category\' && (strpos($string, \'category\') !== false)) {
        $url_without_category = str_replace("/wpdmcategory/", "/", $string);
        return trailingslashit($url_without_category);
    }
    return $string;
}
echo $wp_query->max_num_pages;
退货3 当我总共有34 普通帖子,我如何设置它以使用我的自定义帖子类型来获得正确的页数?

1 个回复
SO网友:mcclosa

万一有人碰到这个问题,我找到了解决办法。

第一步是创建archive.php

在那里,我可以访问循环。

in中的functions.php

我有一个类别重写过滤器来更新类别重写规则,以使用以下示例urlindex.php?wpdmcategory=category-name&paged=2 当我击中/category-name/page/2

之前,它使用以下url示例,index.php?category_name=category-name&paged=2 因此,它实际上在类别分页中使用了默认的post类型。

add_filter( \'category_rewrite_rules\', \'vipx_filter_category_rewrite_rules\' );`

function vipx_filter_category_rewrite_rules($rules) {
    $categories = get_terms(\'wpdmcategory\', array("hide_empty" => false));

    if (is_array($categories) && !empty($categories)) {
        $slugs = array();
        foreach($categories as $category) {
            if (is_object($category) && !is_wp_error($category)) {
                if (0 == $category - > category_parent) {
                    $slugs[] = $category - > slug;
                } else {
                    $slugs[] = trim(get_category_parents($category - > term_id, false, \'/\', true), \'/\');
                }
            }
        }

        if (!empty($slugs)) {
            $rules = array();

            foreach($slugs as $slug) {
                $rules[\'(\'.$slug.
                    \')/feed/(feed|rdf|rss|rss2|atom)?/?$\'] = \'index.php?wpdmcategory=$matches[1]&feed=$matches[2]\';
                $rules[\'(\'.$slug.
                    \')/(feed|rdf|rss|rss2|atom)/?$\'] = \'index.php?wpdmcategory=$matches[1]&feed=$matches[2]\';
                $rules[\'(\'.$slug.
                    \')(/page/(\\d+)/?)?$\'] = \'index.php?wpdmcategory=$matches[1]&paged=$matches[3]\';
            }
        }
    }
    return $rules;
}

相关推荐

如何在PHP中获取木质属性缩略图?

我正在尝试获取所有atribute名称和图像(缩略图?)为了打印它们,我设法得到了它们的名字,但没有找到图像的url。要将图像添加到woocommerce属性,我使用Variation swatches extension .下面是如何获取属性名称的$attributes = get_terms(\"pa_couleurs\"); foreach ($attributes as $attribute){ Print $attribute->name; }