Template khusus tidak muncul dalam dropdown template


23

Saya punya beberapa masalah dengan templat di Wordpress (multisite). Saya telah membuat file di root folder tema anak saya (template-test.php)

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

<?php get_header(); ?>

<?php get_footer(); ?>

Templat ini tidak muncul di dropdown templat saat membuat halaman baru, atau mengedit halaman yang ada. Satu-satunya hal di dropdown adalah 'template default'.

Apa yang saya coba sejauh ini: - Menonaktifkan dan mengaktifkan tema saya - Permalinks siram - Periksa izin file saya - Periksa apakah style.css berada di root folder templat (itu)

Saya sudah mencoba file yang sama pada instalasi Wordpress lain, dan itu berfungsi dengan baik.


Periksa apakah Anda memiliki index.php di root tema Anda
Eugene

Saya mengalami masalah yang sama dan mencoba semua yang Anda sebutkan. Apakah Anda pernah mendapat solusinya?
wckronholm

Dalam kasus saya, saya bahkan tidak melihat file di Theme Editor. @ Apakah Anda sudah memecahkannya?
Ofir Baruch

Jawaban:


32

Hanya di Wordpress 4.9 ada bug ini: https://core.trac.wordpress.org/ticket/42573 menyebabkan file template hanya akan dipindai ulang setiap jam sekali.

Untuk memperbaikinya (sampai mereka merilis versi WP baru dengan ini diubah), unduh tambalan pada tiket bug itu dan lakukan perubahan dari tambalan ke wp-includes/class-wp-theme.php.

Semoga ini menyelamatkan seseorang 2 jam saya terbuang untuk ini ..


3
Anda juga dapat menambahkan kode ini ke functions.php Anda atau menambahkannya sebagai plugin untuk menghentikan caching daripada mengedit file inti: gist.github.com/westonruter/6c2ca0e5a4da233bf4bd88a1871dd950
Bradley4

8
Solusi sederhana lain adalah dengan menabrak versi tema di file style.css seperti yang ditunjukkan oleh @ ocean90 di forum.
r1987

1
@ r1987 pembaruan style.css bekerja!
Darye

Bagi saya style.css rusak, jadi perbarui saja file dan Anda pasti baik
nodws


3

Pastikan Anda memiliki index.php di tema utama Anda. Tema utama harus memiliki index.php. Saya memiliki masalah yang sama, dan inilah masalahnya. Diperiksa oleh:

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

add_action('init', 'testate' );

2

Saya juga punya masalah dengan situs di WordPress Multisite dan dapat memperbaikinya dengan mengikuti langkah-langkah ini:

  1. Buka http://example.com/wp-admin/network/themes.php (ganti example.com dengan URL Anda).
  2. Klik tautan "Edit" di bawah tema yang menyebabkan Anda mengalami masalah.
  3. Di bilah sisi kanan klik nama file templat yang tidak muncul. Sebagai contoh, ia mungkin mengatakan "Templat Halaman Acara (template_events.php)".
  4. Jangan mengedit file dan klik tombol "Perbarui File" berwarna biru.
  5. Refresh layar edit halaman tempat Anda mencoba mengatur template dan sekarang akan ditampilkan di dropdown.

Jika ini tidak melakukan trik untuk Anda, saya sarankan memeriksa http://vanseodesign.com/wordpress/wp-page-templates-dropdown/ . Ada beberapa kemungkinan solusi lain di sana.

Semoga berhasil.


1

Templat dapat dinonaktifkan dengan membatalkan pengaturannya dari wp_themesvariabel global sebelum dropdown templat dimuat.

Jalankan kode ini pada halaman untuk melihat template apa yang muncul:

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

Jika templat Anda tidak muncul, tema induk mungkin belum disetel dari larik.

Mungkin muncul, jika Anda menjalankan kode ini di front-end, karena tema induk mungkin hanya menghapusnya saat memuat halaman editor admin.

Unduh tema induk dan cari file untuk $wp_themesdan wp_get_themes();menemukan lokasi kode itu.

Semoga mereka telah memberi Anda cara untuk mencegahnya menggunakan filter, jika tidak, Anda mungkin harus menambahkan kembali file dalam tema anak. Ini bisa membantu: http://www.wpexplorer.com/wordpress-page-templates-plugin/



0

Sudahkah Anda memindahkan atau menghapus file style.css dari root tema secara tidak sengaja?

Jika demikian, bisa jadi ini - buat ulang theme style.css untuk mengaktifkan kembali dropdown template.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.