É possível ativar o modelo de página sem selecioná-lo manualmente no wp-admin?

Estou iniciando um novo tema do WordPress e me pergunto se é possível selecionar e ativar o modelo da página específica no código em vez de entrar no CMS e selecioná-lo manualmente no menu suspenso. Pergunto porque uma vez que eu lanço o tema, um monte de páginas não terá um modelo associado a eles até que eu o selecione manualmente e já tenho tráfego visitando meu site.

Solutions Collecting From Web of "É possível ativar o modelo de página sem selecioná-lo manualmente no wp-admin?"

Presumivelmente, você está usando wp_insert_post para criar suas páginas. Tendo feito isso, faça

update_post_meta($id, '_wp_page_template', 'my_template.php'); 

Opção 1 (a melhor opção):

Se você tem modelos de página diferentes para cada uma das páginas, você pode nomear os modelos com o formato de “página- {slug} .php” e o WordPress irá escolher esses, assumindo que um modelo de página diferente ainda não está atribuído.

Por exemplo: Para uma página About com a slug “about”, seu modelo de página seria chamado page-about.php para atribuir essa página automaticamente.

Veja a seção Página da Hierarquia do Modelo do WordPress para detalhes completos.

Opção 2 (uma opção válida se você tiver access ao database):

Se você vai usar um modelo de página específico para várias páginas ou não pode combinar os slugs com os nomes dos arquivos por algum motivo, você terá que fazer um pouco mais de trabalho.

Se você tiver access ao database, você pode executar o SQL para atualizá-los. Por exemplo, escreva uma linha como essa para cada página, substituindo o post_id e o meta_value conforme apropriado:

 UPDATE wp_postmeta SET meta_value = 'new-template.php' WHERE meta_key = '_wp_page_template' AND post_id = 1234; 

Você também pode remover todas as atribuições de modelos de página existentes com este SQL:

 DELETE * FROM wp_postmeta WHERE meta_key = '_wp_page_template'; 

Claro, certifique-se de fazer backup do seu site e database antes de prosseguir.