Advertisement
  1. Code
  2. WordPress

Plugin WordPress Pertama Anda: Optimasi sederhana

by
Length:LongLanguages:

Indonesian (Bahasa Indonesia) translation by Ari Gustiawan (you can also view the original English article)

WordPress adalah platform blogging terbesar yang tersedia di internet hari ini; dan dengan rilis resmi versi tiga around the corner, itu akan menjadi lebih besar. Dengan demikian, atas self-container beberapa berikutnya, kita akan mempelajari seluk-beluk development plugin WordPress, dimulai dengan membuat plugin sederhana pertama kami, "Optimasi sederhana."


Langkah 0 sebelum kita mulai

Tutorial ini akan menganggap bahwa Anda memiliki setidaknya memiliki pemahaman tentang PHP dan sintaks WordPress. Meskipun kami akan mencakup semuanya, beberapa pengetahuan sebelumnya akan membantu Anda memahami konsep-konsep jauh lebih mudah. Saya juga akan menganggap bahwa Anda memiliki blog WP setup dan siap untuk dipakai.


Langkah 1. Apa yang Plugin kita lakukan

Langkah pertama, ketika menulis sebuah plugin WP, adalah untuk menentukan segala sesuatu yang Anda inginkan. Karena ini adalah plugin pertama kami, kami tidak akan melakukan apapun yang terlalu drastis. Mari kita membuat sesuatu yang akan mempercepat blog kami; Halaman kami akan membuat blog lebih cepat, dan kami juga akan melakukan sedikit SEO untuk meningkatkan peringkat pencarian dan findability.

"Selalu membuat daftar apa yang Anda inginkan plugin Anda benar-benar melakukan sebelum Anda menulis kode apapun!"

Menghapu meta tag yang tidak berguna:

  • "rsd_link" - benar-benar sederhana penemuan Link
  • "wlwmanifest_link" - link Windows Live Writer
  • "wp_generator" - nomor versi WordPress

Hapus Filter yang tidak perlu:

  • "wptexturize" - kutipan keriting
  • "wp_filter_kses" - HTML di profil pengguna

SEO:

  • Menyisipkan Tag post ke<head>sebagai keyword</head>
  • Masukkan pos excerpt ke<head>sebagai Keterangan</head>

Langkah 2. Dasar-dasar

Untuk memulai, navigasikan ke folder plugin ("/wp-content/plugins/"), dan membuat folder baru. Kami akan menamainya "simple-optimization." Selanjutnya, dalam folder ini kita akan perlu untuk membuat dua file. Pertama akan file sebenarnya plugin (bernama "main.php"), dan yang kedua akan README wajib ("readme.txt"). Kita akan meninggalkan readme.txt kosong untuk sementara waktu; Jadi buka main.php dalam editor teks pilihan Anda dan Salin kode di bawah ini.

Teks ini adalah minimal bare-bones yang diperlukan untuk sebuah plugin untuk muncul di WordPress plugin direktori. Anda akan jelas memerlukan untuk mengisi setiap bagian seperti yang Anda lihat.


Langkah 3. Menambahkan fitur

Dua fitur kami akan menerapkan juga akan menjadi yang paling sederhana. Secara default, WordPress menambahkan beberapa meta-tag untuk<head>Bagian blog Anda, tapi fakta sederhana dari masalah adalah bahwa meta-tag ini benar-benar tidak memiliki nilai sama sekali; Jadi kita hanya akan untuk menghentikan WordPress dari menambahkannya. Setiap kali WordPress menjalankan action, baik disebut filter atau suatu action, dan kami dapat menghapus atau memanipulasi  filter dan action (Anda dapat menemukan daftar semua filter di sini, dan semua action di sini). Dalam kasus ini, kami ingin menghapus berbagai action yang menambahkan meta-tag tersebut.

Untuk melakukannya, kita menggunakan fungsi sangat sederhana yang disebut "remove_action('action','function')". Fungsi ini akan menghapus fungsi yang dinyatakan dalam parameter kedua dari action, parameter pertama.

