✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Adicione uma configuração de link permanente personalizado para seu tipo de postagem personalizado no WordPress

4

Este é um tutorial sobre como adicionar uma configuração personalizada à página de administração do WordPress "Configurações > Permalinks" para definir o slug para seu tipo de postagem personalizado. Se você estiver desenvolvendo um tema ou plug-in para outros que tenham um tipo de postagem personalizado integrado, adicionar essa configuração será apreciado pelo usuário por permitir que eles decidam a estrutura de URL do tipo de postagem personalizada.

Não vou detalhar como adicionar um tipo de postagem personalizado; se você não tiver certeza, recomendo dar uma olhada em como adicionar um tipo de postagem personalizado.

Suponha que você tenha um código para registrar seu tipo de postagem personalizado como este:

A parte que nos interessa é o rewriteargumento. É aqui que definimos qual slug o tipo de postagem receberá na frente de todas as postagens. Seu código para registrar um tipo de postagem personalizado pode ser um pouco diferente, por exemplo, sem ‘ with_front‘, mas o que nos interessa aqui é ‘ slug‘:

Com este código você está praticamente codificando qual será o slug de permalink das postagens. Um tipo de postagem para referências pode ser usado para vários tipos de usuários de conteúdo e tema; por exemplo, projeto, portfólio, referências de clientes, referências de empresas etc. Para tornar seu tema flexível, você pode permitir que o usuário do tema decida o tipo de postagem por conta própria.

Então vamos dar uma olhada em como fazer isso!

Adicionando e salvando o campo

Usar a API de configurações do WordPress simplifica um pouco isso para nós. Tudo o que precisamos é adicionar um campo de configurações e informar ao WordPress em qual página de administração queremos que ele seja exibido – no nosso caso, a página de configurações de permalinks. Tenha em mente que precisamos escrever uma função que realmente salve o valor também, o que faremos no final.

Conectamos nossa função ao admin_initgancho e registramos nossa configuração. Quando registramos uma configuração, definimos qual função ela deve executar para gerar a configuração:

add_action('admin_init', function() { add_settings_field('mytheme_reference_slug', __('References base', 'txtdomain'), 'mytest_reference_slug_output', 'permalink', 'optional'); });

Definir o argumento quatro de [add_settings_field](https://developer.wordpress.org/reference/functions/add_settings_field/)()para 'permalink'diz ao WordPress para adicionar a configuração à página de configurações de links permanentes. O argumento número três é a função que o WordPress deve executar ao gerar a configuração – uma função que definimos a seguir (fora da função hooked):

Nesta função nós simplesmente produzimos um texto de formulário básico <input>. Para seu valueatributo, buscamos o valor da configuração usando [get_option](https://developer.wordpress.org/reference/functions/get_option/)(). O placeholderatributo é opcional, mas é uma boa prática colocar em sua base de slug padrão para que o usuário do tema saiba se deseja alterar seu valor ou não.

Se você salvar seu código e acessar sua página de links permanentes do WordPress agora, deverá ver seu campo no final:

Adicione uma configuração de link permanente personalizado para seu tipo de postagem personalizado no WordPress

No momento a configuração não está salvando seu valor, esse é o próximo passo.

Precisamos adicionar outra função vinculada a admin_initque verifique se nossa configuração foi ou não enviada no formulário de estrutura de link permanente. E se assim for, ele deve ser salvo com [update_option](https://developer.wordpress.org/reference/functions/update_option/)().

add_action('admin_init', function() { if (isset($_POST['permalink_structure'])) { update_option('mytheme_reference_slug', trim($_POST['mytheme_reference_slug'])); } });

Ao salvar as configurações de Permalinks, um formulário é enviado, para que possamos obter os valores através da $_POSTvariável global do PHP. Os valores enviados do formulário são armazenados como uma matriz com os atributos de nome da entrada como chaves. No nosso caso, definimos um atributo name ‘ mytheme_reference_slug‘ em nossa entrada, para que possamos acessar o valor enviado com $_POST['mytheme_reference_slug'].

Agora, a configuração deve estar funcionando totalmente na página Configurações do Permalink. A parte final é anexar o valor dessa configuração ao nosso tipo de postagem personalizado.

Fazendo nosso tipo de postagem personalizado usar nossa configuração

Para fazer com que nosso tipo de postagem personalizado use o valor personalizado de nossa configuração, retornamos à register_post_type()chamada da função e modificamos o rewriteargumento para algo assim:

Tudo o que fazemos aqui é buscar o valor de nossa nova opção. Se estiver vazio, o padrão ('reference') será usado.

E é isso! Agora, seu tipo de postagem personalizado usará qualquer base de slug definida na página de configurações de links permanentes. Você pode adicionar mais configurações da mesma maneira, por exemplo, para taxonomias personalizadas.

O código completo

Todos juntos agora.

Fonte de gravação: awhitepixel.com

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação