Kode PHP di WordPress - praktik terbaik. Cara Menulis Plugin WordPress Contoh Menulis Kode di wp

Halo, para pembaca situs blog yang budiman. Saya memutuskan untuk mengabdikan publikasi hari ini untuk masalah menulis artikel di editor HTML wordpress().

Faktanya adalah bahwa kadang-kadang tidak mungkin untuk menggunakan editor visual di panel admin (paling sering karena masalah hosting), dan tanpanya, akan sangat sulit bagi blogger pemula untuk menulis artikel yang dirancang dengan benar dan indah, karena editor sederhana yang berfungsi untuk semua orang, tanpa kecuali, membutuhkan setidaknya .

Ketika saya pertama kali mulai ngeblog dan mengenal mesinnya, saya tidak bisa menggunakan editor visual. Tidak ada plugin tambahan yang membantu mereka versi yang berbeda, atau "menari dengan rebana" lainnya. Oleh karena itu mau tidak mau saya harus menguasai basic editor yang ada, untungnya saat itu saya sudah cukup familiar dengan hypertext markup language.

Hanya Menggunakan Editor HTML di WordPress

Tapi ini bukan tentang HTML, tapi tentang kenyamanan melakukan tindakan sehari-hari dan sering terjadi. Ya, editor WordPress default memungkinkan Anda untuk mencetak tebal (tag KUAT) dan miring (EM), menyisipkan tautan, kutipan, gambar, daftar bernomor dan berpoin, menyorot berbagai kode dan .

Tetapi ini tidak cukup bagi saya, karena. dalam teks artikel, saya secara aktif menggunakan tajuk internal dari berbagai tingkatan (dari H2 ke H5), menyorot kode (PHP, CSS, dll.) dengan tag khusus, dan melakukan lebih banyak lagi.

Jadi, semua yang tidak termasuk dalam kumpulan alat standar untuk editor WordPress dasar harus dimasukkan secara manual dari keyboard, dan ini sama sekali tidak memudahkan pekerjaan membuat postingan dan sangat mengganggu.

Tetapi masalah ini berhasil diselesaikan berkat plugin Post Editor Buttons WP yang luar biasa, yang dengannya Anda dapat menambahkan sebanyak mungkin tombol tambahan ke bilah alat editor HTML dengan memprogramnya untuk tindakan tertentu.

Hari ini kita akan melihat menulis postingan di WP secara detail dari awal hingga akhir, tanpa menghilangkan nuansa dan teknik yang menurut saya membantu situs blog (Anda membacanya sekarang, kecuali, tentu saja, artikel ini adalah dicuri dan tidak diposting di situs lain) mencapai level beberapa ribu pengunjung unik.

Artinya, publikasi ini akan menjadi lampiran terperinci dari artikel tersebut (ini bukan judul aslinya, tetapi diambil dari retweet oleh pembaca, tapi menurut saya malah lebih sukses dari nama asli saya).

Dalam artikel itu, saya menguraikan nuansa yang menurut saya memengaruhi masuknya lalu lintas (pengunjung) dari mesin pencari, dan dalam posting ini saya akan mencoba menggali detail yang seringkali sangat penting dan tidak terlihat pada pandangan pertama.

Selain itu, menurut saya blogger pemula atau mereka yang baru saja berpikir untuk membuat dan memelihara proyek mereka sendiri tidak akan tertarik untuk mempelajari bagaimana semuanya menjadi sederhana di WordPress, jika Anda tahu apa dan di mana harus melakukannya. hasil yang diinginkan. Nah, perkenalannya sempat tertunda, saatnya langsung menuju pemaparan materi.

Bagi yang belum memiliki blog WP sendiri, tetapi ada keinginan untuk menjadi blogger, atau bagi yang ingin berpindah dari mesin blogging lain atau platform gratis ke WordPress, saya akan memberikan tautan materi di dalamnya instalasi dan pengaturan awal:

Memulai Menulis Artikel di Editor HTML WordPress

