Reindirizzamento del rewrite del Custom Post Type alla homepage
Ho registrato un custom post type chiamato employees
. Durante la registrazione di questo custom post type ho utilizzato:
...
'rewrite' => array('slug' => 'people'),
...
Ora, quando passo il mouse su un link che punta a uno dei miei dipendenti, vedo l'URL così:
www.example.com/people/john
Sembra corretto. Ma quando clicco sul link, vedo Chrome navigare verso www.example.com/john
e poiché non esiste, si reindirizza a www.example.com
(la homepage).
Come posso fare in modo che navighi verso /people/john
ed evitare il reindirizzamento alla homepage?

Gli argomenti più importanti per i reindirizzi rewrite quando si registra un nuovo tipo di post sono:
- 'public' => true,
- 'publicly_queryable' => true,
- 'query_var' => true,
Ho incollato di seguito del codice che ho testato e funziona bene per l'URL: www.example.com/people/john
$labels_employee =
array('name' => _x( 'Dipendenti', 'Nome generale del tipo di post', 'textdomain' ),
'singular_name' => _x( 'Dipendente', 'Nome singolare del tipo di post', 'textdomain' ),
'menu_name' => _x( 'Dipendenti', 'Testo del menu Admin', 'textdomain' ),
'name_admin_bar' => _x( 'Dipendente', 'Aggiungi nuovo sulla Toolbar', 'textdomain' ),
'add_new' => __( 'Aggiungi nuovo', 'textdomain' ),
'add_new_item' => __( 'Aggiungi nuovo dipendente', 'textdomain' ),
'new_item' => __( 'Nuovo dipendente', '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 );

Ho avuto lo stesso problema, il link della tassonomia personalizzata veniva reindirizzato alla pagina index.
Ok, quando registri una tassonomia personalizzata, assicurati che il codice register_taxonomy venga eseguito sempre (hook init) e non solo in 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);
}