Prinsip yang sama persis sama berlaku untuk dua filter kita yang akan kita hapus:


Langkah 4. SEO

Sekarang bahwa kita telah memotong itu, mari kita memastikan blog kami memiliki beberapa dasar SEO; Artinya, mari kita pastikan kita memiliki kata kunci per halaman, yang sesuai dengan halaman tersebut dan mengubah Deskripsi untuk mencocokkan dengan artikel. Untuk keyword kami, kami akan ambil Tag post/halaman saat ini. Ini dibuat super sederhana oleh fungsi "wp_get_post_tags()". wp_get_post_tags akan mengembalikan sebuah array tag dari saat post saat ini. Kita dapat kemudian dengan mudah memformat array ke string dan menempatkannya dalam header (dalam fungsi "wp_head()", bahw setiap tema harus sudah memiliki di dalamnya) dengan melampirkan fungsi kita wp_head tindakan.

Mari kita mulai dengan membuat fungsi baru, tags_to_keywords(), dan, di dalam fungsi ini, kita akan menulis simple if statement, yang memeriksa apakah single post atau halaman (menggunakan WP fungsi: is_single() dan is_page()). Selanjutnya, kita akan membuat sebuah variabel di dalam if statement, bernama $tags, dan mengatur konten untuk fungsi wp_get_post_tags(); Namun, dalam rangkacfungsi ini untuk bekerja, kita perlu untuk passing dalam parameter "post_id". Cara termudah bagi kita  untuk mengglobalisasikan WP variabel $post yang berisi ID posting ($post->ID, $post adalah objek yang mengapa kita menyebut nilai-nilai seperti itu).

Selanjutnya, kita menggunakan foreach untuk menyaring melalui $tags data, dan membuat array baru dengan hanya informasi yang di inginkan ($tag_array). Setelah itu, kita akan implode array ke dalam sebuah string dan memisahkan setiap item dari array dengan koma dan spasi ($tag_string). Kemudian, kami akan membuat if statement lain yang memeriksa untuk melihat apakah $tag_string memiliki nilai (berarti, yang kita miliki setiap Tag untuk posting) dan jika itu, echo final HTML.

Hal terakhir yang perlu kita lakukan sekarang adalah melampirkan fungsi baru kami dengan action wp_head. Untuk melakukan ini, kita akan memanggil add_action('action','function'), dan passing parameter "wp_head" dan "tags_to_keywords" (dalam urutan itu).

Untuk meningkatkan SEO kami, kami akan menambahkan deskripsi meta-data ke header juga, menggunakan metode yang sama sebagai keyword. Setelah kita memiliki if statement ditulis ulang, kami akan membuat sebuah variabel baru $all_post_content dan mengisinya menggunakan WP fungsi wp_get_single_post() (dan passing parameter $post-> ID). Ini akan memberi kita suatu objek yang penuh dengan semua data tentang post kita. Dengan variabel ini, kita dapat membuat Deskripsi menggunakan konten yang sebenarnya dari pos, tetapi kita akan mempersingkat itu ke seratus karakter menggunakan fungsi substr ($excerpt). Dan kemudian, kita akan hanya echo keluar HTML dengan kutipan yang ditulis in. (opsional, Anda dapat juga menambahkan else statement, dan echo Deskripsi blog Anda menggunakan fungsi get_bloginfo('description').) 


Langkah 5. Mengoptimalkan Database

Fitur akhir untuk plugin kami akan mengoptimalkan tabel database kami dengan menghapus overhead (berguna/kelebihan data dalam tabel SQL diciptakan oleh memanipulasi database). Untuk memulai, kami akan membuat sebuah fungsi baru (optimize_database), dan itu, kita akan memanggil variabel global WPDB ($wpdb). Dengan cara itu, kami dapat berinteraksi dengan database, tanpa harus kembali memasukkan rincian otentikasi kami. $wpdb memiliki beberapa metode yang dapat Anda gunakan untuk berinteraksi dengan dan mengambil informasi dari database (daftar lengkap di sini), tetapi kami hanya akan menggunakan satu, get_results. Menggunakan get_results dengan parameter "SHOW TABLES" dan "ARRAY_A" akan mengembalikan ke kami array asosiatif semua nama tabel dalam database. Pada saat itu, kita dapat menggunakan foreach loop melalui semua nilai array (menggunakan array_values untuk mendapatkan nama tabel, karena bagaimana berlapis oleh fungsi) dan menggunakan metode $wpdb yang lain, query untuk menjalankan optimize commdn ("OPTIMIZE TABLE ___").

