web-dev-qa-db-fra.com

Type de message personnalisé Permalink Page introuvable

J'ai perdu des heures et des heures à essayer de résoudre un problème de lien permanent avec des types de publication personnalisés. Il ne cesse de retourner la page introuvable (404). Quand j'utilise les permaliens par défaut, ça marche, mais quand je change en post-name, ça casse. J'ai essayé de changer le nom du slug, de réécrire le flush, de désactiver tous les plug-ins, un plug-in 'Custom Post Type Permalink' sans aucun gain.

Quelqu'un a des problèmes similaires? Je suis sur la dernière version 4.0.1 de WordPress et voici mon code de functions.php:

function authors_post_type() {
    $labels = array(
        'name'              => _x('Authors', 'post type general name'),
        'singular_name'     => _x('Author', 'post type singular name'),
        'add_new'           => _x('Add New', 'author'),
        'add_new_item'      => __('Add New Author'),
        'edit_item'         => __('Edit Author'),
        'new_item'          => __('New Author'),
        'all_items'         => __('All Authors'),
        'view_item'         => __('View Author'),
        'search_items'      => __('Search Authors'),
        'not_found'         => __('No authors found'),
        'menu_name'         => __('Authors')
    );
    $args = array(
        'labels'             => $labels,
        'public'             => true,
        'publicly_queryable' => true,
        'menu_position'     => 5,
        'show_ui'            => true,
        'show_in_menu'       => true,
        'query_var'          => true,
        'rewrite'            => array( 'slug' => 'authors' ),
        'capability_type'    => 'post',
        'has_archive'        => true,
        'hierarchical'       => true,
        'menu_position'      => null,
        'supports'           => array( 'title', 'editor', 'author', 'thumbnail' )
    );
    register_post_type('authors', $args);
}
add_action('init', 'authors_post_type');
4
Cory Van Note

Chaque fois que vous créez un nouveau type de message avec du code (les plugins le font automatiquement), vous devez reconstruire/mettre à jour votre lien permanent sur Paramètres - Lien permanent.

8
vol4ikman

Je l'ai cochée avec la création du type de message Authors Custom.

Je viens de changer le nom de post de la structure permalink par défaut et encore une fois par défaut, post nom.

Cela fonctionne bien.

vous pouvez l'essayer et laissez-moi savoir si vous êtes toujours confronté à ce problème.

0
Ankit Panchal

Vous pouvez mettre le code suivant dans @bainternet juste après la ligne register_post_type('authors', $args);. Les règles de réécriture seront effacées et vous aurez peut-être une solution.

/**
*   To Activate Custom Post Type Single page
*   @see http://en.bainternet.info/2011/custom-post-type-getting-404-on-permalinks
*/
$set = get_option('post_type_rules_flased_authors');
if ($set !== true){
   flush_rewrite_rules(false);
   update_option('post_type_rules_flased_authors',true);
}
0
Mayeenul Islam