Estou tentando criar um tema que exigiria a inclusão de páginas específicas. Existe uma maneira de criar páginas automaticamente e atribuí-las aos seus modelos de página quando um tema é instalado?
theme-development
pages
installation
JonnyPlow
fonte
fonte
Respostas:
O link anterior está quebrado. :(
O caminho padrão é via
wp_insert_post
. Você obtém várias informações sobre o WP Codex: http://codex.wordpress.org/Function_Reference/wp_insert_postfonte
Eu tive uma situação semelhante em que eu precisava adicionar uma página à ativação do tema e configurá-la como página inicial automaticamente.
Aqui está como eu fiz isso:
Espero que isso ajude alguém.
Atualizar:
Obrigado Maruti Mohanty .
fonte
Isso é uma má prática. Os temas são para apresentação, são visuais, não devem ditar o conteúdo real. Se o fizerem, você está fazendo errado e seu código seria melhor como um plug-in.
No entanto, se seu tema tiver um arranjo de conteúdo 'pretendido', você não deve criar automaticamente as páginas / conteúdo, não deve se intrometer no conteúdo dos usuários, pois poderá estar quebrando outras coisas.
Em vez disso, permita que o usuário selecione quais páginas devem ser usadas, da mesma forma que as configurações permitem que você escolha uma página estática em vez das postagens mais recentes, e como plugins como Woocommerce ou Jigoshop permitem escolher qual página é a página de check-out, etc. plugins, não há problema em criar páginas dessa maneira).
De qualquer forma, isso indica uma falha fundamental na sua abordagem para criar o seu tema (ou você está criando algo para um cliente e decidiu facilitar a instalação, criando mais trabalho para você, ao passo que seria melhor oferecer instale você mesmo por uma taxa, o que seria mais lucrativo).
Você deve ser tolo o suficiente para realmente tentar de qualquer maneira ...
Consulte http://codex.wordpress.org/Function_Reference/wp_insert_post
Mas, você precisará verificar cada 'init' para ver se as páginas existem. Se eles não os criarem, e atualize uma opção em algum lugar para que você lembre que eles foram criados e não verifique na próxima vez, caso contrário, você terá mais páginas criadas a cada carregamento de página.
fonte
Usando o código nesta resposta e um
wp_insert_post
que encontrei neste tema .fonte