Cara membuat plugin WordPress Anda sendiri

Diterbitkan: 2016-07-13

Ini mungkin tampak seperti usaha besar untuk membuat plugin WordPress. Dalam beberapa kasus ini benar – beberapa plugin bisa sangat kompleks. Tetapi tergantung pada fungsionalitas yang ingin Anda tambahkan, banyak yang sebenarnya cukup sederhana untuk dibuat. Membuat plugin dapat dilakukan dengan cepat dengan beberapa pemahaman dasar tentang cara kerjanya.

Ke mana perginya plugin?

Struktur folder WordPress

Sebelum pengembangan dimulai, ada baiknya mengetahui di mana letak plugin. Mari kita lihat struktur folder WordPress di direktori aplikasi dasar. Di dalam folder wp-content , Anda akan melihat direktori plugins. Di sinilah semua plugin individual Anda akan hidup.

Plugin dalam folder ini dapat berupa file tunggal atau dalam subdirektori. Plugin yang lebih kecil biasanya hanya membutuhkan satu file .php. Plugin kompleks mungkin memiliki beberapa jenis file (HTML, CSS, dan JavaScript adalah semua kemungkinan). Membuat subdirektori berguna untuk menampung berbagai file bersama dengan fungsi .php dari plugin.

cara-membangun-wordpress-plugin-plugin-file-path

Tindakan dan filter

Sebelum pembuatan plugin dimulai, ada baiknya mengetahui beberapa dasar untuk membantu Anda memulai. Saat Anda mulai mengkodekan plugin Anda sendiri, tempat yang baik untuk memulai adalah mempelajari cara kerja tindakan dan filter. Mengetahui dasar-dasarnya akan sangat membantu dan karena Anda memiliki lebih banyak pertanyaan tentangnya, Codex WordPress adalah sumber yang bagus.

Sebelum pengembangan plugin

Informasi meta sangat penting dan juga merupakan informasi yang memberi tahu detail WordPress tentang plugin. Plugin memiliki opsi untuk diinstal, dihapus, diaktifkan, dan dinonaktifkan. Secara teknis, yang Anda butuhkan hanyalah nama plugin untuk WordPress untuk membuat file Anda sebagai plugin. Namun, ini adalah praktik yang baik untuk memberikan informasi lain karena akan membantu Anda dan pengguna Anda.

<?php

/**

* Plugin Name: Example Plugin

* Plugin URI: http://mysite.com/

* Description: A brief description about your plugin.

* Version: 1.0 (or whatever current version your plugin is on)

* Author: Plugin Author's Name

* Author URI: Author's website

* License: A "Slug" license name e.g. GPL12

*/

Plugin yang sangat sederhana

Memulai dari yang kecil adalah cara yang baik untuk memudahkan pembuatan plugin. Mari kita buat contoh yang sangat sederhana. Tindakan dan filter membuat sesuatu terjadi, jadi mari tambahkan sebaris teks setelah semua kiriman untuk menguji semuanya.

Itu selalu baik untuk bekerja di lingkungan pengembangan, dan ini sangat penting saat Anda bereksperimen dengan plugin.

Pertama, buat file baru dan pastikan itu di tempat yang benar. Salin dan tempel kode ini ke file plugin utama Anda dan simpan. Ini akan disisipkan setelah informasi meta.

add_action( 'the_content', 'test_example_text' );

function test_example_text ( $content ) {
    return $content .= '<p>This is my first plugin!</p>';
}

Ini adalah contoh hook yang bekerja keras. Dengan mengaitkan ke tindakan the_content , ini berfungsi saat WordPress merender konten posting. WordPress memanggil fungsi test_example_text yang didefinisikan di bawah add_action call .

Melihat plugin beraksi

Anda mungkin pernah melakukan ini sebelumnya, tetapi ketika masuk ke admin WordPress, Anda akan melihat opsi plugin di sebelah kiri. Plugin kami muncul, dan sekarang perlu diaktifkan. Setelah diaktifkan, itu muncul di akhir posting.

