É possível alterar o URL dos tipos de postagem personalizados para ocultar o slug do tipo de publicação?

Gostaria de ativar / {custom-post-type} / {post-name} para / {post-name}, isso é possível?

Se isso não for possível, posso alterar os labels / terminologia em Páginas ou Posts para que eles possam ser chamados de “Clientes” ou “Projetos”, etc.?

Solutions Collecting From Web of "É possível alterar o URL dos tipos de postagem personalizados para ocultar o slug do tipo de publicação?"

Você precisa usar a opção 'rewrite' no seu registro de tipo de postagem personalizado.

Por exemplo, 'rewrite' => array('slug' => 'products'),

Do códice

Quando você nomeia um URL e ainda quer usar uma estrutura de URL “limpa”, você precisa adicionar o elemento ” rewrite ” à matriz. Por exemplo, assumindo o exemplo “Widgets ACME” acima:

 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') ) ); } 

O acima resultará em uma URL como http: /example.com/products/%product_name% (veja a descrição de% product_name% acima). Observe que usamos um formulário plural aqui, que é um formato que algumas pessoas preferem porque implica um URL mais lógico para uma página que incorpora uma lista de produtos, ou seja, http: /example.com/products/.

Observe também que usar um nome genérico como “produtos” aqui pode potencialmente entrar em conflito com outros plugins ou temas que usam o mesmo nome, mas a maioria das pessoas não gosta de URLs mais longos e obscuros, como http: /example.com/acme_products/foobrozinator e resolvendo o conflito de URL entre dois plugins é mais fácil simplesmente porque a estrutura de URL não está armazenada persistentemente em cada registro de postagem no database da mesma maneira que os nomes de tipos de postagem personalizados são armazenados.

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

Isso obterá o URL corretamente formado para você, mas será 404, a menos que você lida com o tema.

Acabei de mudar uma lesão para um tipo de postagem personalizado (neste caso, eu mudei de "best-practices" para "bestpractices" ). Eu tinha copiado algum código que tinha uma lesma em branco, assim:

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

Uma vez que foi originalmente deixado em branco, o WordPress estava usando apenas o nome do tipo de postagem personalizado ( "best-practices" ) como o slug. Eu mudei minha linha de código para

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

Eu só queria observar aqui que você precisará redefinir seus permalinks para que a mudança entre em vigor, se você estiver alterando slugs em tipos de postagem personalizados pré-existentes.