Cara Membuat Plugin WordPress dengan Opsi Widget Multi-Instance Untuk Penggunaan Sidebar atau Footer – Kode Plugin WordPress Siap Pakai
Diterbitkan: 2016-05-11Widget WordPress Beberapa Instance / Widget Kustom WordPress
Crunchify telah membuat beberapa plugin WordPress selama beberapa tahun terakhir. Salah satu persyaratan yang kami dapatkan untuk plugin Anggota Facebook kami adalah memiliki multiple instance
widget yang sama karena pengguna mungkin ingin Plugin Halaman Facebook ke dalam Sidebar
mereka dan juga di bagian Footer
.
Saat bekerja dengan banyak klien selama beberapa tahun terakhir, kami telah membuat beberapa plugin sederhana dengan beberapa opsi widget instans.
Dalam tutorial ini kita akan membahas Sample ready-to-use WordPress Plugin
yang akan menempatkan widget Facebook Page Plugin
langsung ke Sidebar dan/atau Footer blog Anda. Jangan ragu untuk menggunakan kode ini ke dalam plugin Anda.
Mari kita mulai:
Langkah 1
Saya biasanya melakukan semua pengembangan Java dan WordPress di Eclipse IDE. Jadi, ikuti tutorial untuk menyiapkan kit pengembangan PHP ke Eclipse.
Buat file crunchify-plugin.php
di bawah folder crunchify-plugin
dan letakkan kode di bawah ini.
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
<?php /* * Plugin Name: Crunchify Plugin * Plugin URI: https://crunchify.com/ * Description: The Simplest Ready to use WordPress Plugin with Multiple Instance of the same Widgets option - by Crunchify * Version: 1.0 * Author: Crunchify * Author URI: https://crunchify.com * Text Domain: crunchify-plugin */ class crunchify_widget extends WP_Widget { // Create Multiple WordPress Widgets function __construct ( ) { parent : : __construct ( 'crunchify_widget' , __ ( 'Crunchify Plugin' , 'crunchify_plugin_domain' ) , array ( 'description' = > __ ( 'Sample WordPress Plugin by Crunchify' , 'crunchify_plugin_domain' ) ) ) ; } // This function creates nice Facebook Page Like box in Header or Footer public function widget ( $args , $instance ) { $crunchify_facebook_url = apply_filters ( 'crunchify_facebook_url' , $instance [ 'crunchify_facebook_url' ] ) ; $crunchify_facebook_hidecover = $instance [ 'crunchify_facebook_hidecover' ] ? 'true' : 'false' ; $crunchify_facebook_showface = $instance [ 'crunchify_facebook_showface' ] ? 'true' : 'false' ; $facebookpage = '<div><iframe src="//www.facebook.com/plugins/page.php?href=' . $crunchify_facebook_url . '&tabs=&width=300&height=220&small_header=false&adapt_container_width=true&hide_cover=' . $crunchify_facebook_hidecover . '&show_facepile=' . $crunchify_facebook_showface . '&show_border=false&header=false" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>' ; echo $before_widget ; echo $before_title . $after_title ; echo $facebookpage ; echo $after_widget ; } // Create Instance and Assign Values public function form ( $instance ) { if ( isset ( $instance [ 'crunchify_facebook_url' ] ) ) { $crunchify_facebook_url = $instance [ 'crunchify_facebook_url' ] ; } else { $crunchify_facebook_url = __ ( 'https://facebook.com/Crunchify' , 'crunchify_plugin_domain' ) ; } $instance [ 'crunchify_facebook_hidecover' ] = $instance [ 'crunchify_facebook_hidecover' ] ? 'true' : 'false' ; $instance [ 'crunchify_facebook_showface' ] = $instance [ 'crunchify_facebook_showface' ] ? 'true' : 'false' ; ?> < ! -- This is Crunchify Widget Form -- > < p > < label for = " <?php echo $this - > get_field_id ( 'crunchify_facebook_url' ) ; ?> " > <?php _e ( 'Facebook Page URL' ) ; ?> < / label > < input class = "widefat" id = " <?php echo $this - > get_field_id ( 'crunchify_facebook_url' ) ; ?> " name = " <?php echo $this - > get_field_name ( 'crunchify_facebook_url' ) ; ?> " type = "text" value = " <?php echo esc_attr ( $crunchify_facebook_url ) ; ?> " / > < br / > < br / > < label for = " <?php echo $this - > get_field_id ( 'crunchify_facebook_hidecover' ) ; ?> " > <?php _e ( 'Hide Cover?' ) ; ?> < / label > < input class = "checkbox" type = "checkbox" <?php checked ( $instance [ 'crunchify_facebook_hidecover' ] , 'true' ) ; ?> id = " <?php echo $this - > get_field_id ( 'crunchify_facebook_hidecover' ) ; ?> " name = " <?php echo $this - > get_field_name ( 'crunchify_facebook_hidecover' ) ; ?> " / > < br / > < br / > < label for = " <?php echo $this - > get_field_id ( 'crunchify_facebook_showface' ) ; ?> " > <?php _e ( 'Show Facepile?' ) ; ?> < / label > < input class = "checkbox" type = "checkbox" <?php checked ( $instance [ 'crunchify_facebook_showface' ] , 'true' ) ; ?> id = " <?php echo $this - > get_field_id ( 'crunchify_facebook_showface' ) ; ?> " name = " <?php echo $this - > get_field_name ( 'crunchify_facebook_showface' ) ; ?> " / > < / p > <?php } // Updating widget replacing old instances with new function update ( $new_instance , $old_instance ) { $instance = array ( ) ; $instance [ 'crunchify_facebook_url' ] = ( ! empty ( $new_instance [ 'crunchify_facebook_url' ] ) ) ? strip_tags ( $new_instance [ 'crunchify_facebook_url' ] ) : '' ; $instance [ 'crunchify_facebook_hidecover' ] = $new_instance [ 'crunchify_facebook_hidecover' ] ; $instance [ 'crunchify_facebook_showface' ] = $new_instance [ 'crunchify_facebook_showface' ] ; return $instance ; } } function crunchify_plugin ( ) { register_widget ( 'crunchify_widget' ) ; } // Initialize Plugin add_action ( 'widgets_init' , 'crunchify_plugin' ) ; ?> |

Mari kita pahami 4 baris yang disorot dari kode di atas:
- fungsi __konstruksi()
- Inisialisasi plugin WordPress dengan Nama dan Deskripsi
- widget fungsi publik($args, $instance)
- Inilah yang ditampilkan di Blog Anda – keluarkan konten widget
- bentuk fungsi publik($instance)
- Di sinilah Anda menentukan opsi Widget WordPress di dalam
Appearance
->Widgets
- Di sinilah Anda menentukan opsi Widget WordPress di dalam
- pembaruan fungsi($new_instance, $old_instance)
- Ketika Anda mengklik tombol Simpan – Nilai opsi akan disimpan
NOTE:
tindakan widgets_init
akan memanggil fungsi Anda crunchify_plugin
yang secara internal registers
widget dengan nama crunchify_widget
.
Langkah 2
Buat file readme.txt
di bawah folder crunchify-plugin
sama dengan konten di bawah ini. Jangan ragu untuk memperbaruinya sesuai kebutuhan 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 34 35 36 37 38 |
=== Crunchify Plugin === Contributors : Crunchify Tags : WordPress , WordPress Plugins , Crunchify , multiple widgets Requires at least : 4.3 Tested up to : 4.5.2 Stable tag : 1.0 The simplest ready to use WordPress Plugin with Multiple Instance of the same Widgets option - by Crunchify . com == Description == Sample WordPress Plugin which creates Multiple Widgets for your plugin . [ Feedback ] ( https : //crunchify.com/) | [Twitter](https://twitter.com/Crunchify) == Installation == 1. Unpack the ` download - package ` . 2. Upload the file to the ` / wp - content / plugins / ` directory . 3. Activate the plugin through the ` Plugins ` menu in WordPress . 4. Go to Appearance - > Widgets Section - > Select Plugin ` Crunchify Plugin ` . 5. Done and Ready . == Frequently Asked Questions == = FAQ1 = * Your Answer1 . = Where do I get latest updates on plugin ? = * On < a href = "http://twitter.com/Crunchify" target = "_blank" > Twitter < / a > and < a href = "http://www.facebook.com/Crunchify" target = "_blank" > Facebook < / a > . == Screenshots == 1. Screenshot1 details 2. Screenshot2 details == Changelog == = 1.0 = * Initial Working Version |
Langkah-3
Hanya untuk memastikan struktur folder Anda akan terlihat seperti ini:
Letakkan folder crunchify-plugin
di bawah folder plugins
.
Langkah-4 Bagaimana Mengaktifkan?
- Buka
Admin Panel
situs Anda - Klik pada
Plugins
-
Activate
plugin Plugin Crunchify
Langkah-5 Pengaturan Opsi Plugin
- Klik
Appearance -> Widgets
- Pilih
Crunchify Plugin
dan letakkan di bawahSidebar
atauFooter
- Perbarui opsi dan klik
save
Langkah-6 Bagaimana cara memverifikasi?
Saya telah menempatkan dua widget dengan opsi berbeda.
Anda akan melihat multiple instances of same Crunchify Plugin
yang memancarkan Facebook Page Plugin
yang bagus di Sidebar Atau Footer Anda sesuai pengaturan Anda.