Sementara fungsi ini bekerja, itu akan pernah benar-benar dijalankan karena WordPress tidak memiliki cara untuk mengetahui untuk menjalankannya. Untungnya, WordPress memiliki fitur yang disebut cron, yang jadwal fungsi untuk menjalankan interval tertentu (harian, mingguan, dll...); ini sempurna bagi kita, karena kita ingin sering mengoptimalkan database kami. Menggunakan Cron, kita akan membuat sebuah fungsi baru (simple_optimization_cron_on), dan mengisinya dengan memanggil fungsi lain untuk wp_schedule_event(). Untuk bekerja, wp_schedule_event membutuhkan tiga hal: waktu untuk menjalankan, interval antara masing-masing run, dan fungsi untuk dipanggil; Jadi kita akan melewati parameter: 'time()' (kita akan berasumsi bahwa setiap kali acara cron dibuat adalah waktu yang baik untuk memanggil fungsi), 'harian', 'optimize_database' dalam urutan itu.

Besar, sekarang kita memiliki fungsi optimize_database kita sedang ditambahkan ke daftar cron WP, atau kita akan jika kita memanggil fungsi simple_optimization_cron_on. Ini tidak benar-benar aman dan praktik yang buruk untuk memanggil event Anda sendiri fungsi tambahan, karena melalui beberapa sistem yang sewenang-wenang peristiwa, bisa menyebabkan fungsi disebut beberapa kali. WordPress kebetulan memiliki seperangkat spesifik hook untuk plugin untuk memecahkan masalah ini: register_activation_hook dan register_deactivation_hook. Fungsi ini dipanggil ketika sebuah plugin diaktifkan (diaktifkan) dan dimatikan (dinonaktifkan). Dengan cara ini, fungsi cron kami hanya dapat ditambahkan sekali. Sekarang, kita memiliki kemampuan untuk menghapus acara cron jika plugin berhenti sedang digunakan. Untuk bekerja, fungsi-fungsi ini memerlukan dua lembar informasi: url untuk file yang memiliki fungsi aktivasi dan deaktivasi (99% dari waktu "__FILE__ " akan bekerja sempurna di sini), dan nama fungsi aktivasi dan deaktivasi. Kami juga akan membuat fungsi baru (simple_optimization_cron_off), dan mengisinya dengan sebuah pemanggilan ke fungsi lain (wp_clear_scheduled_hook('optimize_database')) untuk menghapus event cron kami.


Langkah 6. Mengisi ReadMe

Hal terakhir yang perlu kita lakukan untuk kami baru plugin adalah mengisi di readme.txt file. Readme.txt file digunakan oleh direktori WordPress Plugin untuk menampilkan semua informasi yang Anda berikan tentang plugin Anda. Cara terbaik untuk belajar bagaimana menulis file readme.txt efektif adalah untuk men-download default dari WP, dan mengubahnya sesuai untuk menyesuaikan plugin Anda. Karena kita begitu sederhana, ini adalah saya secara pribadi berakhir dengan:


Hanya itu!

Anda hanya berhasil menulis plugin WordPress pertama anda, yang bekerja dan siap untuk direktori plugin WP. Sepanjang jalan, Anda belajar tentang filter dan action, menggunakan WP objek global, banyak tentang WordPress nomencalture, bagaimana berinteraksi dengan database, cron evebt, dan aktivasi/penonaktifan hook. Jika Anda memiliki pertanyaan, silakan tinggalkan komentar dan aku akan merespon secepat aku bisa.

Kode akhir:

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.