cara-membangun-wordpress-plugin-plugin-listing

cara-membangun-wordpress-plugin-plugin-pertama

Plugin yang lebih kompleks

Jadi contoh ini menunjukkan dasar-dasar cara kerja plugin, tetapi bagaimana jika Anda ingin melakukan sesuatu yang sedikit lebih berguna? Jenis posting kustom cukup sering digunakan dalam desain situs kustom, jadi mari kita mulai dengan itu. Ada plugin yang bisa Anda gunakan, tetapi membuatnya dari awal adalah cara yang baik untuk memudahkan pengembangan plugin.

Apa jenis posting khusus di WordPress?

Halaman dan posting adalah jenis konten paling populer di WordPress, tetapi bagaimana jika Anda menginginkan sesuatu yang lebih spesifik? Halaman dan Posting mungkin terlalu umum dalam beberapa keadaan, itulah sebabnya jenis posting khusus menjadi berguna. Contoh yang baik adalah jenis portofolio pos kustom. Idenya adalah untuk membuat posting biasa dengan nilai jenis posting berbeda yang melekat padanya.

Cara membuat situs portofolio di WordPress

Memiliki halaman portofolio di situs web dapat digunakan untuk banyak hal. Menurut definisi, itu adalah sesuatu yang digunakan untuk menyimpan bahan seperti kertas, peta, gambar, foto, dll. Portofolio dalam istilah keuangan ref...

Anda dapat memanggil jenis posting kustom Anda apa pun yang Anda inginkan. Misalnya, jika Anda menjalankan situs makanan, Anda dapat membuat jenis postingan resep yang praktis. Jenis posting ini dapat memiliki bidang khusus yang berbeda dengan struktur kategori khusus sendiri.

Membuat jenis posting khusus

Hal pertama yang perlu Anda lakukan adalah benar-benar membuat jenis posting khusus. Menggunakan struktur file yang sama dari atas, mari tambahkan folder dan file .php kita. Dengan asumsi informasi meta telah dibuat, kami akan menambahkan fungsionalitas kami setelah blok meta.

Kami akan membuat plugin untuk jenis posting khusus yang disebut "Resep" untuk menunjukkan dasar-dasar membuat plugin yang lebih kompleks.

Versi dasar

Jika Anda melihat cuplikan di bawah, ini cukup sederhana di awal. Kami akan melihat jenis posting khusus di menu kiri untuk memastikan ini berfungsi. register_post_type() digunakan dalam suatu fungsi, yang menghubungkan ke tindakan init . Ada dua argumen yang merupakan jenis posting khusus dan array argumen.

function recipe_custom_post_type() {
	register_post_type( 'recipe', array( 'public' => true, 'label' => 'Recipes' ) );
}
add_action( 'init', 'recipe_custom_post_type' );

cara-membangun-wordpress-plugin-custom-post-type-01

Versi lanjutan

Versi dasar dari plugin ini benar-benar akan berfungsi, namun, lebih banyak fungsionalitas diperlukan untuk benar-benar membuatnya luar biasa. Misalnya, label masih membaca "Tambahkan pos baru". Kami ingin ini menjadi lebih spesifik resep; lagi pula, inilah mengapa kami tidak hanya menggunakan pos biasa. Kustomisasi dapat dibuat menggunakan properti labels.

cara-membangun-wordpress-plugin-tambahkan-posting baru

Sekarang, mari kita gores apa yang baru saja kita lakukan dan gunakan ini sebagai gantinya:

add_action( 'init', 'recipe_custom_post_type' );
add_filter( 'post_updated_messages', 'recipes_messages' );

