[wp-hackers] Date archive per category
Jeremy Clarke
jer-wphackers at simianuprising.com
Mon Nov 24 17:02:02 GMT 2008
On Sun, Nov 23, 2008 at 8:20 PM, Alex Hempton-Smith
<hempsworth at googlemail.com> wrote:
> Hi all,
>
> - At the moment you can visit: www.mydomain.com/2008/11/ and you will
> receive the "Archive for November, 2008".
> - You can also visit www.mydomain.com/category/news/ and you will receive
> the "Archive for the 'News' category".
> - I would like URL's like: www.mydomain.com/category/news/2008/11/ and
> receive the "Archive for the 'News' category from November, 2008".
>
> I think this method of being able to sort posts by category AND date would
> be a great addition for the core. Is this already possible somehow?
We have been doing this kind of archive for a long time now but pasing
in the raw url with the variables, like
site.com/index.php?cat=5&m=200810
This worked up until 2.5 when the canonical urls kicked in and started
forwarding those urls to just the category page. I think Mark Jaquith
patched core though so maybe those urls work now, but I think the more
you go into these special urls the more canonical urls will break
them, so you might want to consider turning off canonical urls for
some types, I did this for anything with a _GET value for "m" so that
i can have monthly archives for authors/cats etc. Here's the code in
case you need something similar:
// --------------------------------------------
// Filter redirect_canonical to disable it for ?m=
// --------------------------------------------
//
// End redirection any time there is a $m value in the url
// Passing FALSE to redirect_canonical filter ends redirection
// Needed for ?cat=x&m=y style urls to work. Otherwise you are
// forwarded to category without month.
// DISABLED: this turns off canonical redirection completely, which is
overkill. see above.
// remove_filter('template_redirect', 'redirect_canonical');
function gv_redirect_canonical($redirect_url) {
global $wp_query, $wp;
if ((int) $_GET['m']) return FALSE;
return $redirect_url;
} //gv_redirect_canonical()
add_filter('redirect_canonical', 'gv_redirect_canonical');
--
Jeremy Clarke
Code and Design | globalvoicesonline.org
More information about the wp-hackers
mailing list