admin管理员组

文章数量:1289582

Seriously, why 'with_front' => false does not work as it should be? It is supposed to remove TAXONOMY BASE NAME and my question is why it does not work?

I just dont want the taxonamy base slug appear in my URL and codex says 'with_front' => false should help but it does not. Leaving the slug empty like 'slug'=> '' generates 404 error.

register_taxonomy("tax_categories", array("products"), array(
    "hierarchical" => true,
    "label" => "Categories",
    "singular_label" => "Category",
    "show_ui" => true,
    'update_count_callback' => '_update_post_term_count',
    "rewrite" => array(     
        'with_front' => false,      
        'hierarchical' => true      
        )
    ));

This issue supposed to be fixed

Please help to understand that. Thank you.

Seriously, why 'with_front' => false does not work as it should be? It is supposed to remove TAXONOMY BASE NAME and my question is why it does not work?

I just dont want the taxonamy base slug appear in my URL and codex says 'with_front' => false should help but it does not. Leaving the slug empty like 'slug'=> '' generates 404 error.

register_taxonomy("tax_categories", array("products"), array(
    "hierarchical" => true,
    "label" => "Categories",
    "singular_label" => "Category",
    "show_ui" => true,
    'update_count_callback' => '_update_post_term_count',
    "rewrite" => array(     
        'with_front' => false,      
        'hierarchical' => true      
        )
    ));

This issue supposed to be fixed http://core.trac.wordpress/ticket/16807

Please help to understand that. Thank you.

Share Improve this question asked Sep 10, 2011 at 20:49 AlexAlex 3052 gold badges4 silver badges13 bronze badges 5
  • 3 Try and Go to your settings-->permalinks and click save, or flush the rewrite rules. – Wyck Commented Sep 11, 2011 at 2:27
  • 2 As Manny said, with_front does not remove the taxonomy base name. I assume you want to convert the link format from /tax-categories/banana/ to /banana/? There was a question about this (it's quite complicated), but I can't find it right now. – Jan Fabry Commented Sep 12, 2011 at 5:59
  • thats is exactly what is needed. – Alex Commented Sep 12, 2011 at 8:48
  • The problem is you sorta need the taxonomy name in there so that WordPress knows the next thing is the taxonomy term. The only way I know to do it is if you create a completely custom permalink. Do you know what you want your permalink to look like? – Manny Fleurmond Commented Sep 12, 2011 at 12:14
  • The other question @JanFabry refers to might be this one: wordpress.stackexchange/questions/21076/… – Tim Malone Commented Mar 8, 2018 at 3:29
Add a comment  | 

3 Answers 3

Reset to default 12

To remove the taxonomy base name, you can use:

'rewrite' => ['slug' => '/', 'with_front' => false]

However, this will make your (basic post type) posts go 404, if you have permalinks set to http://example/sample-post/. It seems you cannot have both custom taxonomy and posts reside in the root. Therefore you would go to Permalinks settings and set Custom structure , e.g. /blog/%postname%/.

One more note

A side effect is that your CPTs would have this "front", too, e.g. blog/products. This is where 'with_front' => false comes to play. It's designed to get you rid of the custom structure start. So in your product type registration, you would have:

register_post_type( 'products',  array(
           'rewrite' => array(
                'slug' => 'products',
                'with_front' => false
            ),
            /* ... */
));

All with_front does is toggle whether or not a taxonomy link can have something else in front of it ie extra permalink stuff from the permalinks options page. For example with_front set to true makes this possible:

blah/2011/09/tax/term

with it set to false, all you can do is:

blah/tax/term

Use the code below:

'rewrite' => array( 
    'slug'          => '.',
    'with_front'    => false 
),

Notice that when you rewrite the slug that the default page template is opened, when you go to the taxonomy page.

本文标签: custom post typesTaxonomy Why 39withfront39 gt false DOES NOT WORK