Jadi, untuk menulis artikel baru, Anda harus pergi ke panel admin (http://sait.ru/wp-admin/) dan memilih dari menu sebelah kiri (jika Anda menggunakan desain panel admin WP standar) " Tambahkan item Baru di area "Posting".

Hasilnya, halaman standar untuk menambahkan artikel (postingan) akan terbuka, di dalamnya akan ada kolom untuk memasukkan judulnya dan kolom besar untuk memasukkan teks postingan.

Tidak ada trik saat memasukkan teks judul di bidang yang dimaksudkan untuk ini, tetapi sangat penting bukan bagaimana Anda memasukkannya, tetapi apa yang perlu Anda gunakan kata kunci dalam dirinya. Seberapa baik Anda memilih judul untuk posting (), seberapa tinggi posting Anda akan muncul di hasil pencarian untuk kueri tertentu.

Tapi diwaktu yang sama judul artikel di WordPress harus berkorelasi baik dengan teksnya (relevan dengan teks postingan). Selain itu, itu akan ditampilkan di hasil pencarian dan nasib publikasi Anda selanjutnya akan bergantung pada seberapa menariknya (jika tidak diklik, maka faktor perilaku akan memburuk dan akan meninggalkan Top).

Biasanya saya membentuk judul versi final setelah menulis artikel itu sendiri. Terkadang saya menyalin semua subjudul perantara menjadi terpisah file teks dan menjaga semuanya di depan mata saya, saya membentuk yang umum, mencoba memperhitungkan semua yang disebutkan di dalamnya.

Ini mungkin mengapa judul saya sangat panjang, tetapi seperti yang diperlihatkan oleh latihan, tidak ada yang salah dengan itu. Mesin pencari melakukan pekerjaan yang baik dengan judul saya dan hasil pencarian menunjukkan bagian dari TITLE di mana kata-kata dari kueri pencarian muncul.

Mengapa judul begitu penting untuk promosi halaman di mesin pencari? Ya, karena bagi mereka itu adalah kriteria utama untuk menentukan relevansi (tingkat korespondensi - dan kata-kata rumit lainnya) artikel Anda satu sama lain. permintaan pencarian.

Meskipun tidak, tidak juga. Bukan judul postingan, tapi judul halaman TITLE adalah kriteria terpenting mesin pencari saat menentukan posisi permintaan pencarian tertentu (lihat detailnya).

Dan apa hubungannya judul postingan di WP dengan itu? Padahal JUDUL yang benar harus dibentuk dari judul artikel ditambah judul keseluruhan blog, dan dalam urutan itu. Ngomong-ngomong, Anda bisa mengatur formasi TITLE yang benar di WordPress. Plugin ini luar biasa, pada saat yang sama memungkinkan Anda untuk menyelesaikan banyak masalah pada pengoptimalan internal.

Saya menarik perhatian Anda pada perbedaan antara tag pemilihan logis HTML "KUAT" dan tag pemilihan lain dengan huruf tebal "B", serta antara "EM" dan "I". Yang pertama dari tag ini ( KUAT dan EM) harus digunakan tidak hanya untuk menarik perhatian pembaca pada poin-poin penting dalam teks.

Mesin pencari akan mempertimbangkan dengan lebih berat kata dan frasa yang disorot oleh tag aksen ini (STRONG dan EM) dibandingkan dengan kata teks biasa yang tidak dipilih. Namun, kini Anda harus sangat berhati-hati dengan hal ini agar tidak melangkah terlalu jauh dan tidak.

Memilih struktur optimal untuk heading level H1-H6

Sekarang untuk tag heading H1-H6, yang juga bisa digunakan pada artikel blog untuk ditonjolkan kata-kata yang tepat dan frase.

Subjudul internal ini, seperti TITLE, harus berisi kata kunci dan frasa yang ingin Anda peringkatkan di mesin telusur. Pencarian akan memperhitungkan mereka dengan bobot lebih dari biasanya. Tetapi sekali lagi, Anda tidak boleh melakukan spam pada kunci, karena untuk ini Anda dapat menderita kondisi modern promosi.

Kecuali bahwa subjudul internal (biasanya dari H2, H3 dan seterusnya) menyediakan kesempatan tambahan penataan teks, yang meningkatkan persepsi mereka oleh pembaca.
Tetapi ada masalah lain dari pengoptimalan situs web internal yang berkaitan dengan tingkat tajuk (H1 hingga H6) yang digunakan pada halaman blog WordPress.

Cara utama untuk mendistribusikan tingkat tajuk ke seluruh halaman web adalah bahwa tajuk seluruh artikel harus dibungkus dengan tag H1 (paling banyak level tinggi) Dan itu harus satu per halaman, tetapi semua subjudul internal dalam teks harus dimulai dengan H2.

Omong-omong, saya ingin memberi tahu Anda cara yang sangat nyaman untuk melihat secara visual di WordPress di mana dan pada level apa judul digunakan di situs tertentu. Ini adalah plugin untuk FireFox() yang disebut .

Jadi, jika Anda memilih dari menu plugin ini (menunya ditambahkan ke bagian atas browser) item "Outlines" - "Heading outlines", maka semuanya ditemukan di tempat terbuka di saat ini di browser, halaman web akan dilingkari dengan persegi panjang multi-warna, di sebelahnya level H1 -H6 akan ditandatangani.

Seperti yang Anda lihat dari gambar di atas, saya mengatur judul artikel bukan ke H1, tetapi ke H2, sedangkan H1 digunakan untuk melampirkan deskripsi keseluruhan proyek di dalamnya, yaitu. bukan ke artikel tertentu, tapi ke seluruh blog.

Maul ini menyebutkan di salah satu artikelnya bahwa tajuk tingkat H1 harus sama untuk semua halaman web di situs, tetapi dia tidak benar-benar membantah idenya. Namun, saya menggunakan skema persisnya. Untuk subjudul internal saya menggunakan tag H3 dan H4 (terkadang H5).

Satu nuansa lagi. Pada judul posting utama, saya memiliki tautan yang mengarah ke halaman web versi lengkap, tetapi sudah di halaman ini dengan teks lengkap dari posting, judul artikel tidak lagi menjadi tautan. Di suatu tempat saya membaca bahwa akan lebih baik seperti ini.

Sekarang kita masih perlu berbicara sedikit tentang bagaimana Anda dapat mengubah tag heading HTML di WordPress, misalnya, untuk artikel, atau menambahkan, seperti yang saya lakukan, satu level H1 umum untuk semua.

Untuk melakukan ini, Anda harus terhubung ke server hosting tempat blog Anda berada menggunakan protokol FTP, misalnya . Semua file yang mungkin kami perlukan ada di folder dengan tema WordPress (template) yang Anda gunakan, yang dapat Anda temukan di sepanjang jalur ini:

/wp-content/themes/Nama tema/

Untuk lebih memahami struktur dan tujuan file (templat) tema WordPress dengan lebih jelas, saya menyarankan Anda untuk membaca artikel di awal publikasi ini (dalam daftar).

Mari kita lihat di mana Anda dapat mengubah level judul utama artikel yang terletak di halaman utama (bertanggung jawab atas penampilannya). berkas INDEKS) dan di halaman dengan artikel versi lengkap (file TUNGGAL).

Mari kita buka INDEX untuk diedit terlebih dahulu. Di dalamnya saya memiliki judul artikel WordPress yang diapit oleh tag HTML H2 (tingkat kedua) dan selain itu adalah tautan, karena diapit oleh tag tautan A:

" rel="bookmark" title="Permalink!}">

Dalam posting (file TUNGGAL bertanggung jawab atas penampilannya), tajuk utama tidak lagi berupa tautan, meskipun judul tersebut juga memiliki level H2:

Jika Anda tidak puas dengan level kedua, maka cukup ubah tag H2 di file-file ini (INDEX dan SINGLE) menjadi tag H1 dan simpan perubahan yang dilakukan (walaupun ini tidak dapat dilakukan untuk yang utama, karena akan ada lebih dari satu H1 pada halaman, yang tidak baik).

Anda dapat membuat hal yang sama untuk semua halaman blog WordPress H1 dengan sangat sederhana. Untuk melakukan ini, Anda perlu membuka HEADER untuk mengedit dari folder dengan tema yang Anda gunakan dan menemukan baris di mana deskripsi blog Anda ditampilkan, lalu melampirkannya di tag pembuka dan penutup H1, lalu menyimpan perubahannya dibuat.

