web-dev-qa-db-fra.com

Est-il possible de changer l'URL des types de publication personnalisés pour masquer le slug de type de publication?

J'aimerais transformer/{custom-post-type}/{post-name} en/{post-name}, est-ce possible?

Si cela n’est pas possible, puis-je modifier les étiquettes/la terminologie dans Pages ou Posts afin qu’elles puissent s’appeler "Clients" ou "Projets", etc.?

4
Tom
'rewrite' => array('slug' => '/', 'with_front' => false)

Cela aura l'URL correctement formée pour vous, mais ce sera 404 à moins que vous ne le manipuliez dans votre thème.

8
Jared Chmielecki

Vous devez utiliser l'option 'rewrite' dans votre enregistrement de type de message personnalisé.

Par exemple. 'rewrite' => array('slug' => 'products'),

Du codex

Lorsque vous nommez une URL et que vous souhaitez toujours utiliser une structure d'URL "propre", vous devez ajouter l'élément " rewrite " au tableau. Par exemple, supposons que l'exemple "ACME Widgets" ci-dessus:

add_action( 'init', 'create_post_type' );
function create_post_type() {
  register_post_type( 'acme_product',
      array(
          'labels' => array(
              'name' => __( 'Products' ),
              'singular_name' => __( 'Product' )
          ),
          'public' => true,
          'has_archive' => true,
          'rewrite' => array('slug' => 'products')
      )
  );
}

Le résultat ci-dessus donnera une URL du type http: /example.com/products/%product_name% (voir la description de% product_name% ci-dessus.) Notez que nous avons utilisé ici une forme plurielle, format que certaines personnes préfèrent, car elle implique URL plus logique pour une page qui incorpore une liste de produits, par exemple http: /example.com/products/.

Notez également que l’utilisation d’un nom générique tel que "produits" peut potentiellement entrer en conflit avec d’autres plugins ou thèmes qui utilisent le même nom, mais la plupart des gens n’aimeraient pas les URL plus longues et plus obscures comme http: /example.com/acme_products/foobrozinator et la résolution du conflit d’URL. entre deux plug-ins est plus simple simplement parce que la structure de l'URL n'est pas stockée de manière persistante dans chaque enregistrement de publication de la base de données de la même manière que les noms de type de publication personnalisés sont stockés.

8
RagnaRock

Je viens de changer un slug pour un type de message personnalisé (dans ce cas, je l'ai changé de "best-practices" à "bestpractices"). J'avais copié du code contenant un slug vierge, comme ceci:

'rewrite' => array('slug' => ''),

Wordpress n'utilisait que le nom du type de publication personnalisé ("best-practices") comme slug. J'ai changé ma ligne de code en

'rewrite' => array('slug' => 'bestpractices'),

Je voulais simplement noter ici que vous devrez réinitialiser vos liens permanents pour que les modifications prennent effet si vous modifiez des slugs sur des types de publications préexistants personnalisés.

4
Keegan Berry

oui, nous pouvons changer la limace. S'il vous plaît suivez les étapes:

Étape 1: Modifiez le nom du slug à partir de l'option "réécrire". (situé à Theme Functions (functions.php))

'rewrite' => array ('slug' => 'products')

Étape 2: Réinitialisez le lien permanent. Sinon, l'erreur 404 sera générée. 1> goto wp tableau de bord. 2> Réglage -> Permaliens

Sous la section des paramètres communs --- 1ère le changer en clair et le sauvegarder. Après cela, modifiez à nouveau le paramètre comme format préféré.

0
Subhankar Adhikary