function recipe_custom_post_type() {
	$labels = array(
		'name'               => 'Recipes',
		'singular_name'      => 'Recipe',
		'menu_name'          => 'Recipe',
		'name_admin_bar'     => 'Recipe',
		'add_new'            => 'Add New',
		'add_new_item'       => 'Add New Recipe',
		'new_item'           => 'New Recipe',
		'edit_item'          => 'Edit Recipe',
		'view_item'          => 'View Recipe',
		'all_items'          => 'All Recipes',
		'search_items'       => 'Search Recipes',
		'parent_item_colon'  => 'Parent Recipes:',
		'not_found'          => 'No recipes found.',
		'not_found_in_trash' => 'No recipes found in Trash.'
	);

	$args = array( 
		'public'      => true, 
		'labels'      => $labels,
		'rewrite'		=> array( 'slug' => 'recipe' ),
		'has_archive'   => true,
		'menu_position' => 20,
		'menu_icon'     => 'dashicons-carrot',
		'taxonomies'		=> array( 'post_tag', 'category' ),
		'supports'      => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'custom-fields', 'comments' )
	);
    	register_post_type( 'recipe', $args );
}

function recipes_messages( $messages ) {
	$post = get_post();

	$messages['recipe'] = array(
		0  => '',
		1  => 'Recipe updated.',
		2  => 'Custom field updated.',
		3  => 'Custom field deleted.',
		4  => 'Recipe updated.',
		5  => isset( $_GET['revision'] ) ? sprintf( 'Recipe restored to revision from %s',wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
		6  => 'Recipe published.',
		7  => 'Recipe saved.',
		8  => 'Recipe submitted.',
		9  => sprintf(
			'Recipe scheduled for: <strong>%1$s</strong>.',
			date_i18n( 'M j, Y @ G:i', strtotime( $post->post_date ) )
		),
		10 => 'Recipe draft updated.'
	);

	return $messages;
}


cara-membangun-wordpress-plugin-tambahkan-resep-baru

Lihat bagaimana teks di atas sekarang berbunyi "Tambahkan Resep Baru"? Kami mewujudkannya dengan menyesuaikan "tambah item baru" dengan teks yang diinginkan.

bagaimana-untuk-membangun-wordpress-plugin-ui-elemen

cara-membangun-wordpress-plugin-recip-posting

Ada banyak hal yang terjadi di sini dan hal-hal menjadi cukup detail ketika bekerja dengan argumen. Salah satu yang terlihat jelas adalah properti supports . Di sini kami telah menyatakan bahwa judul, editor, penulis, thumbnail, kutipan, bidang khusus, dan komentar disertakan. Ini ditampilkan di antarmuka pengguna admin dan di beberapa bagian ujung depan juga. Properti taksonomi memungkinkan Anda untuk menetapkan taksonomi khusus ke jenis pos kustom.

cara-membangun-wordpress-plugin-ui-baru

Pesan interaksi jenis posting

Setiap kali Anda menyimpan, menghapus, mencari, dll., Anda menerima pesan default. Dalam fungsi recipes_messages kami, ada daftar pesan-pesan ini. Menentukan larik untuk jenis kiriman khusus dengan pesan yang sesuai akan memastikan segala sesuatunya dibaca sesuai keinginan Anda untuk jenis kiriman khusus. Hal-hal terlihat sangat spesifik resep dengan kata-katanya, jadi ini cocok dengan jenis posting khusus.

bagaimana-untuk-membangun-wordpress-plugin-resep-teks

Setelah Anda menyelesaikan plugin, Anda dapat mempublikasikannya di Direktori Plugin WordPress sehingga orang lain juga dapat mengunduhnya. Jika ini masalahnya, menyertakan readme.txt sangat membantu bagi mereka yang mencari plugin seperti milik Anda. Pada dasarnya, file ini akan menyertakan nama Anda dan apa yang dilakukan plugin, tetapi Anda juga dapat menyertakan detail tentang setiap revisi dan spesifik tentang pembaruan.

Seperti yang Anda lihat, plugin bisa sangat sederhana atau kompleks. Membuat plugin tidak serumit kelihatannya dan merupakan kebiasaan yang baik untuk dilakukan saat mengembangkan situs WordPress. Mereka memungkinkan pengorganisasian yang mudah dan kemampuan untuk digunakan kembali di banyak situs, membuat pengembangan WordPress Anda lebih efisien.

cara-membangun-wordpress-plugin-ebook-cta