Reindirizzamento del rewrite del Custom Post Type alla homepage

24 ago 2016, 00:09:56
Visualizzazioni: 16.4K
Voti: 2

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?

0
Tutte le risposte alla domanda 3
2
14

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 );
24 ago 2016 01:08:58
Commenti

Grazie per il tuo aiuto. Il problema era sicuramente public_queryable. L'avevo impostato su false e questo ha finito per reindirizzare il traffico. Grazie,

Jake Wilson Jake Wilson
24 ago 2016 19:51:11

Anche per me il problema era public_queryable. Grazie!

Gavin Gavin
10 apr 2017 14:45:12
1

Se hai registrato la tua tassonomia con
register_post_type('employees',$args);

Hai creato il file single-employees.php?

E successivamente, in Amministrazione / Impostazioni / Permalink → Salva modifiche

24 ago 2016 00:18:17
Commenti

Risalvare i permalink ha risolto il problema per me. Grazie

fanta fanta
7 dic 2016 18:39:11
2

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); 
}
2 apr 2019 22:19:22
Commenti

Questo è un punto valido. Puoi fornire un esempio di codice su come ottenere questo risultato?

MikeNGarrett MikeNGarrett
3 apr 2019 05:01:33

Aggiunto proprio ora.

Nikos Nikos
4 apr 2019 00:09:58