Mengapa?
Terkadang perbaikan yang mudah untuk mengubah perilaku WordPress itu sendiri atau sebuah plugin bisa dengan mengubah file plugin atau WordPress secara langsung. Ketika muncul dengan ide seperti itu, respons yang biasa adalah:
Jangan meretas inti.
Mengapa umumnya ide buruk untuk mengubah file inti?
Mempertimbangkan?
Namun, kadang-kadang, hal-hal yang sangat penting bagi sebuah situs tidak mungkin dilakukan, dengan cara yang baik tanpa mengubah file inti. Ketika dalam situasi seperti itu, apa yang perlu Anda ketahui, sebelum Anda melanjutkan dan mulai meretas inti?
Bagaimana?
Anda telah mempertimbangkan semua opsi, tetapi satu-satunya solusi adalah meretas file inti. Bagaimana seharusnya Anda melakukan ini? Bagaimana cara memiliki inti yang diubah, memengaruhi alur kerja, seperti memperbarui?
admin_body_class
danadmin_footer
yang berarti menangkap seluruh halaman . Saya baru saja mencobanya dan ada> 2MB konten yang harus dicari untuk bagian yang relevan, kemudian diuraikan dan dimodifikasi sebelum menghasilkan. Atau, saya dapat menambahkan satu baris kode ke bagian kananmy-sites.php
dan menggunakan alat diff untuk menerapkan tambalan setelah pembaruan (dengan asumsi itu dimodifikasi sama sekali). Sangat sulit untuk membuat kasus menentang memodifikasi inti dalam skenario seperti ini.Jawaban:
Jika Anda harus meretas inti, pertimbangkan untuk melakukannya dengan cara yang memungkinkannya untuk orang lain.
Tambahkan Hook Tindakan
Sembilan dari sepuluh, Anda bisa melakukan apa yang Anda inginkan jika hanya ada
do_action
panggilan tambahan dalam file tertentu. Dalam hal ini, tambahkan tindakan, dokumentasikan, dan kirim tambalan melalui Trac . Jika ada alasan bagus untuk tambalan Anda (yaitu Anda bukan satu-satunya yang akan menggunakannya) maka Anda mungkin bisa menambahkannya ke inti.Selanjutnya, buat plug-in khusus (Anda tidak harus melepaskan / mendistribusikannya!) Yang terkait dengan hook baru ini dan melakukan fungsi apa pun yang Anda perlukan untuk melakukannya.
Refactor file inti
Di lain waktu, Anda mungkin hanya perlu sepotong kode untuk berperilaku berbeda. Lewatkan variabel dengan referensi, misalnya, atau kembalikan nilai alih-alih gema. Luangkan waktu untuk duduk dan memperbaiki kode sehingga melakukan apa yang Anda butuhkan untuk dilakukan ... kemudian kirim tambalan melalui Trac sehingga kami semua dapat mengambil manfaat dari pekerjaan Anda.
Apakah Anda melihat tema berkembang di sini? Inti peretasan belum tentu tidak boleh ... hanya sesuatu yang sebagian besar pengembang akan sangat mengecilkan hati bagi pengguna baru atau programmer pemula (jika Anda bertanya kepada kami bagaimana melakukan sesuatu, kami akan menyarankan plug-in setiap kali sebelum bahkan mempertimbangkan untuk menyarankan Anda meretas inti).
Inti peretasan adalah cara WordPress mengembangkan dan berevolusi, tetapi berbahaya bagi seseorang yang baru belajar PHP atau tanpa pengalaman bekerja dengan file WP. Silakan mulai dengan plug-in sebelum menyentuh inti - jika Anda memutuskan plug-in Anda dapat menghapus instalasinya dengan cepat (menghapus melalui FTP jika perlu) ... tetapi jika Anda memutuskan inti, hal-hal buruk dapat terjadi pada situs Anda dan berpotensi pada Anda database juga.
Tetapi jika Anda berada dalam situasi di mana peretasan inti tidak dapat dihindari, maka lakukan perubahan. Juga, publikasikan perubahan Anda di lokasi yang menonjol (jika blog Anda sangat terlihat, itu mungkin cukup ... tapi saya sarankan Trac karena itulah cara perubahan komunitas dapat ditarik ke rilis berikutnya). Perubahan Anda mungkin merupakan peluru ajaib yang dapat memperbaiki masalah di ratusan situs yang berbeda ... jadi berkontribusi kembali ke komunitas yang membantu Anda membangun situs Anda.
Jika perubahan dilakukan, maka peretasan Anda menjadi bagian dari inti dan Anda tidak perlu khawatir tentang hal itu di masa depan. Jika tidak, setidaknya Anda memiliki dokumentasi terperinci tentang cara menerapkan kembali peretasan setelah Anda memutakhirkan WP dalam 3 bulan.
sumber
Yah itu karena itu saran untuk pengguna tingkat pertama yang tidak berpengalaman. Inti peretasan itu akan merusak instalasi mereka, mereka tidak dapat memastikan bahwa perubahan mereka tetap ada pembaruan dll.
Tentu Anda benar-benar dapat meretas inti, misalnya dengan menggunakan sistem manajemen versi seperti SVN. Ini membantu Anda untuk menjaga perubahan Anda sendiri pada kode inti sejalan dengan pembaruan proyek. Ini juga membantu untuk membuat tambalan untuk Wordpress dan mengirimkannya ke proyek.
Inti peretasan sebenarnya membuat Wordpress berevolusi.
Pertimbangan
Jika Anda tidak ingin menginstal SVN lengkap dan Anda masih tahu mana (beberapa) file yang telah Anda ubah, Anda dapat menggunakan lebih banyak alat level rendah seperti Diff / Gabung (untuk menang: WinMerge ) atau editor dengan kemampuan membandingkan (mis. Notepad ++ dengan Bandingkan Plugin ). Di Linux Anda dapat dengan mudah menginstal utilitas baris perintah yang melakukan hal yang sama. The Geany Editor dilengkapi dengan integrasi shell bagus btw. .
Saya lebih suka Eclipse PDT untuk pekerjaan berat. Tapi itu bukan untuk edit cepat atau retas.
Jadi saya akan mengatakan, jika Anda menggunakan alat yang tepat dan Anda ingin berhati-hati meretas inti adalah cara untuk pergi. Jika Anda meretas sesuatu bersama yang tersisa di beberapa server pengguna Noob lainnya (ya, Wordpress cukup populer), cukup sediakan sebuah plugin yang dapat dibuang dengan mudah jika merusak sesuatu.
sumber
Masalahnya adalah:
Jika Anda ingin melakukan ini, maka buatlah hidup Anda lebih mudah:
// PATCH START
dan// PATCH END
)Kadang-kadang ini 100% tidak dapat dihindari, tetapi saya hampir selalu dapat menemukan cara lain untuk mencapai sesuatu, atau mengubah spesifikasi karena kemungkinan biaya waktu yang dihabiskan untuk melakukan ini. Ini hanya mimpi buruk pemeliharaan, dan banyak orang menggunakan hacking core, daripada mencari solusi yang tepat.
sumber