Tapi mari kita kembali ke editor HTML WordPress kita dan melihat fitur apa yang disediakannya, apa kekurangannya, dan juga mempertimbangkan cara untuk memperluas kemampuannya. Berikut screenshot toolbar admin saya dengan tombol default yang disorot dengan warna merah:

Perhatikan bahwa tombol berlabel "b" dan "i" sebenarnya berfungsi untuk menyisipkan tag STRONG dan EM.

Tetapi semua tombol tambahan ini dapat ditambahkan secara terpisah ke WordPress menggunakan plugin yang bagus. Tombol Editor Posting, tentang penginstalan dan pekerjaan yang akan saya ceritakan di artikel kedua dari seri ini. Karena itu, tetap terhubung, berlangganan umpan berita, dan jangan lewatkan yang paling menarik.

Semoga beruntung untukmu! Sampai jumpa di halaman blog situs

Anda mungkin tertarik

Menu kiri yang hilang di admin WordPress setelah pembaruan Halaman kosong saat melihat posting besar (artikel) di WordPress Tempat mengunduh WordPress - hanya dari situs resmi wordpress.org Cara menambahkan atribut Alt secara otomatis ke tag Img blog WordPress Anda (jika tidak ada) Cara menonaktifkan komentar di WordPress untuk artikel individu atau seluruh blog, serta menghapus atau sebaliknya memasukkannya ke dalam template Cara membuat daftar halaman statis di WordPress menggunakan wp_list_pages (Tingkatkan penghasilan pada tautan dan artikel abadi)
Menginstal WordPress secara detail dan gambar, masuk ke panel admin WP dan mengubah kata sandi Emotikon di WordPress - kode emotikon apa yang akan dimasukkan, serta plugin Qip Smiles (emotikon cantik untuk komentar)
Mengurangi konsumsi memori di WordPress saat membuat halaman - plugin WPLANG Lite untuk mengganti file lokalisasi
Cara masuk ke panel admin WordPress, serta mengubah login dan kata sandi administrator yang diberikan kepada Anda saat menginstal mesin
Pengaturan blog WordPress harus Anda lakukan segera setelah menginstalnya

Saya berani berasumsi bahwa dalam hidup Anda ada kasus ketika Anda ingin menambahkan (memperbaiki) sesuatu dalam tema situs WP Anda, atau dalam fungsionalitas beberapa plugin. Selain itu, pengembang tidak memasukkan fitur ini ke dalam kontrol standar. Dan jiwa Anda tidak mengenali batasan apa pun dan membutuhkan penerbangan mewah 🙂 Seperti yang Anda pahami, ada jalan keluar dari situasi apa pun, dalam hal ini, kita harus memperbaiki kode plugin, tema...

Kesulitan utama dalam mengedit kode adalah perubahan yang Anda buat, sayangnya, tidak bertahan lama, dan kemungkinan besar akan dibatalkan pada pembaruan berikutnya. Jika solusi yang Anda lihat adalah menghindari pembaruan, saya tantang Anda untuk menghalangi Anda dari keputusan tercela yang berbahaya ini, karena pembaruan berisi perubahan penting dalam hal keamanan dan perbaikan bug, dan seringkali juga fitur baru.

Akibatnya, lebih disukai menggunakan metode yang akan bertahan di dunia kita yang berubah secara dinamis dan pada saat yang sama menghemat waktu Anda yang berharga.

Peringatan!

Di Internet, Anda sering menemukan tip yang menyarankan untuk membuat perubahan pada file. function.php- jika ada kemungkinan untuk melakukannya tanpanya - lebih baik tidak menyentuh file ini. Dalam metode di bawah ini, Anda akan melihat cara mengimplementasikannya. Dan bagaimanapun, Anda perlu membuat tema anak dan membiarkan tema induk tetap utuh.

Saat memberi awalan pada suatu fungsi, selalu gunakan kode khusus dalam bentuk: _awalan(untuk nama fungsi yang diubah). Tindakan ini akan menyelamatkan Anda dari konflik dengan fungsi lain dari tema atau plugin.

Jadi bagaimana Anda menambahkan kode ke situs WP?

1) Plugin khusus

Jadi Anda dapat memasukkan potongan kode, dan itu tidak akan dihapus selama pembaruan, dan Anda juga dapat mengeditnya, mengaktifkannya di masa mendatang, atau sebaliknya - menonaktifkannya jika perlu.

Untuk melakukan ini sederhana: pertama Anda perlu membuat direktori untuk plugin Anda, dan beri nama dengan tepat, misalnya moy-plugin (gunakan hanya tanda hubung, bukan garis miring)

Selanjutnya, kita membuat file plugin utama. Seperti yang Anda pahami, itu harus mencakup nama, deskripsi, dan informasi dasar, serta kode yang akan membantu melindungi plugin dari penyusup. Dan kami memanggil file ini, katakanlah my-plugin.php. Ekstensi .php akan memberi tahu WP bahasa apa file yang diberikan.

Anda dapat membuat file dengan cara yang dijelaskan di atas di editor teks apa pun, misalnya, di NotePad, yang telah diinstal dengan hati-hati di sistem operasi Windows (TextEdit di Mac). Lebih baik tidak menggunakan editor Microsoft Word, karena ini memformat teks, dan kami sama sekali tidak membutuhkannya dalam situasi ini.

Jadi, inilah kode untuk ditambahkan:

Dan di bawah kode ini, buat perubahan Anda, yang dibutuhkan oleh jiwa kreatif Anda. Anda tidak perlu menambahkan tag PHP penutup di bagian akhir. Dalam hal ini, judul, deskripsi, dan URL akan ditampilkan di panel admin Anda. Dan, tentu saja, Anda dapat mengganti informasi "ClubWP" dengan informasi Anda sendiri.

Setelah itu, tinggal mengemas yang dibuat ke dalam arsip zip dan mengirimkannya ke ftp situs Anda. Di masa mendatang, dengan cara ini Anda dapat membuat perubahan apa pun pada plugin Anda.

Dengan cara sederhana, Anda akan membuat plugin sederhana untuk kebutuhan Anda.

