web-dev-qa-db-fra.com

Le type de message personnalisé permalien indique une mauvaise page: homepage/index.php

Bonjour, je travaille sur un projet pour lequel j'ai besoin de types de publication personnalisés. La création des types de publication et leur affichage dans le menu de mon administrateur constituaient une promenade dans le parc utilisant les éléments suivants:

add_action( 'init', 'create_post_type' );

function create_post_type() {
    register_post_type( 'Portfolio',
        array(
            'supports' => array('title', 'editor', 'thumbnail','excerpt'), 
            'labels' => array(
                'name' => __( 'Portfolio' ),
                'singular_name' => __( 'Portfolio' ),
                            ),
        'taxonomies' => array('category', 'post_tag'), 
        'public' => true,
        'has_archive' => true,
        )
    );

J'ai créé un certain nombre de messages personnalisés et chacun d'entre eux obtient son propre lien perma.

http://www.mydomain.com/subdomain/?p=123

Résultant en

http://www.mydomain.com/subdomain/?custom-post-type=post-title

Cependant, chaque fois que je visualise ce lien permanent , il charge mon fichier index.php à la place. de la poste personnalisée appartenant à ce lien. Le même comportement se produit lorsque j'essaie de charger http://www.mydomain.com/subdomain/custom-post-type pour accéder à la page archive : il charge mon fichier index.php .

J'ai déjà essayé ce qui suit:

  • Visiter le paramètre permalien dans wordpress
  • Suppression de toutes les pages avec une largeur de lecture commune à mes pages personnalisées
  • Suppression de toutes les catégories avec un nom commun avec mes pages personnalisées

pistes:

  • Je n'ai aucune taxonomie personnalisée pour autant que je sache. Donc je n'en ai pas enregistré. Je n'ai qu'une boîte à méta personnalisée avec des boutons radio enregistrés dans la méta de post
  • J'ai appelé: require_once(ABSPATH .'wp-includes/pluggable.php'); pour résoudre un problème avec la méta de post

conclusion: j'ai fait tout cela sans succès. Je cherche une solution depuis plus d'un jour maintenant. Donc, je suppose qu'il est temps d'appeler les renforts. Quelqu'un at-il une idée de la façon de résoudre ce problème et de sauver ma journée? Merci d'avance!

1
user2676260

post_type doit être max. 20 caractères, ne peuvent pas contenir de majuscules ni d’espaces, dans la fonction register_post_type(); votre nom de type de message est mis en majuscule Portefeuille remplacez-le par des lettres plus basses portefeuille

ceci est mon extrait de type de message de registre, suivez-le

// add action register our post type portfolio
add_action( 'init', 'register_cpt_portfolio' );

// Register our Custom Post type as portfolio
function register_cpt_portfolio() {

    // labels text for our post type portfolio
    $labels = array(
        // post type general name
        'name' => __( 'Portfolio' ),
        // post type singular name
        'singular_name' => __( 'Portfolio Item' ),
        'add_new' => __( 'Add New Portfolio Item' ),
        'add_new_item' => __( 'Add New Portfolio Item' ),
        'edit_item' => __( 'Edit Portfolio Item' ),
        'new_item' => __( 'New Portfolio Item' ),
        'view_item' => __( 'View Portfolio Item' ),
        'search_items' => __( 'Search Portfolio Items' ),
        'not_found' =>  __( 'No Portfolio Items found' ),
        'not_found_in_trash' => __( 'No Portfolio Items found in Trash' ),
        'parent_item_colon' => '',
        'menu_name' => 'Portfolio'
    );

    $args = array(
        'labels' => $labels,
        'public' => true,
        'publicly_queryable' => true,
        'show_ui' => true,
        'query_var' => true,
        'capability_type' => 'post',
        'hierarchical' => false,
        'has_archive' => true,
        'menu_position' => 5,
        'supports' => array( 'title', 'editor', 'thumbnail', 'author', ),
        'rewrite' => array( 'slug' => 'portfolio-item', 'with_front' => false )
    );  
    register_post_type( 'portfolio' , $args );
}
1
Anjum