Eu tenho um tipo de post personalizado de portfólio (portfólio de lesmas) no meu tema e tudo está funcionando bem, exceto uma coisa. Quando as pessoas criam uma página com um monte de portfólio, por exemplo: exemplo.com/portfolio, o tema pensa que estou querendo usar a página de arquivo personalizada do tipo de postagem, não a minha página criada no editor.
De alguma forma, posso "reservar" o portfólio de lesmas quando as páginas são salvas para garantir que nunca sejam usadas, talvez renomeadas para página de portfólio?
Meu projeto usa os métodos descritos neste tutorial, eis o conflito ao qual estou me referindo:
"Além de precisar corrigir o código, há outra captura aqui: você não pode chamar a slug de sua página da mesma maneira que a slug de tipo de postagem personalizada. Pense na slug de tipo de postagem personalizada como uma palavra-chave reservada; no entanto, você pode criar o título da sua página com o mesmo nome que a sua lesma de tipo de postagem personalizada, desde que a lesma da sua página seja algo diferente ". - http://wp.tutsplus.com/tutorials/custom-post-type-pagination-chaining-method/
Obrigado por qualquer conselho!
fonte
Respostas:
Os 2 filtros a seguir permitem conectar quando o WordPress verifica a lesma e são encontrados na função wp_unique_post_slug () no arquivo wp-includes / post.php.
Existem 2 filtros, um para postagens hierárquicas e outro para não hierárquicos. O filtro hierárquico fornece o ID para o pai da postagem, portanto, se o $ post_parent for 0, você saberá que essa é uma postagem "base".
Os filtros também passam o $ post_type se você deseja adicionar tipos de postagem específicos à sua lógica.
Ao retornar "true", você está dizendo ao WordPress que essa lesma é ruim, então o WordPress adiciona um sufixo, assim como faria se você estivesse tentando usar um nome / lesma de postagem que já foi usado.
fonte
Crie uma página com um slug de 'portfólio' e torne-a 'Privada'. Ele ficará escondido do público ao reservar a lesma para uso posterior.
fonte
Me deparei exatamente com esse problema ao investigar um problema de paginação. Temos uma página inicial de Notícias (slug "news") e a paginação falhou ... tentativas de acessar / news / page / 2 / sempre resultavam em '404 - Não encontrado'.
O problema acabou sendo que nosso tipo personalizado de Notícias também recebeu a "notícia" lesma. Alterando o último (por exemplo, para "news_archive"), o problema foi corrigido. Isso deixou inalteradas as referências originais do URL de notícias. Alterar a lesma da página inicial do News também funcionou, mas todos os URLS incorporariam a lesma alterada.
fonte