2) Plugin Cuplikan Kode

Jika cara yang dijelaskan di atas sulit bagi Anda, atau Anda adalah orang yang sangat praktis dan terbiasa mendapatkan hasil lebih cepat, Cuplikan Kode dibuat khusus untuk Anda. Seperti fitur yang dijelaskan di atas, plugin menambahkan kode Anda dengan kemampuan untuk mengeditnya lebih lanjut tanpa menggunakan tema Anda.

Setelah menginstal plugin, jendela "Cuplikan" baru akan muncul di panel admin, di mana Anda dapat menambahkan cuplikan baru. Untuk itu Anda dapat memasukkan kode dan informasi tentang tujuannya.

Dengan demikian, Anda dapat: mengaktifkan atau menonaktifkan kode khusus dalam bentuk plugin. Sangat nyaman dan praktis, karena. terkadang konflik dengan tema dan plugin mungkin terjadi, dan Anda dapat dengan mudah memahaminya dan menonaktifkan kode yang dihasilkan.

3) Mengedit Functions.php dari tema anak

Jika penggunaan plugin tidak cocok untuk Anda dan Anda perlu mengubah langsung tema situs Anda, maka metode ini cocok untuk Anda. Saya mengingatkan Anda bahwa Anda hanya dapat melakukan ini dengan tema anak.

Untuk menggunakan metode ini, saya menawarkan template saya function.php tema anak. Buka zip dan edit file style.css(impor nama template dan URL)

P.S. Cobalah yang terbaik untuk membuat hidup Anda lebih mudah di masa mendatang, dalam hal bagian tersulit Anda dalam memperbaiki bug dan mengedit kode khusus sesuai kebutuhan.

Keterbacaan kode adalah topik yang sangat menyakitkan, dan perlu diperhatikan. Pada artikel ini, Anda akan belajar tentang 16 trik yang akan membantu Anda maju dalam topik ini.

1. Komentar dan Dokumentasi

IDE menjadi semakin populer di dunia pengembang sebagai mereka menyediakan alat praktis untuk mengomentari dan mendokumentasikan kode.

Ini contohnya:

Berikut adalah contoh lain untuk memanggil metode Anda sendiri:

Dalam contoh ini, gaya komentar didasarkan pada PHPDoc dan IDE yang saya gunakan adalah Aptana.

2. Lekukan

Saya menganggap Anda sudah mengetahui pentingnya indentasi dalam kode Anda. Secara umum, ada beberapa gaya pemformatan kode.

Fungsi foo() ( if ($maybe) ( do_it_now(); again(); ) else ( abort_mission(); ) finalize(); )

Fungsi foo() ( if ($maybe) ( do_it_now(); again(); ) else ( abort_mission(); ) finalize(); )

Fungsi foo() ( if ($maybe) ( do_it_now(); again(); ) else ( abort_mission(); ) finalize(); )

Secara pribadi, saya paling sering menggunakan gaya nomor #2, tetapi terkadang saya memilih nomor #1. Tapi itu semua masalah selera, tentu saja. Kemungkinan besar tidak ada gaya "terbaik" yang cocok untuk semua orang. Aturan ini, pertama-tama, harus diikuti oleh mereka yang bekerja dalam tim atau berpartisipasi dalam menulis proyek sumber terbuka.

Ada juga gaya yang menggabungkan beberapa karakteristik. Misalnya, standar pengkodean PEAR, di mana kurung kurawal "(" tetap berada di baris yang sama dalam pernyataan bersyarat, tetapi terbungkus dalam fungsi.

gaya PIR:

