Szablony niestandardowe nie są wyświetlane w menu rozwijanym szablonów


23

Mam problemy z szablonami w Wordpress (wiele witryn). Utworzyłem plik w katalogu głównym mojego folderu motywu podrzędnego (template-test.php)

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

<?php get_header(); ?>

<?php get_footer(); ?>

Ten szablon nie pojawia się w menu szablonów podczas tworzenia nowej strony lub edytowania istniejącej strony. Jedyną rzeczą w menu jest „szablon domyślny”.

Co próbowałem do tej pory: - Wyłączanie i włączanie mojego motywu - Flash permalink - Sprawdź uprawnienia do moich plików - Sprawdź, czy style.css znajduje się w katalogu głównym folderu szablonów (jest)

Próbowałem tego samego pliku na innej instalacji Wordpress i tam działa dobrze.


Sprawdź, czy masz index.php w katalogu głównym motywu
Eugene

Mam ten sam problem i próbowałem wszystkiego, o czym wspomniałeś. Czy kiedykolwiek znalazłeś rozwiązanie?
wckronholm

W moim przypadku nawet nie widzę pliku w edytorze motywów. @Tom rozwiązałeś to?
Ofir Baruch

Odpowiedzi:


32

Tylko w Wordpress 4.9 jest ten błąd: https://core.trac.wordpress.org/ticket/42573 powodujący ponowne skanowanie plików szablonów tylko raz na godzinę.

Aby to naprawić (do czasu wydania nowej wersji WP z tą zmianą), pobierz łatkę na tym zgłoszeniu błędu i wprowadź zmiany z łatki na wp-includes/class-wp-theme.php.

Mam nadzieję, że to ocali kogoś 2 godziny, które zmarnowałem na to ..


3
Możesz również dodać ten kod do swoich funkcji.php lub dodać go jako wtyczkę, aby zatrzymać buforowanie zamiast edytować podstawowe pliki: gist.github.com/westonruter/6c2ca0e5a4da233bf4bd88a1871dd950
Bradley4

8
Innym prostym rozwiązaniem jest wybicie wersji motywu w pliku style.css, jak wskazał @ ocean90 na forum.
r1987

1
@ r1987 aktualizacja style.css działała!
Darye

Dla mnie plik style.css został uszkodzony, więc po prostu zaktualizuj plik i powinieneś być dobry
nodws


3

Upewnij się, że masz główny plik index.php. Motyw główny musi mieć plik index.php. Mam ten sam problem i tak właśnie było. Sprawdzony przez:

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

add_action('init', 'testate' );

2

Miałem również ten problem ze stroną w witrynie WordPress Multisite i mogłem go rozwiązać, wykonując następujące kroki:

  1. Przejdź do http://example.com/wp-admin/network/themes.php (zamień example.com na swój adres URL).
  2. Kliknij link „Edytuj” pod motywem, który powoduje problemy.
  3. Na prawym pasku bocznym kliknij nazwę pliku szablonu, który się nie wyświetla. Na przykład może powiedzieć „Szablon strony zdarzeń (template_events.php)”.
  4. Nie wprowadzaj żadnych zmian w pliku i kliknij niebieski przycisk „Aktualizuj plik”.
  5. Odśwież ekran edycji strony, na której próbujesz ustawić szablon, i powinien on być teraz wyświetlany w menu rozwijanym.

Jeśli to Ci nie pomoże, sugeruję sprawdzenie http://vanseodesign.com/wordpress/wp-page-templates-dropdown/ . Istnieje kilka innych możliwych rozwiązań.

Powodzenia.


1

Szablony można dezaktywować, odznaczając je od wp_themeszmiennej globalnej przed załadowaniem menu rozwijanego szablonu.

Uruchom ten kod na stronie, aby zobaczyć, jakie szablony się wyświetlają:

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

Jeśli szablon nie pojawi się, motyw nadrzędny mógł go usunąć z tablicy.

Może pojawić się, jeśli uruchomisz ten kod w interfejsie, ponieważ motyw nadrzędny może go rozbroić tylko podczas ładowania strony edytora administratora.

Pobierz motyw nadrzędny, wyszukaj pliki $wp_themesi wp_get_themes();znajdź lokalizację tego kodu.

Mam nadzieję, że dali ci sposób, aby zapobiec używaniu filtra, jeśli nie, być może będziesz musiał ponownie dodać pliki w motywie potomnym. Może to być pomocne: http://www.wpexplorer.com/wordpress-page-templates-plugin/



0

Czy przypadkowo przeniesiłeś lub usunąłeś plik style.css z katalogu głównego motywu?

Jeśli tak, to może być tak - ponownie utworzyć motyw style.css, aby ponownie włączyć menu rozwijane szablonu.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.