Menyesuaikan tema WordPress tanpa mengubahnya?

19

Saya telah menemukan dan mengunduh tema. Namun saya ingin mengubah beberapa CSS untuk mengubah desain, warna dll sedikit. Bagaimana cara saya melakukan ini, sementara masih dapat memperbarui tema tanpa kehilangan perubahan.

googletorp
sumber

Jawaban:

21

Meskipun Anda tidak dapat memodifikasinya tanpa mengubahnya, Anda dapat mengisolasi bagian yang Anda ubah dengan membuat Tema Anak. Singkatnya:

  1. Buat direktori tema di peer dengan tema "parent" Anda,
  2. Buat style.cssfile di direktori baru Anda yang memiliki Template:deklarasi di komentar yang menamai tema orang tua Anda dan @import url(../%parent-theme%/style.css)untuk mengimpor CSS dari tema induk,
  3. Aktifkan tema baru Anda di konsol admin WordPress,
  4. Tambahkan file baru dan / atau salin file dari direktori tema induk Anda ke direktori tema anak Anda dan modifikasikan sesuai keinginan Anda, dan
  5. Itu dia!

Saya bisa memberi Anda lebih banyak detail, tetapi pada dasarnya orang ini melakukan pekerjaan yang sangat baik untuk menjelaskan Bagaimana Membuat Tema Anak jadi lebih baik bagi saya hanya untuk mengarahkan Anda ke sana.

Ketika Anda ingin memutakhirkan tema induk, tingkatkan saja; itu akan meninggalkan tema anak Anda di-kebijaksanaan. Tentu saja tema anak Anda mungkin tidak berfungsi dengan baik jika mereka terlalu banyak mengubah orang tua dan / atau jika Anda menyalin dan memodifikasi file tema yang mereka perbarui di versi baru, Anda tidak akan mendapatkan fungsionalitas baru tanpa mengubahnya juga, tetapi itu adalah jauh lebih baik dari memulai setiap kali!

Semoga itu bisa membantu.

MikeSchinkel
sumber
2
Tema anak adalah cara untuk pergi IMHO
Ryan Gibbons
2

Jika yang ingin Anda ubah adalah sedikit css, Anda dapat membuat file css khusus di dalam direktori tema. Sertakan file css khusus Anda di header tema, dan tuliskan deklarasi baru hanya di file css khusus, sehingga menimpa deklarasi css default tema tersebut.

Lembar gaya default

body{background:white;width: 960px;margin: 25px auto;}

Lembar gaya khusus

body{width:800px;}

Browser Anda akan membuat panggilan http terpisah untuk dua stylesheet dan menerapkan gaya sesuai urutannya. Deklarasi apa pun yang dibuat terakhir akan menimpa deklarasi yang dibuat sebelumnya. Jadi pastikan untuk memasukkan stylesheet khusus Anda setelah stylesheet lainnya dimasukkan dalam header.php.

Jika Anda akhirnya akan mengubah file template seperti archive.php, atau page.php, jawaban MikeSchinkel akan memungkinkan Anda memperbarui tema Anda jika versi baru dirilis, tanpa kehilangan modifikasi Anda. Tetapi jika semua yang Anda inginkan adalah mengubah beberapa css, Metode ini akan bekerja dengan baik. Pastikan Anda menyimpan stylesheet khusus Anda sebelum memperbarui direktori tema.

kevtrout
sumber
1
Ini mungkin bermasalah jika tema yang Anda modifikasi bukan tema Anda, jadi perubahan Anda mungkin akan ditimpa pada pembaruan tema.
hakre
1

Anda pasti dapat membuat tema anak. Tema anak membuat tema utama Anda dalam format aslinya.

Apa yang saya pribadi lakukan adalah, saya menggunakan tema WordPress premium dari MyThemeShop . Di dalamnya, saya menyimpan file style.css dan opsi tema saya apa adanya. Saya hanya menyalin data file ke file lain dan beri nama sedikit berbeda. Misalnya, jika saya menggunakan Tema SociallyViral, untuk membuat tema turunannya, saya akan menyalin data dari file style.css dan menyimpannya ke file lain yang menamakannya childstyle.css.

Setelah ini, saya sekarang akan mendesain fungsi spesifik dan dapat mendesain ulang tema saya dengan menambahkan lebih banyak fungsi di file childstyle.css.

Ini membuat file style.css asli saya apa adanya dan memungkinkan saya untuk memperbaruinya dalam format asli.

Sumit Kumar
sumber
Saya tidak yakin apa yang Anda maksud dengan "Saya akan menyalin data dari file style.css" tapi biasanya itu cukup dengan hanya menambahkan gaya-gaya itu ke tema anak yang berbeda dari induknya - gaya tema anak ditambahkan ke dan / atau menimpa gaya orangtua. Omong-omong: bagaimana jawaban Anda menambahkan sesuatu ke jawaban yang sudah diterima 6 + tahun yang lalu ?!
tillinberlin