Anteprima del custom post type non funzionante

29 set 2015, 18:32:23
Visualizzazioni: 4.31K
Voti: 1

Ho un problema con l'anteprima dei post in stato "bozza" per un custom post type che reindirizza alla home page del sito quando i pretty permalinks sono attivati.

Ad esempio, creo un nuovo "Progetto", lo salvo come bozza e faccio clic su anteprima. La finestra di anteprima si apre sulla home page del sito.

Funziona correttamente se imposto i permalink del sito su 'default'.

Questo è il codice con cui registro il post type. Come indicato nella nota nella sezione 'publicly_queryable' della pagina codex di register_post_type, ho sperimentato diverse impostazioni per 'query_var' (true / false / 'projects') ma nessuna ha fatto differenza. Ho anche provato a modificare l'argomento rewrite e/o rimuoverlo completamente. Niente da fare. Grazie per qualsiasi aiuto!

AGGIORNAMENTO: Ho confermato che questo funzionava in precedenza e si è rotto con un recente aggiornamento. Suppongo sia stato l'aggiornamento alla versione 4.2.2 menzionato nella sezione 'publicly_queryable' della pagina codex di register_post_type, ma nessuno se n'è accorto fino ad ora.

// Progetto
$labels = array(
    'name'                => 'Progetti',
    'singular_name'       => 'Progetto',
    'menu_name'           => 'Progetti',
    'parent_item_colon'   => 'Progetto genitore:',
    'all_items'           => 'Tutti i progetti',
    'view_item'           => 'Visualizza progetto',
    'add_new_item'        => 'Aggiungi nuovo progetto',
    'add_new'             => 'Aggiungi nuovo',
    'edit_item'           => 'Modifica progetto',
    'update_item'         => 'Aggiorna progetto',
    'search_items'        => 'Cerca progetto',
    'not_found'           => 'Non trovato',
    'not_found_in_trash'  => 'Non trovato nel cestino',
);
$rewrite = array(
    'slug'               => 'projects',
    'with_front'         => true,
    'hierarchical'       => true,
);
$args = array(
    'label'               => 'Progetto',
    'description'         => 'Progetti individuali',
    'labels'              => $labels,
    'supports'            => array( 'title', 'editor', 'revisions', 'author'),
    'taxonomies'          => array( 'project_categories', 'project_sponsors' ),
    'hierarchical'        => false,
    'public'              => true,
    'show_ui'             => true,
    'show_in_menu'        => true,
    'show_in_nav_menus'   => true,
    'show_in_admin_bar'   => true,
    'menu_position'       => 20,
    'menu_icon'           => 'dashicons-clipboard',
    'can_export'          => true,
    'has_archive'         => true,
    'exclude_from_search' => false,
    'publicly_queryable'  => true,
    'capability_type'     => 'page',
    'rewrite'             => $rewrite,
    'query_var'           => 'projects',
);
register_post_type( 'projects', $args );
3
Commenti

Hai salvato i tuoi permalink da quando hai creato il tuo post type? Riesci a visualizzarlo correttamente sul front-end senza problemi?

Howdy_McGee Howdy_McGee
29 set 2015 18:34:35

Sì, ho ripetutamente salvato i permalink dopo ogni modifica al CPT. La visualizzazione normale del CPT ha sempre funzionato bene, è solo l'anteprima degli articoli in stato Bozza che non funziona. Una volta pubblicati, l'anteprima funziona. Ma i miei autori vogliono poter vedere l'anteprima prima di pubblicare. :)

Michelle Michelle
29 set 2015 18:38:27

Ho usato il tuo codice così com'è. Funzionava bene in WordPress 4.3.1. Potresti confermare la tua versione di WP? Inoltre, se stai registrando questo post type in un plugin, potresti considerare 'Flushing Rewrite On Activation' invece del flush manuale dei permalink.

Prasad Nevase Prasad Nevase
30 set 2015 05:51:39
Tutte le risposte alla domanda 1
0

Il codice che hai fornito funziona come previsto su un'installazione fresca di WordPress (in questo caso la versione 4.3.1). Le idee seguenti non dovrebbero essere considerate una risposta, quanto piuttosto una lista di controllo per aiutare nel debug del problema restringendo l'ambito del problema:

  1. Dovrai essere loggato come un utente con i permessi per visualizzare le bozze per evitare un errore 404 o un reindirizzamento.

  2. Prova a disabilitare i tuoi plugin uno per uno per verificare se uno di essi ha stabilito una regola di riscrittura in conflitto.

  3. Controlla la configurazione del tuo server web (come .htaccess su Apache) per vedere se ci sono delle regole di reindirizzamento presenti.

  4. Infine, considera di passare temporaneamente a un altro tema e aggiungere il tuo tipo di post personalizzato lì per vedere se ottieni gli stessi risultati. Se un nuovo tema risolve il problema con il tuo codice, forse i conflitti sono tutti all'interno del tuo tema attuale.

29 set 2015 20:49:09