Fungsi foo() ( // pada baris baru if ($maybe) ( // pada baris yang sama do_it_now(); again(); ) else ( abort_mission(); ) finalize(); )

Perhatikan juga bahwa gaya ini menggunakan 4 spasi, bukan tab.

Anda dapat mempelajari lebih lanjut tentang berbagai gaya.

3. Hindari komentar yang tidak perlu

Ya, mengomentari kode itu bagus; Namun, tidak perlu berlebihan. Ini contohnya:

// dapatkan kode negara $kode_negara = get_kode_negara($_SERVER["REMOTE_ADDR"]); // jika negaranya US if ($country_code == "US") ( // tampilkan form echo form_input_state(); )

Jika pekerjaan kodenya jelas, kemungkinan besar Anda tidak boleh menulis komentar yang tidak perlu.

Jika belum tersedia, maka Anda dapat mempersingkatnya sedikit:

// tampilkan form jika negaranya US $country_code = get_country_code($_SERVER["REMOTE_ADDR"]); if ($country_code == "US") ( echo form_input_state(); )

4. Pengelompokan kode

Paling sering, beberapa tugas memerlukan penulisan beberapa baris kode. Oleh karena itu, yang terbaik adalah menggabungkan tugas-tugas tersebut menjadi blok-blok terpisah yang dipisahkan oleh spasi.

Berikut adalah contoh sederhana:

// dapatkan daftar forum $forums = array(); $r = mysql_query("PILIH id, nama, deskripsi DARI forum"); while ($d = mysql_fetch_assoc($r)) ( $forums = $d; ) // muat template load_template("header"); load_template("daftar_forum",$forum); load_template("footer");

Jika Anda menambahkan komentar sebelum awal setiap blok, ini akan semakin meningkatkan keterbacaan kode Anda.

5. Skema penamaan

Terkadang bahkan dalam bahasa PHP Anda dapat menemukan ketidakkonsistenan dalam penamaan fungsi. Dan berikut adalah banyak contoh:

  • strpos() vs str_split()
  • imagetypes() vs image_type_to_extension()

Ada beberapa gaya populer:

  • camelCase: Huruf pertama dari setiap kata baru dikapitalisasi.
  • garis bawah: Garis bawah di antara kata-kata: mysql_real_escape_string().

Jika Anda mencampurkan teknik-teknik ini, cepat atau lambat Anda bisa mengalami situasi yang canggung. Jika Anda sedang mengerjakan proyek yang menggunakan salah satu teknik ini, maka Anda harus mengikutinya. Itu mungkin masih tergantung pada bahasa pemrograman. Misalnya, sebagian besar pengembang Java menggunakan camelCase sementara pengembang PHP lebih memilih garis bawah.

Tetapi bahkan di sini bukannya tanpa hibrida. Beberapa pengembang menggunakan garis bawah dalam penamaan kelas dan metode (di luar kelas), dan dalam kasus lain mereka menggunakan camelCase:

Kelas Foo_Bar ( fungsi publik someDummyMethod() ( ) ) fungsi nama_fungsi_prosedural() ( )

Sekali lagi, saya akan mengatakan bahwa tidak ada gaya yang lebih baik. Anda hanya perlu berpegang pada sesuatu.

6. Prinsip KERING

KERING (Jangan Ulangi Sendiri) Juga dikenal sebagai DIE: Duplikasi itu jahat.

Tugas utama sistem apa pun, baik itu aplikasi web atau yang lainnya, adalah mengotomatiskan tugas yang berulang. Prinsip ini harus selalu diikuti dan di mana saja, terutama jika Anda seorang pengembang. Potongan kode yang sama tidak boleh diulang terus menerus.

Misalnya, sebagian besar aplikasi web terdiri dari satu atau lebih halaman. Jelas bahwa halaman ini akan berisi elemen yang sama. Header, footer - contoh paling mencolok. Anda akan terkejut betapa banyak orang yang masih menduplikasi elemen ini di setiap halaman.

$this->load->view("include/header"); $this->load->view($main_content); $this->load->view("includes/footer");

7. Hindari Penyusunan Dalam

Keterbacaan kode berkurang secara drastis jika Anda memiliki sarang yang dalam.

Fungsi do_stuff() ( // ... if (is_writable($folder)) ( if ($fp = fopen($file_path,"w")) ( if ($stuff = get_some_stuff()) ( if (fwrite($ fp,$stuff)) ( // ... ) else ( return false; ) ) else ( return false; ) ) else ( return false; ) ) else ( return false; ) )

Untuk memperbaiki situasi, Anda harus mempertimbangkan kembali cara kerja kode Anda dan mengoptimalkannya:

Fungsi do_stuff() ( // ... if (!is_writable($folder)) ( return false; ) if (!$fp = fopen($file_path,"w")) ( return false; ) if (!$stuff = get_some_stuff()) ( return false; ) if (fwrite($fp,$stuff)) ( // ... ) else ( return false; ) )

8. Batas panjang garis

Semua orang tahu bahwa proses membaca menjadi jauh lebih menyenangkan ketika teks dibagi menjadi beberapa kolom. Ini adalah alasan utama mengapa surat kabar kami terlihat seperti ini:

Teknik serupa dapat diterapkan pada kode kita:

// buruk $email_saya->set_from(" [email dilindungi]")->tambahkan_ke(" [email dilindungi]")->set_subject("Methods Chained")->set_body("Some long message")->send(); // ok $my_email ->set_from(" [email dilindungi]") -> tambahkan_ke(" [email dilindungi]") ->set_subject("Methods Chained") ->set_body("Some long message") ->send(); // bad $query = "SELECT id, username, first_name, last_name, status FROM users LEFT JOIN user_posts USING (users.id, user_posts.user_id) WHERE post_id = "123""; // bad $query = "SELECT id, username, first_name, last_name, status FROM users LEFT JOIN user_posts USING(users.id, user_posts.user_id) WHERE post_id = "123"";

Sebagian besar pengembang tetap berpegang pada batas 80 dan 120 karakter.

9. Mengatur File dan Folder

Secara teknis, Anda dapat memasukkan semua kode aplikasi Anda dalam satu file :) Tapi apa yang akan Anda lakukan ketika Anda perlu mengubah atau menambahkan sesuatu.

Saya ingat proyek pertama saya di mana saya melampirkan file. Namun, organisasi saya sangat pincang. Saya membuat folder "inc" di mana saya meletakkan beberapa file: db.php dan functions.php. Dalam proses penulisan aplikasi, folder ini membengkak dan membengkak dan pada akhirnya sulit untuk memahami di mana.

Untuk mengatasi masalah ini, lebih baik menggunakan berbagai jenis kerangka kerja, atau setidaknya tetap berpegang pada strukturnya. Seperti inilah tampilan proyek di CodeIgniter:

10. Nama variabel

Secara umum, nama variabel harus sepenuhnya bermakna - idealnya. Pengecualian dapat dibuat untuk variabel sementara.

Mari kita lihat beberapa contoh:

// $i untuk for loop ($i = 0; $i< 100; $i++) { // $j для вложенных циклов for ($j = 0; $j < 100; $j++) { } } // $ret для возвращаемых переменных function foo() { $ret["bar"] = get_bar(); $ret["stuff"] = get_stuff(); return $ret; } // $k и $v для foreach foreach ($some_array as $k =>$v) ( ) // $q, $r dan $d untuk mysql $q = "SELECT * FROM table"; $r = mysql_query($q); while ($d = mysql_fetch_assocr($r)) ( ) // $fp untuk bekerja dengan file $fp = fopen("file.txt","w");

11 - Tulis kata kunci dalam SQL dengan huruf kapital

Sebagian besar aplikasi web berinteraksi dengan database. Jika Anda menulis kueri SQL sendiri, kueri tersebut juga perlu diformat sesuai ... Tidak ada yang rumit di sini. Cukup tulis kata kunci dengan huruf kapital.

12. Pisahkan kode dan data

Ini adalah prinsip lain yang akan membantu Anda menulis program yang lebih bersih. Itu terletak pada fakta bahwa Anda menyiapkan data di satu tempat (katakanlah model), dan berinteraksi dengannya di tempat lain.

Ketika PHP pertama kali dimulai, itu lebih seperti sistem template. Proyek dalam bahasa ini berisi campuran kode HTML dan PHP. Sekarang semuanya telah berubah, dan setiap orang harus pindah ke level baru dalam menulis aplikasi.

Anda dapat menemukan gaya khusus untuk diri Anda sendiri, atau Anda dapat menggunakan cara paling populer hingga saat ini.

Framework PHP Populer:

Sistem Templat:

CMS populer

13. Sintaks khusus untuk template

Jika Anda tidak ingin menggunakan sistem templating, kemungkinan besar Anda harus mengembangkan gaya Anda sendiri dalam menyuntikkan kode PHP ke dalam HTML.

Dan inilah contohnya:

Halo, nama belakang; ?>
|

Papan Pesan Saya

judul; ?>

Forum sebagai $forum): ?>

id, $forum->judul) ?> (utas->jumlah(); ?>utas)

