Di mana saya menempatkan potongan kode yang saya temukan di sini atau di tempat lain di web?

34

Banyak posting di sini atau di tempat lain berisi kode, tetapi mereka tidak mengatakan di mana harus meletakkannya.

Contoh:

Saya telah menemukan posting ini: Bagaimana cara mematikan 301 redirect postingan (bukan kanonik)?
Saya seorang pemula dengan PHP. Di mana tepatnya saya harus meletakkan kode dari jawaban?

Carl
sumber
1
Saya mengambil kebebasan untuk membuat pertanyaan Anda kurang terlokalisasi, jadi kami memiliki pos di masa depan yang menjawab pertanyaan serupa. Jika menurut Anda itu tidak apa-apa, gunakan tautan rollback di riwayat edit.
fuxia
1
Anda juga dapat mencoba memberikan komentar pada pertanyaan itu dan bertanya di sana.
JimmyPena

Jawaban:

34

Setiap kali Anda menemukan sepotong kode tanpa instruksi instalasi yang jelas itu mungkin sebuah plugin. Contoh yang Anda berikan adalah yang baik, karena itu adalah kasus yang paling umum:

add_action('template_redirect', 'remove_404_redirect', 1);
function remove_404_redirect() {
// do something
}

Untuk menggunakan potongan seperti itu, masukkan ke dalam plugin:

  1. Buat file baru, beri nama misalnya remove_404_redirect.php.
  2. Tulis header plugin sederhana ke dalam file di awal. Gunakan URL tempat Anda menemukan kode Plugin URLdan pembuat kode sebagai Plugin Author:

    <?php
    /**
     * Plugin Name: Remove 404 redirect
     * Description: Disable redirects to similar posts.
     * Plugin URI:  https://wordpress.stackexchange.com/questions/44740/how-do-i-turn-off-301-redirecting-posts-not-canonical
     * Author:      William
     * Author URI:  https://wordpress.stackexchange.com/users/9942/william
     */
    
  3. Masukkan kode yang ingin Anda gunakan di bawah header plugin.

  4. Instal plugin baru.

Itu Semua Orang.

Anda dapat menambahkan kode ke tema Anda functions.php. Tapi itu bukan ide yang baik:

  • Biasanya, kode ini tidak dimaksudkan untuk mengubah representasi visual dari data situs Anda. Tapi itulah satu-satunya tujuan dari sebuah tema. Jangan memadukan tanggung jawab.
  • Kode dalam functions.phptidak dapat dimatikan secara terpisah. Jika kode rusak suatu hari Anda harus mengedit functions.phplagi, atau Anda harus mengganti tema. Jika Anda ingin menggunakan tema lain, Anda harus menyalin & menempelkan semua kode itu lagi.
  • Jika Anda memasukkan semakin banyak cuplikan ke dalam, functions.phpAnda mendapatkan kekacauan yang tidak dapat dipecahkan dari waktu ke waktu.

Terkait: Di mana saya harus meletakkan kode saya: plugin atau functions.php?

fuxia
sumber
Terima kasih! Itu bekerja seperti pesona. Dan terima kasih telah membuat pos tersebut kurang terlokalisasi. Bagaimana cara saya membagikan file plugin saya dengan orang lain?
Carl
1
Anda dapat mempublikasikannya di wordpress.org atau pada layanan hosting kode gratis seperti GitHub. Tetapi saya akan bertanya kepada penulis sebelum saya melakukannya. Untuk menunjukkan bahwa jawaban memecahkan masalah Anda, klik tanda centang kecil ✔ pada jawaban itu, sehingga pembaca lain segera melihatnya.
fuxia
Dalam membuat plugin seperti ini, apakah saya perlu meletakkan file di folder dan kompres / zip, atau akankah installer plugin bekerja dengan php mandiri juga?
OC2PS
Juga, akan membuat plugin dengan pernyataan tunggal yang sederhana seperti add_filter ('flush_rewrite_rules_hard', '__return_false'); kerja?
OC2PS
1
@ OC2PS Tidak, akhir file adalah akhir dari program.
fuxia
16

Saya adalah pengembang plugin yang memungkinkan Anda untuk menambahkan potongan kode ke situs WordPress melalui antarmuka admin.

Ini menambahkan antarmuka grafis, mirip dengan menu Plugins, untuk mengelola cuplikan. Cuplikan dapat diaktifkan atau dinonaktifkan, diberikan nama dan deskripsi, dan dikategorikan menggunakan tag. Mereka juga dapat dicadangkan dan ditransfer antar situs menggunakan fitur impor / ekspor.

Mengelola cuplikan yang ada

Mengedit cuplikan

Tangkapan layar lebih banyak

Anda dapat mempelajari lebih lanjut tentang plugin Potongan Kode di WordPress.org dan melihat kodenya di GitHub .

shea
sumber
6

Kode yang dimaksud dalam tautan harus ditempatkan di file functions.php tema Anda, bukan di canonical.php. Anda harus selalu menghindari memodifikasi file WP inti. Anda tidak perlu menimpa atau berkomentar kode lain.

Buat cadangan file functions.php Anda sebelum mengeditnya, bahkan sebagai kesalahan sintaksis sederhana di functions.php dapat menghapus seluruh situs Anda.

andy
sumber
Saya tidak ingin memodifikasi file WP inti. Terima kasih untuk bantuannya.
Carl
7
@Carl Dia dengan jelas menyatakan untuk tidak memodifikasi file inti. Sedih karena saya tidak bisa menurunkan komentar ...
kaiser
2

Jika Anda menggunakan Jupiter WordPress Theme, Anda dapat melakukannya dengan menambahkan potongan kode ke functions.php tema anak Anda dan mulai mengganti hook, filter, dan shortcode seperti dijelaskan di sini:

https://themes.artbees.net/docs/overriding-shortcodes/

Mohsenr1
sumber