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 use WordPress as a CMS.

I need to show page instead of category when they have same slug.

  • I have category called "vertical machining centers" with the slug "vertical-machining-centers"

This category is ranking in the second page in google and I want to optimize more. So I create a page..

So as you see the page and the category have the same slug.

When I write www.xx.com/vertical-machining-centers , the category page is opening, I also check with it monkeyman-rewrite-analyzer it shows that category slug is higher rank.

I need to make wordpress to show the page instead of category when they have the same slug.

Is there any plugin or any way to do that without writing code.

Thanks....

share|improve this question
add comment

1 Answer

You will need to enable verbose page rules, which make sure that all pages are explicitly defined (instead of using a generic rule). But in addition to that, you need to move these page rules above the taxonomy rules. This is a fairly recent change, I believe it was between 3.0 and 3.1.

I explain how to do this in this answer to a very related question. Together, it is this code:

add_action( 'init', 'wpse16902_init' );
function wpse16902_init() {
    $GLOBALS['wp_rewrite']->use_verbose_page_rules = true;
}

add_filter( 'page_rewrite_rules', 'wpse16902_collect_page_rewrite_rules' );
function wpse16902_collect_page_rewrite_rules( $page_rewrite_rules )
{
    $GLOBALS['wpse16902_page_rewrite_rules'] = $page_rewrite_rules;
    return array();
}

add_filter( 'rewrite_rules_array', 'wspe16902_prepend_page_rewrite_rules' );
function wspe16902_prepend_page_rewrite_rules( $rewrite_rules )
{
    return $GLOBALS['wpse16902_page_rewrite_rules'] + $rewrite_rules;
}
share|improve this answer
    
JAn , Thank you for your answer. I will try it tomorrow on a live site. Is there any plugin that can change the order page or taxonomy rules. what do you mean "enable verbose page rules, which make sure that all pages are explicitly defined (instead of using a generic rule)." What is explicitly defined page? our pages are add using admin panel with no coding. –  shanboyd Jul 10 '11 at 17:57
    
The code in my answer switches the page and taxonomy rules, so you can use that. It also enables verbose page rules, which are a bit hard to explain in a comment, maybe you can find another question on this site that explains them (or create a new question for it, it's an interesting one). –  Jan Fabry Jul 10 '11 at 20:28
    
thanks, is there any plugin that can do what you do???? –  shanboyd Jul 11 '11 at 16:10
add comment

Your Answer

 
discard

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.