Cara Membuat Banyak Widget di WordPress Menggunakan For & Foreach Loops
Diterbitkan: 2020-01-25Apakah Anda mencari cara dinamis untuk membuat banyak widget di WordPress tanpa menulis terlalu banyak kode? Atau pernahkah Anda melihat tema WordPress yang memungkinkan Anda membuat bilah sisi atau membuat beberapa widget dari dasbor?
Pada tutorial sebelumnya sudah saya jelaskan secara detail cara menambahkan sidebar di WordPress . Hari ini, dalam tutorial singkat ini, saya akan berbagi dengan Anda solusi cepat untuk membuat banyak widget di WordPress dengan cepat. Ini tidak hanya akan menghemat waktu Anda tetapi Anda akan menggunakan kembali trik di banyak proyek terutama jika Anda adalah pengembang WordPress profesional yang sibuk.
Loop untuk Membuat Beberapa Sidebar WordPress
Idealnya, kami ingin menggunakan fungsi yang membuat beberapa sidebar WordPress menggunakan semacam loop . Saat Anda membuat kode ini untuk tema atau plugin pertama, Anda akan menggunakannya kembali di lebih banyak pengembangan tema dan plugin.
Fungsi ini juga dapat menjadi dasar untuk membangun generator sidebar dinamis yang digunakan dalam tema atau plugin WordPress. Agar Anda memahami sepenuhnya bagaimana kode ini bekerja, Anda harus fasih dengan proses pembuatan sidebar WordPress seperti yang saya jelaskan secara menyeluruh di posting itu.
Membuat Widget WordPress
Widget WordPress memainkan peran penting dalam membantu pengguna menampilkan konten baru di berbagai bagian situs web mereka. Dalam posting ini tentang cara membuat area widget di WordPress ; Saya membagikan tips dan kode penting dan juga menjelaskan dengan sangat jelas di posting ini tentang cara menambahkan sidebar di WordPress .
Ketika Anda memiliki kemampuan untuk menambahkan widget di tema WordPress, itu sangat menakjubkan karena Anda dapat menambahkan fitur baru di semua bagian situs Anda.
Untuk ulasan singkat tentang cara menambahkan sidebar atau area widget di WordPress, kode berikut harus ditambahkan ke functions.php untuk mendaftarkan sidebar sebagai langkah pertama saat menambahkan widget di tema WordPress Anda:
/** * Daftarkan area widget. */ function njengah_create_one_widget_tutorial() { // Daftarkan fungsi Sidebar - https://developer.wordpress.org/reference/functions/register_sidebar/ register_sidebar( Himpunan( 'name' => __( 'Contoh Widget Njengah ', 'textdomain' ), 'id' => 'bilah sisi-1', 'description' => __( 'Tambahkan widget di sini untuk muncul di sidebar Anda.', 'textdomain' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); } add_action( 'widget_init', ' njengah_create_one_widget_tutorial');
Ini adalah fungsi register_sidebar() yang kita gunakan untuk menambahkan satu widget ke situs WordPress dan widget sekarang dapat ditampilkan di template halaman masing-masing menggunakan fungsi dynamic_sidebar() sebagai berikut:
<?php if ( is_active_sidebar( 'sidebar-1' ) ) : ?> <ul id="bilah sisi"> <?php dynamic_sidebar( 'sidebar-1' ); ?> </ul> <?php endif; ?>
Membuat Beberapa Bilah Sisi Widget di WordPress
Karena kode untuk mendaftarkan sidebar menggunakan fungsi register_sidebar() untuk membuat lebih banyak sidebars, Anda hanya perlu mengulangi kode itu beberapa kali sesuai keinginan: Sekarang kita dapat membuat tiga sidebars dengan mengulangi kode ini sebagai berikut:
/** * Daftarkan 3 area widget. */ function njengah_create_three_widget_tutorial() { //Daftarkan Bilah Sisi #1 register_sidebar( Himpunan( 'name' => __( 'Njengah Sidebar 1 ', 'textdomain' ), 'id' => 'bilah sisi-1', 'description' => __( 'Tambahkan widget di sini untuk muncul di sidebar 1 Anda', 'textdomain' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); //Daftarkan Bilah Sisi #2 register_sidebar( Himpunan( 'name' => __( 'Njengah Sidebar 2', 'textdomain' ), 'id' => 'bilah sisi-2', 'description' => __( 'Tambahkan widget di sini untuk muncul di sidebar Anda 2', 'textdomain' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); //Daftarkan Bilah Sisi #3 register_sidebar( Himpunan( 'name' => __( 'Njengah Sidebar 3 ', 'textdomain' ), 'id' => 'bilah sisi-3', 'description' => __( 'Tambahkan widget di sini untuk muncul di sidebar Anda 3', 'textdomain' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); } add_action( 'widget_init', 'njengah_create_three_widget_tutorial');
Anda dapat membuat lebih banyak dan lebih banyak area widget dengan mengulangi kode ini yang Anda gunakan untuk mendaftarkan widget dan semuanya berfungsi dan itu keren.
Tapi tunggu sebentar! Pernahkah Anda mendengar tentang satu aturan dasar atau pemrograman – KERING (Jangan Ulangi Diri Anda)?
Ini adalah prinsip sederhana yang berarti kode Anda harus efisien dan harus menghindari pengulangan seperti itu untuk menghindari redundansi. Kita dapat mengganti kode ini dengan sesuatu yang lebih baik, misalnya, kita dapat meneruskan argumen ke fungsi register_sidebar() untuk melakukannya tiga kali.
Buat Banyak Widget di WordPress dengan Argumen
Kita dapat mencapai tujuan kita untuk membuat beberapa widget di WordPress dengan mengubah fungsi register_sidebar() dengan melewatkan array argumen sebagai parameter kedua dan parameter pertama adalah jumlah widget yang ingin kita buat. Dalam hal ini, kita dapat mengubah kode yang dibagikan di atas menjadi ini:
fungsi create_multiple_sidebar_widgets() { $args = array( 'name' => 'Njengah Sidebar %d', 'id' => 'njengah-sidebar', 'description' => 'Salah satu sidebar tutorial Njengah', 'kelas' => '', 'before_widget' => '<li id="%1$s" class="widget %2$s">', 'after_widget' => '</li>', 'before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>' ); register_sidebar( 3, $args ); } add_action( 'widget_init', 'create_multiple_sidebar_widgets');
Nilai nama memiliki placeholder %d yang memungkinkan kita untuk menampilkan bilah sisi dengan angka 1,2 dan 3.
Ini adalah solusi cepat untuk membuat banyak widget di WordPress tetapi tetap saja, ini bukan solusi akhir. Kami dapat melanjutkan dan meningkatkannya seperti yang akan saya tunjukkan segera.
Buat Banyak Sidebar dengan Array di WordPress
Solusi di atas tidak terlalu efektif karena judul dan deskripsi terbatas hanya yang Anda tetapkan di fungsi register_sidebar ().
Untuk membuat solusi ini lebih baik, kami dapat memperkenalkan array dengan nama, id, dan deskripsi, lalu kami menggunakan loop foreach untuk mendaftarkan bilah sisi.
Berikut ini adalah contoh membuat beberapa widget menggunakan array dan loop foreach:
fungsi create_multiple_sidebar_widgets() { $njengah_sidebars = array( Himpunan( 'name' => 'Beranda Area Widget', 'id' => 'widget-area-homepage', 'description' => 'Widget ditampilkan di beranda', ), Himpunan( 'name' => 'Header Area Widget', 'id' => 'widget-area-header', 'description' => 'Widget ditampilkan di header', ), Himpunan( 'name' => 'Widget Area Footer', 'id' => 'widget-area-footer', 'description' => 'Widget ditampilkan di footer', ), ); $default = array( 'name' => 'Njengah Sidebar', 'id' => 'njengah-sidebar', 'description' => 'Bilah sisi default ditampilkan di sisi kiri halaman blog dalam tema ini', 'kelas' => '', 'before_widget' => '<li id="%1$s" class="widget %2$s">', 'after_widget' => '</li>', 'before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>' ); foreach( $njengah_sidebars sebagai $sidebar ) { $args = wp_parse_args( $sidebar, $default ); register_sidebar( $args ); } } add_action( 'widget_init', 'create_multiple_sidebar_widgets');
Solusi ini memberi Anda kemampuan untuk membuat beberapa widget di masa mendatang karena Anda hanya perlu menambahkan setiap detail widget baru (nama, id, dan deskripsi) ke array dan widget dibuat dengan cepat.
Buat Beberapa Widget Footer Serupa di WordPress
Pada akhirnya ini adalah pendekatan terbaik untuk membuat banyak widget di WordPress meskipun opsi kedua juga dapat berguna ketika Anda menginginkan beberapa widget serupa.
Misalnya, ketika Anda ingin membuat beberapa widget footer, akan lebih mudah menggunakan for loop sebagai berikut:
/** * Daftarkan area widget menggunakan for loop * * @penulis Joe Njenga */ function njengah_register_sidebars_dynamically() { untuk ( $i = 1, $n = 5; $i <= $n; $i++ ) { register_sidebar( Himpunan( 'name' => esc_html__( 'Area Footer #', 'textdomain' ) . $aku, 'id' => 'footer-' . $aku, 'description' => sprintf( esc_html__( 'Kolom #%s di area footer', 'textdomain' ), $i ), 'before_widget' => '<aside id="%1$s" class="widget %2$s">', 'after_widget' => '</aside>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', ) ); } } } add_action( 'widgets_init', 'njengah_register_sidebars_dynamically' );
Saya pikir ini bisa menjadi salah satu solusi paling berguna untuk membuat banyak widget di WordPress karena for loop hanya menghitung hingga 5 dan membuat 5 widget, Anda cukup mengubah nomornya ke jumlah widget lain yang Anda inginkan dan beberapa widget akan dihasilkan dinamis dengan cepat.
Membungkus
Kami telah membahas tiga cara berbeda untuk membuat banyak widget di WordPress dan saya harap ini hanya permulaan untuk memberi Anda dorongan untuk menciptakan cara yang lebih inovatif dalam membuat beberapa sidebar dinamis atau beberapa widget di tema dan plugin WordPress. Terakhir, penting bagi setiap pengembang WordPress untuk mempelajari cara menggunakan prinsip KERING karena tidak hanya menghemat waktu tetapi juga meningkatkan efisiensi kode.