Wi在自定义页面模板上有自定义页面应该列出用户帖子,这可行,但我有查询arg应该在已发布和未发布(草稿)帖子之间进行过滤。除此之外,它应该有分页,所以它每页只显示10个帖子。
如果我想列出所有帖子并转到第二页,则存在问题。
为了能够通过过滤器进行浏览并进行分页,我已经进行了自定义重写并且它可以正常工作,但是没有过滤器分页只会给出第一页。
为了更好地理解这是如何运作的。
mywebsite.com/my-posts/
< ----这是有效的
mywebsite.com/my-posts/published/
< ----这是有效的
mywebsite.com/my-posts/published/page/2
< ----这是有效的
mywebsite.com/my-posts/page/2
< ----这不起作用
没有漂亮的永久链接结构就像这样
mywebsite.com/?page_id=23
mywebsite.com/?page_id=23&filter=published
mywebsite.com/?page_id=23&filter=published&paged=2
mywebsite.com/?page_id=23&paged=2
现在,如果我不使用漂亮的固定链接,它可以工作,但我想要重写的东西,我无法弄清楚。
function custom_rewrite_rule() {
add_rewrite_tag('%filter%', '([^&]+)');
// add_rewrite_rule(get_post_field( 'post_name', get_theme_option('user_link') ) . '/([^/]+)/page/([0-9]{1,})/?','index.php?page_id='. get_theme_option('user_link') .'&user=$matches[1]&paged=$matches[2]','top');
// add_rewrite_rule(get_post_field( 'post_name', get_theme_option('user_link') ) . '/([^/]+)/?','index.php?page_id='. get_theme_option('user_link') .'&user=$matches[1]','top');
// add_rewrite_tag('%user%', '([^&]+)');
add_rewrite_rule(get_post_field( 'post_name', get_theme_option('myprofile_page') ) . '/([^/]+)/?','index.php?page_id='. get_theme_option('myprofile_page') .'&filter=$matches[1]','top');
add_rewrite_rule(get_post_field( 'post_name', get_theme_option('myprofile_page') ) . '/([^/]+)/page/([0-9]{1,})/?','index.php?page_id='. get_theme_option('myprofile_page') .'&filter=$matches[1]&paged=$matches[2]','bottom');
add_rewrite_rule(get_post_field( 'post_name', get_theme_option('myprofile_page') ) . '/page/([0-9]{1,})/?','index.php?page_id='. get_theme_option('myprofile_page') .'&paged=$matches[1]','bottom');
}
add_action('init', 'custom_rewrite_rule', 10, 0);
function custom_query_vars( $vars ) {
array_push($vars, 'filter');
return $vars;
}
add_filter( 'query_vars', 'custom_query_vars' );
我知道paged
filter
与scene.getStylesheets().add("Package Name/Viper.css"));
互相干扰,但这是我尝试的最后一个解决方案,但它无效。