keterangan; ?>

Teknik ini akan memungkinkan Anda untuk menghindari tanda kurung tambahan. Selain itu, kode tersebut sangat cocok dengan konteks HTML.

14. Pendekatan prosedural dan berorientasi objek

Pemrograman berorientasi objek akan membantu Anda tetap berpegang pada struktur yang kurang lebih jelas, tetapi ini tidak berarti bahwa Anda harus menyimpang dari prinsip prosedural penulisan aplikasi.

Objek sangat bagus untuk merepresentasikan data. Contoh:

Pengguna Kelas ( public $username; public $first_name; public $last_name; public $email; public function __construct() ( // ... ) public function create() ( // ... ) public function save() ( / / ... ) fungsi publik hapus() ( // ... ) )

Metode prosedural memiliki kegunaan khusus mereka sendiri.

Fungsi kapitalisasi($string) ( $ret = strtoupper($string); $ret .= strtolower(substr($string,1)); return $ret; )

15. Baca Kode Sumber Terbuka

Biasanya, proyek Open Source ditulis oleh sejumlah besar pengembang. Dari sudut pandang ini, mempelajari kode tertulis dalam proyek serupa dapat membantu Anda mendapatkan pengalaman. Jadi jangan buang waktu Anda untuk ini.

16. Pemfaktoran ulang

Refactoring mengubah kode tanpa kehilangan fungsionalitas. Itu juga dapat digunakan untuk meningkatkan keterbacaan.Tidak ada ruang untuk memperbaiki bug atau menambahkan fungsionalitas. Anda cukup mengubah sedikit struktur kode Anda.

Semoga artikel ini bermanfaat bagi Anda! Apakah saya melewatkan sesuatu? Bagikan pengalaman Anda!

Suatu hari Anda memutuskan untuk membuat situs web atau blog Anda sendiri, dan Anda memilih WordPress untuk sistem manajemennya ... Seiring berjalannya waktu, situs Anda menjadi semakin mudah dibaca, dan kemudian Anda menyadari bahwa untuk popularitas yang lebih besar Anda perlu menambahkan beberapa fungsi ke situs atau hanya mengotomatiskan beberapa tindakan itu.

Anda pergi ke "gudang" plugin untuk wordpress dan menemukan bahwa plugin yang Anda butuhkan tidak ada. Apa yang harus dilakukan? Bagaimana menjadi? Jika Anda setidaknya sedikit terbiasa dengan dasar-dasar pemrograman di php, tata letak, maka tidak akan sulit bagi Anda Tulis plugin Anda sendiri untuk WordPress.

Dan sekarang mari kita pergi ke "dapur" untuk menyiapkan plugin kita.

Nb. Jika Anda tidak memiliki pengetahuan tentang php dan tata letak… jangan kecewa, minta seseorang untuk menuliskan fungsionalitas yang diperlukan untuk Anda 🙂

Sebelum Anda mulai menulis plugin, Anda perlu merujuk ke dokumentasi WordPress, yang menjelaskan prinsip dasar penulisan plugin dan beberapa contoh kode.

Saya tidak akan menggandakan informasi ini, tetapi akan langsung menuju ke penulisan kode.

Mari menulis plugin sederhana yang memungkinkan Anda menyimpan dan menampilkan ulasan tentang situs Anda. Tentu saja, sudah ada plugin seperti itu, tetapi sebagai contoh itu akan baik-baik saja.

Hal pertama yang akan kami lakukan adalah membuat nama unik untuk plugin kami - " Ulasan PenggunaAdv«.

Selanjutnya, mari buat direktori baru bernama "advuserreviews" di direktori "/wp-content/plugins/" situs Anda. Dan di dalamnya kita akan membuat file "advuserreviews.php". Ini akan menjadi file utama yang akan bertanggung jawab untuk inisialisasi umum. (Sebaiknya gunakan pengkodean UTF-8 untuk file).

Di awal file, Anda harus menentukan informasi dasar tentang plugin

Sekarang, jika Anda masuk ke panel kontrol, Anda dapat melihat bahwa sistem telah menemukan plugin baru dan menawarkan untuk mengaktifkannya. Tapi masih terlalu dini untuk melakukannya.

Kami akan menulis plugin baru kami dalam gaya OOP dan semua pemrosesan data akan berada dalam satu file. Mari buat bingkai utama dari file.

// Hentikan panggilan langsung if(preg_match("#" .basename(__FILE__) . "#", $_SERVER["PHP_SELF"])) ( die("Anda tidak diizinkan untuk memanggil halaman ini secara langsung."); ) if (!class_exists("AdvUserReviews")) ( class AdvUserReviews ( // Menyimpan data internal public $data = array(); // Konstruktor objek // Menginisialisasi fungsi variabel utama AdvUserReviews() ( ) ) ) global $rprice; $rprice = new AdvUserReviews();

Sekarang tambahkan kode berikut ke konstruktor objek:

Fungsi AdvUserReviews() ( global $wpdb; // Deklarasikan konstanta inisialisasi plugin kita DEFINE("AdvUserReviews", true); // Nama file plugin kita $this->plugin_name = plugin_basename(__FILE__); // URL untuk plugin kita $ this->plugin_url = trailingslashit(WP_PLUGIN_URL."/".dirname(plugin_basename(__FILE__))); // Tabel untuk menyimpan review kita // variabel $wpdb harus dideklarasikan secara global $this->tbl_adv_reviews = $wpdb->prefix "adv_reviews"; // Fungsi yang dijalankan saat plugin diaktifkan register_activation_hook($this->plugin_name, array(&$this, "activate")); // Fungsi yang dijalankan saat plugin dinonaktifkan register_deactivation_hook($this ->plugin_name, array (&$this, "deactivate")); // Fungsi yang dijalankan ketika plugin dihapus register_uninstall_hook($this->plugin_name, array(&$this, "uninstall")); )

Di konstruktor objek, kami menggunakan 3 "kait" atau "kait" (apa itu?): register_activation_hook, register_deactivation_hook Dan register_uninstall_hook- ini adalah fungsi yang dijalankan saat plugin diaktifkan, dinonaktifkan, dan dihapus.

Sekarang mari kita terapkan fungsi-fungsi ini secara langsung.

/** * Aktivasi plugin */ function activation() ( global $wpdb; require_once(ABSPATH . "wp-admin/upgrade-functions.php"); $table = $this->tbl_adv_reviews; // Menentukan versi mysql jika ( version_compare(mysql_get_server_info(), "4.1.0", ">=")) ( if (! empty($wpdb->charset)) $charset_collate = "SET KARAKTER DEFAULT $wpdb->charset"; if (! kosong( $wpdb->collate)) $charset_collate .= " COLLATE $wpdb->collate"; ) // Struktur tabel review kita $sql_table_adv_reviews = " CREATE TABLE `".$wpdb->prefix."adv_reviews` (`ID` INT(10) UNSIGNED NULL AUTO_INCREMENT, `review_title` VARCHAR(255) NOT NULL DEFAULT "0", `review_text` TEXT NOT NULL, `review_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `review_user_name` VARCHAR(200) NULL, `review_user_email` VARCHAR(200) NULL, PRIMARY KEY (`ID`))".$charset_collate.";"; // Periksa apakah tabel ada if ($wpdb->get_var("tampilkan tabel seperti "".$table."" " ) != $table) ( dbDelta($sql_table_adv_reviews); ) ) /** * Deact pemanggilan plugin */ function deactivate() ( return true; ) /** * Hapus plugin */ function uninstall() ( global $wpdb; $wpdb->query("JATUH TABEL JIKA ADA ($wpdb->prefix)adv_reviews"); )

Variabel $wpdb bertanggung jawab untuk query ke database. Fungsi dbDelta mem-parsing struktur tabel saat ini, membandingkannya dengan struktur tabel yang diinginkan, dan menambahkan atau memodifikasi tabel sesuai kebutuhan.

Karenanya, saat plugin diaktifkan, struktur tabel dibuat untuk menyimpan ulasan. Saat plugin dinonaktifkan, tidak ada tindakan yang terjadi, tetapi saat kami menghapusnya, kami menghapus tabel kami. Tindakan yang lebih rinci dapat dipahami dari kode sumber.

Struktur dasar plugin baru sudah siap. Sekarang kita perlu mulai menulis bagian fungsionalnya. Untuk melakukannya, kita perlu menambahkan baris kode berikut ke konstruktor kelas:

// Jika kita berada di admin. interface if (is_admin()) ( // Tambahkan gaya dan skrip add_action("wp_print_scripts", array(&$this, "admin_load_scripts")); add_action("wp_print_styles", array(&$this, "admin_load_styles")); // Tambahkan menu untuk plugin add_action("admin_menu", array(&$this, "admin_generate_menu")); ) else ( // Tambahkan gaya dan skrip add_action("wp_print_scripts", array(&$this, "site_load_scripts" )) ; add_action("wp_print_styles", array(&$this, "site_load_styles")); add_shortcode("show_reviews", array (&$this, "site_show_reviews")); )

Mari kita lihat lebih dekat bagian kode ini. Mari kita mulai dengan panel administrasi.
Fungsi " is_admin» periksa dalam mode apa kami sedang bekerja - di situs atau di panel kontrol.
Selanjutnya, beberapa kait digunakan, untuk fungsi:

  • wp_print_scripts- Tambahkan file javascript yang diperlukan
  • wp_print_styles- Tambahkan gaya yang diperlukan
  • admin_menu- Tambahkan menu baru di panel kontrol

Setiap pengait sesuai dengan metode yang diterapkan di kelas kami. di mana operasi yang diperlukan dilakukan.
Pertimbangkan kode untuk menghubungkan gaya dan skrip

/** * Muat skrip yang diperlukan untuk halaman administrasi * di panel admin */ function admin_load_scripts() ( // Daftarkan skrip wp_register_script("advReviewsAdminJs", $this->plugin_url . "js/admin-scripts.js") ; wp_register_script( "jquery", $this->plugin_url . "js/jquery-1.4.2.min.js"); // Tambahkan skrip ke halaman wp_enqueue_script("advReviewsAdminJs"); wp_enqueue_script("jquery"); ) /** * Memuat gaya yang diperlukan untuk halaman admin * di panel admin */ function admin_load_styles() ( // Daftarkan gaya wp_register_style("advReviewsAdminCss", $this->plugin_url . "css/admin-style.css") ; // Menambahkan gaya wp_enqueue_style( "advReviewsAdminCss"); )

Fungsi-fungsi berikut digunakan di sini.

Setiap tindakan bergantung pada parameter "tindakan" yang diteruskan, masing-masing "edit" - mengedit ulasan, "kirim" - menyimpan ulasan yang diedit dan "hapus" - menghapus ulasan.

Data dipertukarkan dengan halaman tampilan melalui properti "data" objek. Kode sumber halaman ini akan diposting di arsip dengan modul ini di akhir artikel. Di sini saya tidak akan memasukkannya, karena topiknya ternyata sudah cukup besar.

Ini menyimpulkan panel administrasi dan beralih ke menampilkan dan menambahkan umpan balik dari pengguna.

Untuk memberi tahu wordpress kapan harus memanggil plugin kita, kita perlu mendaftarkan "kode pendek", yang dilakukan di konstruktor kelas kita. Lebih lanjut tentang itu.

Add_shortcode("show_reviews", array (&$this, "site_show_reviews"));

Sekarang, di halaman mana pun di situs, Anda dapat menempatkan kode ini dan itu akan memaksa fungsi yang kami tentukan (diteruskan sebagai parameter kedua) untuk dijalankan. Di bawah ini adalah kode sumber untuk fungsi ini.

/** * Daftar ulasan situs */ fungsi publik site_show_reviews($atts, $content=null) ( global $wpdb; if (isset($_POST["action"]) && $_POST["action"] == " add-review") ( $this->add_user_review(); ) // Pilih semua review dari Database $this->data["reviews"] = $wpdb->get_results("SELECT * FROM `" . $this- >tbl_adv_reviews . "`", ARRAY_A); ## Aktifkan buffering keluaran ob_start (); include_once("site_reviews.php"); ## Dapatkan data $output = ob_get_contents (); ## Matikan buffering ob_end_clean (); kembali $output ; ) fungsi pribadi add_user_review() ( global $wpdb; $inputData = array("review_title" => strip_tags($_POST["review_title"]), "review_text" => strip_tags($_POST["review_text"]) , " review_user_name" => strip_tags($_POST["review_user_name"]), "review_user_email" => strip_tags($_POST["review_user_email"]),); // Menambahkan ulasan baru ke situs $wpdb->insert( $ini-> tbl_adv_reviews, $inputData); )

Pada prinsipnya, tidak ada yang rumit di sini - kueri SQL dibuat untuk memilih data, tetapi jika parameter "tindakan" diteruskan, ulasan baru ditambahkan terlebih dahulu. Tetapi Anda harus memperhatikan buffering keluaran. Ini diperlukan untuk mendapatkan data dari halaman yang disisipkan.

Itu sebenarnya semua. Sekarang Anda dapat melihat apa yang kami dapatkan. A unduh plugin dan kode sumber kamu bisa di sini.

Tentu saja, ini hanyalah contoh pembuatan plugin, tetapi juga akan berfungsi sebagai ruang tamu sederhana jika sedikit dimodifikasi, misalnya menambahkan perlindungan dari bot dan pagination. Selamat coding :)

Formulir situs web:

Panel kontrol plugin:

Ulasan edit:

Anda mungkin juga tertarik pada:


Halo para pembaca yang budiman! Saya telah menyebutkan pentingnya memiliki koleksi potongan kode (sisipan) yang berguna. Namun, mereka dipertimbangkan. Posting hari ini akan dikhususkan untuk cuplikan kode yang dapat digunakan untuk memperluas atau meningkatkan kerja situs di . Koleksinya terdiri dari 10 cuplikan kode. Mulai:

Paginasi tanpa plugin

Teks hak cipta dinamis

Cuplikan ini memungkinkan Anda membuat teks hak cipta sederhana di footer. Tanggal diatur secara otomatis, fungsi digunakan tanggal().
Cukup salin cuplikan ke file Anda footer.php:

< b>(C)
| < a href= "" >
|

Informasi pengguna

WordPress memungkinkan pengguna untuk menambahkan informasi tentang diri mereka ke profil mereka di WP Admin. Untuk menampilkan informasi pengguna, Anda dapat menggunakan cuplikan ini:

Agar tombol berfungsi, Anda harus terhubung ke , tambahkan baris berikut ke file header.php:

< script type= "text/javascript" src= "https://apis.google.com/js/plusone.js">

kode PHP dalam teks

Terkadang saat menulis artikel, Anda perlu memasukkan kode, tetapi jika Anda hanya memasukkannya, maka itu tidak akan ditampilkan. Untuk menghindarinya, kami menggunakan fragmen berikut, itu harus ditambahkan ke file function.php Topik:

Jangan lupa hapus spasi pada tag!
Dan itu berfungsi sebagai berikut, di tempat yang Anda butuhkan untuk memasukkan PHP kode, pilih seperti ini:

[kode][/kode]

Kecualikan postingan dari halaman beranda

Untuk mengecualikan semua posting dari kategori apa pun dari halaman utama, Anda dapat menggunakan cuplikan ini, dan Anda perlu menambahkannya ke file function.php Topik Anda:

1
2
3
4
5
6
7
8
9

fungsi mengecualikanCat($query ) (
jika ( $query -> is_home ) (
$query -> set ("kucing" , "-3,-5,-23" );
}
kembalikan $permintaan ;
}
add_filter("pre_get_posts" , "excludeCat" );
?>

Remah roti tanpa plugin

Nah, untuk camilan, berikut adalah cuplikan kode yang dapat digunakan untuk mengatur apa yang disebut "breadcrumbs" di blog, ini adalah elemen navigasi tambahan saat jalur ditampilkan dalam bentuk tautan ke halaman yang peringkatnya lebih tinggi ke halaman kategori dan halaman utama. Sesuatu seperti ini (Beranda->Kategori 1->Judul Artikel). Cuplikan kode ini harus dimasukkan ke dalam file function.php Topik Anda:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

fungsi the_breadcrumb() (
gema "

    " ;
    jika (! is_home() ) (
    gema "
  • gema get_option("rumah");
    gema "">" ;
    gema "Rumah" ;
    gema "
  • " ;
    jika (is_category() || is_single() ) (
    gema "
  • " ;
    kategori_("
  • " ) ;
    jika (is_single() ) (
    gema "
  • " ;
    judul() ;
    gema "
  • " ;
    }
    ) elseif (is_page() ) (
    gema "
  • " ;
    gema the_title() ;
    gema "
  • " ;
    }
    }
    elseif (is_tag() ) ( single_tag_title() ; )
    elseif (is_day() ) ( echo "
  • Arsip untuk " ; the_time("F jS, Y" ) ; echo "
  • " ; }
    elseif (is_month() ) ( echo "
  • Arsip untuk " ; the_time("F, Y" ) ; echo "
  • " ; }
    elseif (is_year() ) ( echo "
  • Arsip untuk " ; the_time("Y" ) ; echo "
  • " ; }
    elseif (is_author() ) ( gema "
  • Arsip pengarang "; gema "
  • " ; }
    elseif (isset ($_GET [ "paged" ] ) && ! kosong ($_GET [ "paged" ] ) ) ( echo "
  • Arsipkan" ; gema "
  • " ; }
    elseif (is_search() ) ( gema "
  • Hasil Pencarian"; gema "
  • " ; }
    gema "
" ;
}
?>

Untuk menggunakan "breadcrumbs" ini, tambahkan fungsi berikut ke file (archive.php, category.php, page.php, single.php, search.php):

Munculnya "remah roti" menyisakan banyak hal yang diinginkan) Oleh karena itu, Anda harus mengerjakan gaya!

Itu saja =)

Untuk tetap up to date dengan artikel dan pelajaran terbaru, berlangganan



Memuat...
Atas