Este posibil să schimbi URL-ul tipurilor de postări personalizate pentru a ascunde slug-ul tipului de postare?
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?
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.

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.

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.
