Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I have to customize single post permalink (the structure of the permalink) if posts have a certain value in a certain custom fields.

I use the filter post_link to change permalink when needed, and this works greatly (I mean, in front-end permalink are different when they should).

First question: in your opinion I have to use other filters to cover all cases of single post permalink customization?

Then I have added specific rule using add_rewrite_rule to interpret this new kind of structure, and here I face the problem.

As this permalink structure has the ID (with 0 at the beginning in order to reach 6 digit, ex. 008467) at the end, I notice that Wordpress redirects to a new url with this number - cast to an integer - repeated, for example:

from

/CATEGORYNAME/2013/04/22/POSTSLUG/008467/

to

/CATEGORYNAME/2013/04/22/POSTSLUG/008467/8467/

Do not worry about the structure before POSTSLUG, in fact the important thing is that if I remove the POSTID from the structure (008647) all works fine! For example, the following works:

/CATEGORYNAME/2013/04/22/POSTSLUG/

How is it possible?! It seems that Wordpress thinks that number is something different, like pagination or something similar.

This is the rule I have added (the regexp is correct, I have tried it with an online tester):

add_rewrite_rule(  
    '(.+?)/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/(.?.+?)/([0-9]{6})(/[0-9]+)?/?$',
    'index.php?pagename=$matches[5]&page=$matches[7]',
    'top');
share|improve this question
    
It's hard to diagnose this without seeing all of your code, but I'm guessing the issue is the fact that you're forcing the post id to be 6 digits. Is there any reason why you can't change that to ditch the leading zeros? –  Matthew Boynes May 23 '13 at 20:02
add comment

Know someone who can answer? Share a link to this question via email, Google+, Twitter, or Facebook.

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.