Domanda

WordPress sta 404 a tutti i miei post di tipo post personalizzato. Ho perso un passo qui?

Sto usando quanto segue per impostare il mio CPT:

function custom_post_types() {  
  register_post_type(
    'creativework',
    array(
      'labels' => array(
        'name' => _x('Works', 'post type general name'),
        'singular_name' => _x('Work', 'post type singular name'),
        'add_new' => _x('Add New', 'Work'),
        'add_new_item' => __('Add New Work'),
        'edit_item' => __('Edit Work'),
        'new_item' => __('New Work'),
        'all_items' => __('All Works'),
        'view_item' => __('View Work'),
        'search_items' => __('Search Works'),
        'not_found' =>  __('No Works found'),
        'not_found_in_trash' => __('No Works found in Trash'), 
        'parent_item_colon' => '',
        'menu_name' => __('Works')
      ),
      'public' => true,
      'menu_position' => 5,
      //'rewrite' => array('slug' => 'work'),
      'supports' => array('title', 'editor', 'thumbnail'),
      'has_archive' => 'true'
    )
  );
}

add_action( 'init', 'custom_post_types' );

Inizialmente avevo un sottolineaggio nel tipo (creative_work), riscrivere la lumaca per essere solo "lavoro", ma non avevo idea di quale permutazione WordPress avrebbe usato per trovare il modello: ho provato i nomi dei file come single-creative_work.php, single-creativework.php, single-work.php, tutto sotto themes/roots/ (Stavo usando Radici come tema di base), con il contenuto:

<?php get_template_part('templates/content', 'work'); ?>

Ma themes/roots/templates/content-work.php non è mai stato visualizzato. Invece sembrava quello themes/roots/page.php è stato servito? Quando ho modificato manualmente page.php a get_template_part('templates/content', 'work') Come test, apparentemente usava il modello che volevo, ma poi aveva l'ID post o qualcosa di sbagliato in cui mostrava la home page per qualsiasi cosa sotto website.com/creativework/.

Nel tentativo di eliminare tutti i possibili conflitti, ho disattivato le radici a favore di ventittesimi e disabilitato tutti i plugin tranne uno, quello che ho scritto per impostare il CPT (codice in alto). Ora, ogni volta che colpisco website.com/creativework/ o website.com/creativework/post-title (Seguendo il permalink da "Visualizza lavoro" nell'editor dei post o nei risultati di ricerca), ottengo un 404 anziché la homepage, nonostante entrambi single-creativework.php e archive-creativework.php esistente sotto themes/twentythirteen.

MODIFICARE: website.com/?creativework=post-title, tuttavia, funziona.

Sono irrimediabilmente confuso da tutto questo. Qual è il modo corretto e infallibile per impostare un modello di tipo post personalizzato, passo-passo? Idealmente, voglio sapere come farlo nelle radici, ma per ora mi accontenterò di farlo funzionare.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top