类别和年份的Wordpress URL
我是wordpress的新手,对URL和归档项目有疑问 基本上我有两类帖子:新闻和媒体报道 当您转到博客的“新闻项目”或“媒体报道”部分-(myblog.com/news item/)时,左侧导航中将生成一个菜单,其中包含每年在该类别中发表的文章。我希望用户能够点击其中一个链接,查看特定类别和年份的所有帖子 例如,url将导致类别和年份的Wordpress URL,wordpress,Wordpress,我是wordpress的新手,对URL和归档项目有疑问 基本上我有两类帖子:新闻和媒体报道 当您转到博客的“新闻项目”或“媒体报道”部分-(myblog.com/news item/)时,左侧导航中将生成一个菜单,其中包含每年在该类别中发表的文章。我希望用户能够点击其中一个链接,查看特定类别和年份的所有帖子 例如,url将导致 myblog.com/media-coverage/2006/ 从那以后,下一页将通向 myblog.com/media-coverage/2006/page/2/
myblog.com/media-coverage/2006/
从那以后,下一页将通向
myblog.com/media-coverage/2006/page/2/
然后,模板将如下所示:
query_posts('category_name=media-coverage&m=year');
if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="entry">
<?php the_content(); ?>
<?php edit_post_link('Edit this entry.', '<p>', '</p>'); ?>
</div>
<?php endwhile;
endif; ?>
而且它正是我想要的,我只是不能让它从url中提取日期,我不想为每年/类别组合编写模板。如何以我需要的方式制作wordpress过滤器链接
编辑:我当前已将永久链接设置为/%postname%/,不确定这是否有帮助。尝试以下操作:
register_activation_hook( __FILE__, 'flush_rewrite_rules' );
register_deactivation_hook( __FILE__, 'flush_rewrite_rules' );
function so7422487_add_rewrite_rules( $wp_rewrite ) {
$new_rules = array(
'(.+)/(.+)' => 'index.php?category_name='.$wp_rewrite->preg_index(1).'&year='.$wp_rewrite->preg_index(2) );
$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}
add_action('generate_rewrite_rules', 'so7422487_add_rewrite_rules');
我已将其保存为插件。您可以下载该文件并将其上载到您的插件目录
请告诉我进展如何。您可能会发现这需要使用.htaccess。另外,也有一些WordPress URL缩写插件可以帮助完成这项任务。我觉得这样做会奏效。我有一堆其他的页面,虽然它们显然使用了其他规则,但当我使用这个插件时,它们被破坏了。我最终只使用了split(“/”,$\u SERVER['REQUEST\u URI']);从url中提取“年”部分,并在我的查询中使用它。可能相当肮脏,但有时当你继承一个项目时,情况就是这样。。。我会继续,并将此标记为已解决。是否有办法修改此项,以便页面从/2013/到/2012到/2011/等等?
register_activation_hook( __FILE__, 'flush_rewrite_rules' );
register_deactivation_hook( __FILE__, 'flush_rewrite_rules' );
function so7422487_add_rewrite_rules( $wp_rewrite ) {
$new_rules = array(
'(.+)/(.+)' => 'index.php?category_name='.$wp_rewrite->preg_index(1).'&year='.$wp_rewrite->preg_index(2) );
$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}
add_action('generate_rewrite_rules', 'so7422487_add_rewrite_rules');