Este posibil să schimbi URL-ul tipurilor de postări personalizate pentru a ascunde slug-ul tipului de postare?

11 ian. 2012, 12:36:50
Vizualizări: 27.6K
Voturi: 4

Aș dori să transform /{custom-post-type}/{post-name} în /{post-name}, este posibil acest lucru?

Dacă acest lucru nu este posibil, pot schimba etichetele/terminologia în Pagini sau Articole astfel încât să poată fi numite "Clienți" sau "Proiecte" etc?

0
Toate răspunsurile la întrebare 4
2
10

Trebuie să folosești opțiunea 'rewrite' în înregistrarea tipului de postare personalizată.

Exemplu: 'rewrite' => array('slug' => 'produse'),

Din codex

Când denumești un URL și totuși vrei să folosești o structură "curată" a URL-ului, trebuie să adaugi elementul "rewrite" în array. De exemplu, luând exemplul "ACME Widgets" de mai sus:

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

Codul de mai sus va rezulta într-un URL de genul http:/example.com/produse/%nume_produs% (vezi descrierea %nume_produs% mai sus.) Reține că am folosit forma de plural aici, care este un format preferat de unii oameni deoarece implică un URL mai logic pentru o pagină care include o listă de produse, adică http:/example.com/produse/.

De asemenea, reține că folosirea unui nume generic precum "produse" poate crea potențiale conflicte cu alte plugin-uri sau teme care folosesc același nume, însă majoritatea oamenilor ar prefera să evite URL-uri mai lungi și mai obscure precum http:/example.com/acme_produse/foobrozinator, iar rezolvarea conflictului de URL între două plugin-uri este mai ușoară simplu pentru că structura URL-ului nu este stocată persistent în fiecare înregistrare a postării în baza de date în același mod în care sunt stocate numele tipurilor de postări personalizate.

11 ian. 2012 12:47:09
Comentarii

Cred că ai înțeles greșit, eu vreau ca postările să aibă URL-uri curate, dar nu vreau să folosesc un slug pentru tipul de postare (metoda pe care ai citat-o din codex).

Tom Tom
11 ian. 2012 13:20:21

Mulțumesc - a funcționat pentru mine!

michaelmcgurk michaelmcgurk
31 iul. 2019 12:14:29
1
'rewrite' => array('slug' => '/', 'with_front' => false)

Acest lucru va forma corect URL-ul pentru tine, dar va returna eroarea 404 dacă nu îl gestionezi în tema ta.

6 sept. 2012 18:09:43
Comentarii

Adevărat despre eroarea 404, dar așa cum menționează @Subhankar Adhikary, salvarea din nou a permalinkurilor o rezolvă

Fanky Fanky
5 mai 2020 14:54:27
1

Tocmai am modificat un slug pentru un tip de postare personalizat (în acest caz, l-am schimbat din "best-practices" în "bestpractices"). Am copiat inițial un cod care avea slug-ul gol, astfel:

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

Deoarece inițial a fost lăsat gol, WordPress a folosit pur și simplu numele tipului de postare personalizat ("best-practices") ca slug. Am modificat linia de cod în

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

Voiam doar să menționez aici că va trebui să resetați permalink-urile pentru ca modificarea să intre în vigoare, dacă schimbați slug-urile pentru tipuri de postări personalizate existente.

3 feb. 2012 16:01:02
Comentarii

MULȚUMESC! Tocmai am petrecut o oră încercând să înțeleg de ce permalink-urile mele nu se actualizau. Nu mi-am dat seama că trebuie să intri în panoul de administrare și să "Salvezi" din nou structura permalink-urilor.

Nathan J.B. Nathan J.B.
27 aug. 2014 09:17:01
1

da, putem schimba slug-ul. Urmează pașii:

Pasul 1: Schimbă denumirea slug-ului din opțiunea "rewrite". (se găsește în Theme Functions (functions.php))

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

Pasul 2: Resetează legătura permanentă. Altfel, va apărea eroarea 404. 1> accesează panoul de control wp. 2> Setări --> Legături permanente

În secțiunea de setări comune--- 1. schimbă setarea la "simplu" și salvează. După aceea, schimbă din nou setarea în formatul preferat de tine.

21 apr. 2018 13:55:18
Comentarii

Este suficient să dai clic pe butonul de salvare în secțiunea permalinkuri, cred că nu este nevoie de alte modificări.

Fanky Fanky
5 mai 2020 14:56:32