我已经有了自定义重写规则,以便posts页面URL可以是/blog/,并且所有的帖子都有/blog/post-title-here/结构,这很好,但是当/blog/页面分页像/blog/page/2/一样构造时,我得到了一个404错误--我在StackOverflow周围看到了许多主题和问题,但是似乎所有的答案都是为了类别的结构,比如/blog/cat-name/page/2/,在这里,我只是需要/blog/page/2/。
下面是我的重写函数,用于将/blog/附加到post URL:
add_action( 'generate_rewrite_rules', 'site_add_blog_rewrites' );
function site_add_blog_rewrites( $wp_rewrite ) {
$wp_rewrite->rules = array(
'blog/([^/]+)/?然后,我使用以下方法转换post permalinks:function site_filter_post_link($permalink, $post) {
if ($post->post_type != 'post') {
return $permalink;
}
return 'blog'.$permalink;
}
add_filter('pre_post_link', 'site_filter_post_link', 10, 2);我是否遗漏了适当的重写以允许/blog/page/2/结构,或者这不可能,因为WP认为/page/在这个结构中应该是一篇文章吗?任何帮助都将不胜感激!注意:我不能有我的permalinks结构/%category%/%postname%/。佩尔墨克必须呆在/%postname%/ => 'index.php?name=$matches[1]',
'blog/[^/]+/attachment/([^/]+)/?然后,我使用以下方法转换post permalinks:A8我是否遗漏了适当的重写以允许D9结构,或者这不可能,因为WP认为D10在这个结构中应该是一篇文章吗?任何帮助都将不胜感激!注意:我不能有我的permalinks结构D11。佩尔墨克必须呆在D12 => 'index.php?attachment=$matches[1]',
'blog/[^/]+/attachment/([^/]+)/trackback/?然后,我使用以下方法转换post permalinks:A8我是否遗漏了适当的重写以允许D9结构,或者这不可能,因为WP认为D10在这个结构中应该是一篇文章吗?任何帮助都将不胜感激!注意:我不能有我的permalinks结构D11。佩尔墨克必须呆在D12 => 'index.php?attachment=$matches[1]&tb=1',
'blog/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?然后,我使用以下方法转换post permalinks:A8我是否遗漏了适当的重写以允许D9结构,或者这不可能,因为WP认为D10在这个结构中应该是一篇文章吗?任何帮助都将不胜感激!注意:我不能有我的permalinks结构D11。佩尔墨克必须呆在D12 => 'index.php?attachment=$matches[1]&feed=$matches[2]',
'blog/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?然后,我使用以下方法转换post permalinks:A8我是否遗漏了适当的重写以允许D9结构,或者这不可能,因为WP认为D10在这个结构中应该是一篇文章吗?任何帮助都将不胜感激!注意:我不能有我的permalinks结构D11。佩尔墨克必须呆在D12 => 'index.php?attachment=$matches[1]&feed=$matches[2]',
'blog/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?然后,我使用以下方法转换post permalinks:A8我是否遗漏了适当的重写以允许D9结构,或者这不可能,因为WP认为D10在这个结构中应该是一篇文章吗?任何帮助都将不胜感激!注意:我不能有我的permalinks结构D11。佩尔墨克必须呆在D12 => 'index.php?attachment=$matches[1]&cpage=$matches[2]',
'blog/([^/]+)/trackback/?然后,我使用以下方法转换post permalinks:A8我是否遗漏了适当的重写以允许D9结构,或者这不可能,因为WP认为D10在这个结构中应该是一篇文章吗?任何帮助都将不胜感激!注意:我不能有我的permalinks结构D11。佩尔墨克必须呆在D12 => 'index.php?name=$matches[1]&tb=1',
'blog/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?然后,我使用以下方法转换post permalinks:A8我是否遗漏了适当的重写以允许D9结构,或者这不可能,因为WP认为D10在这个结构中应该是一篇文章吗?任何帮助都将不胜感激!注意:我不能有我的permalinks结构D11。佩尔墨克必须呆在D12 => 'index.php?name=$matches[1]&feed=$matches[2]',
'blog/([^/]+)/(feed|rdf|rss|rss2|atom)/?然后,我使用以下方法转换post permalinks:A8我是否遗漏了适当的重写以允许D9结构,或者这不可能,因为WP认为D10在这个结构中应该是一篇文章吗?任何帮助都将不胜感激!注意:我不能有我的permalinks结构D11。佩尔墨克必须呆在D12 => 'index.php?name=$matches[1]&feed=$matches[2]',
'blog/([^/]+)/page/?([0-9]{1,})/?然后,我使用以下方法转换post permalinks:A8我是否遗漏了适当的重写以允许D9结构,或者这不可能,因为WP认为D10在这个结构中应该是一篇文章吗?任何帮助都将不胜感激!注意:我不能有我的permalinks结构D11。佩尔墨克必须呆在D12 => 'index.php?name=$matches[1]&paged=$matches[2]',
'blog/([^/]+)/?([0-9]{1,})/?然后,我使用以下方法转换post permalinks:A8我是否遗漏了适当的重写以允许D9结构,或者这不可能,因为WP认为D10在这个结构中应该是一篇文章吗?任何帮助都将不胜感激!注意:我不能有我的permalinks结构D11。佩尔墨克必须呆在D12 => 'index.php?name=$matches[1]&paged=$matches[2]',
'blog/([^/]+)/comment-page-([0-9]{1,})/?然后,我使用以下方法转换post permalinks:A8我是否遗漏了适当的重写以允许D9结构,或者这不可能,因为WP认为D10在这个结构中应该是一篇文章吗?任何帮助都将不胜感激!注意:我不能有我的permalinks结构D11。佩尔墨克必须呆在D12 => 'index.php?name=$matches[1]&cpage=$matches[2]',
'blog/([^/]+)/(/[0-9]+)?/?然后,我使用以下方法转换post permalinks:A8我是否遗漏了适当的重写以允许D9结构,或者这不可能,因为WP认为D10在这个结构中应该是一篇文章吗?任何帮助都将不胜感激!注意:我不能有我的permalinks结构D11。佩尔墨克必须呆在D12 => 'index.php?name=$matches[1]&page=$matches[2]',
'blog/[^/]+/([^/]+)/?然后,我使用以下方法转换post permalinks:A8我是否遗漏了适当的重写以允许D9结构,或者这不可能,因为WP认为D10在这个结构中应该是一篇文章吗?任何帮助都将不胜感激!注意:我不能有我的permalinks结构D11。佩尔墨克必须呆在D12 => 'index.php?attachment=$matches[1]',
'blog/[^/]+/([^/]+)/trackback/?然后,我使用以下方法转换post permalinks:A8我是否遗漏了适当的重写以允许D9结构,或者这不可能,因为WP认为D10在这个结构中应该是一篇文章吗?任何帮助都将不胜感激!注意:我不能有我的permalinks结构D11。佩尔墨克必须呆在D12 => 'index.php?attachment=$matches[1]&tb=1',
'blog/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?然后,我使用以下方法转换post permalinks:A8我是否遗漏了适当的重写以允许D9结构,或者这不可能,因为WP认为D10在这个结构中应该是一篇文章吗?任何帮助都将不胜感激!注意:我不能有我的permalinks结构D11。佩尔墨克必须呆在D12 => 'index.php?attachment=$matches[1]&feed=$matches[2]',
'blog/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?然后,我使用以下方法转换post permalinks:A8我是否遗漏了适当的重写以允许D9结构,或者这不可能,因为WP认为D10在这个结构中应该是一篇文章吗?任何帮助都将不胜感激!注意:我不能有我的permalinks结构D11。佩尔墨克必须呆在D12 => 'index.php?attachment=$matches[1]&feed=$matches[2]',
'blog/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?然后,我使用以下方法转换post permalinks:A8我是否遗漏了适当的重写以允许D9结构,或者这不可能,因为WP认为D10在这个结构中应该是一篇文章吗?任何帮助都将不胜感激!注意:我不能有我的permalinks结构D11。佩尔墨克必须呆在D12 => 'index.php?attachment=$matches[1]&cpage=$matches[2]',
) + $wp_rewrite->rules;
}然后,我使用以下方法转换post permalinks:
A8
我是否遗漏了适当的重写以允许D9结构,或者这不可能,因为WP认为D10在这个结构中应该是一篇文章吗?任何帮助都将不胜感激!
注意:我不能有我的permalinks结构D11。佩尔墨克必须呆在D12
发布于 2020-07-14 03:46:58
如果还有人有这个问题(这篇文章很老了),我在这篇博文中找到了一个非常有用的片段:https://www.grzegorowski.com/wordpress-rewrite-rules
/**
* Reprioritise pagination over displaying custom post type content
*/
add_action('init', function() {
add_rewrite_rule('(.?.+?)/page/?([0-9]{1,})/?这将确保WP在post类型查询规则之前使用分页规则。, 'index.php?pagename=$matches[1]&paged=$matches[2]', 'top');
});这将确保WP在post类型查询规则之前使用分页规则。
https://wordpress.stackexchange.com/questions/309951
复制相似问题