Modelos personalizados que não aparecem no menu suspenso do modelo


23

Eu tenho alguns problemas com modelos no Wordpress (multisite). Eu criei um arquivo na raiz da minha pasta de tema filho (template-test.php)

<?php
/**
* Template Name: Test template
*
*/
?> 

<?php get_header(); ?>

<?php get_footer(); ?>

Este modelo não aparece no menu suspenso ao criar uma nova página ou editar uma página existente. A única coisa no menu suspenso é o 'modelo padrão'.

O que eu tentei até agora: - Desativar e ativar meu tema - Liberar permalinks - Verificar permissões dos meus arquivos - Verifique se style.css está na raiz da pasta do modelo (é)

Eu tentei o mesmo arquivo em outra instalação do Wordpress, e lá funciona bem.


Verifique se você tem index.php na raiz do seu tema
Eugene

Estou com o mesmo problema e tentei de tudo que você mencionou. Você já conseguiu uma solução?
Wckronholm #

No meu caso, eu nem vejo o arquivo no Editor de temas. @ Tom você resolveu isso?
Ofir Baruch

Respostas:


32

Apenas no Wordpress 4.9, existe este bug: https://core.trac.wordpress.org/ticket/42573, fazendo com que os arquivos de modelo sejam redigitalizados apenas uma vez a cada hora.

Para corrigir (até que eles lançem uma nova versão do WP com essa alteração), faça o download do patch nesse ticket de bug e faça as alterações do patch para wp-includes/class-wp-theme.php.

Espero que isso poupe a alguém as 2 horas que perdi nisso ..


3
Você também pode adicionar este código ao seu functions.php ou adicioná-lo como um plugin para parar cache em vez de editar arquivos principais: gist.github.com/westonruter/6c2ca0e5a4da233bf4bd88a1871dd950
Bradley4

8
Outra solução simples é aumentar a versão do tema no arquivo style.css, como apontado por @ ocean90 no fórum.
r1987

1
@ r1987 a atualização style.css funcionou!
Darye

Para mim, o style.css era corrupto, então, basta atualizar o arquivo e você deve ser bom
nodws


3

Certifique-se de ter index.php no seu tema principal. O tema principal deve ter index.php. Eu tenho o mesmo problema, e esse foi o caso. Verificado por:

function testate(){
    global $wp_themes;
    $tema = wp_get_theme();
    echo '<pre>';
    print_r($tema);
    die;
}

add_action('init', 'testate' );

2

Eu também tive esse problema com um site no WordPress Multisite e consegui corrigi-lo seguindo estas etapas:

  1. Vá para http://example.com/wp-admin/network/themes.php (substitua example.com pelo seu URL).
  2. Clique no link "Editar" sob o tema que está causando problemas.
  3. Na barra lateral direita, clique no nome do arquivo de modelo que não está aparecendo. Por exemplo, pode dizer "Modelo da página de eventos (template_events.php)".
  4. Não faça edições no arquivo e clique no botão azul "Atualizar arquivo".
  5. Atualize a tela de edição da página em que você está tentando definir o modelo e ele deve ser exibido no menu suspenso.

Se isso não funcionar, sugiro verificar http://vanseodesign.com/wordpress/wp-page-templates-dropdown/ . Existem algumas outras soluções possíveis lá.

Boa sorte.


1

Os modelos podem ser desativados, desmarcando-os wp_themesda variável global antes que o menu suspenso seja carregado.

Execute este código na página para ver quais modelos são exibidos:

global $wp_themes;
$tema = wp_get_themes();
print_r($tema["child-theme folder name"]["Template Files"]);

Se o seu modelo não aparecer, o tema pai pode ter desmarcado a partir da matriz.

Pode aparecer, se você executar esse código no front-end, pois o tema pai poderá desmarcá-lo apenas durante o carregamento da página do editor de administração.

Faça o download do tema pai e pesquise nos arquivos $wp_themese wp_get_themes();encontre o local desse código.

Espero que eles tenham lhe dado uma maneira de impedir o uso de um filtro; caso contrário, talvez você precise adicionar novamente os arquivos no tema filho. Isso pode ser útil: http://www.wpexplorer.com/wordpress-page-templates-plugin/



0

Você moveu ou removeu acidentalmente o arquivo style.css da raiz do tema?

Nesse caso, pode ser isso - recrie os temas style.css para reativar o menu suspenso do modelo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.