2

I have a custom post type registered called employees. When registering this custom post type I used:

...
'rewrite' => array('slug' => 'people'),
...

Now, when I hover over a link to one of my employees I see the url as this:

www.example.com/people/john

So that seems correct. But I click the link, I see Chrome navigate to just www.example.com/john and then that doesn't exist so it redirects to www.example.com (the homepage).

How do I make it navigate to /people/john and stop it from redirecting to the homepage?

5

The most important args for rewrite redirects when registering new post type are:

  • 'public' => true,
  • 'publicly_queryable' => true,
  • 'query_var' => true,

I have pasted some code below which I have tested and it working fine for the url : www.example.com/people/john

$labels_employee = 
array('name' => _x( 'Employees', 'Post typegeneral name', 'textdomain' ),
'singular_name' => _x( 'Employee', 'Post type singular name', 'textdomain' ),
'menu_name' => _x( 'Employees', 'Admin Menu text', 'textdomain' ),
'name_admin_bar' => _x( 'Employee', 'Add New on Toolbar', 'textdomain' ),
'add_new' => __( 'Add New', 'textdomain' ),
'add_new_item' => __( 'Add New Employee', 'textdomain' ),
'new_item' => __( 'New Employee', 'textdomain' ),

$args_employee= array( 'labels' => $labels_employee, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'people' ), 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => false, 'menu_position' => null, 'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments' ), );

register_post_type( 'employee', $args_employee );
  • 1
    Thank you for your help. The problem was definitely public_queryable. I had it to false and that ended up redirecting traffic. Thank you, – Jake Wilson Aug 24 '16 at 16:51
  • Problem for me was public_queryable as well. Thanks! – Gavin Apr 10 '17 at 11:45
1

if you have register your taxo with register_post_type('employees',$args);

have you create single-employees.php ?

and after in administration / Setting / Permalinks -> Save Changes

  • 1
    Re-saving permalinks solved it for me. Thanks – fanta Dec 7 '16 at 16:39
0

I had the same issue, custom taxonomy link was redirecting to index.

Ok, when register a custom taxonomy, make sure that the register_taxonomy code runs always (init hook) and not only on admin (admin_init)

add_action('init', 'woobr_register_settings');
function woobr_register_settings()
{
    $args = array(
        //'labels' => $labels,
        //'labels' => 'Brand',
        'public' => true,
        'publicly_queryable' => true,
        'show_ui' => true,
        'show_in_menu' => true,
        'query_var' => true,
        'capability_type' => 'product',
        'has_archive' => true,
        'hierarchical' => false,
        'menu_position' => null,
        'supports' => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments'),

    );

    register_taxonomy('woobrand', 'product', $args); 
}
  • This is a good point. Can you give a code example of how to achieve that? – MikeNGarrett Apr 3 '19 at 2:01
  • 1
    Added just now. – Nikos Apr 3 '19 at 21:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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