Menyesuaikan Tabel Admin WordPress: Modifikasi Tingkat Lanjut

Diterbitkan: 2021-01-26

Dalam artikel pertama kami di seri kami tentang menyesuaikan Tabel Admin WordPress, kami melihat bagaimana menerapkan beberapa konfigurasi dasar ke layar admin jenis posting kami termasuk menambahkan kolom khusus dan membuatnya dapat diurutkan.

Hari ini kita akan melangkah lebih jauh dan melihat beberapa modifikasi tambahan yang dapat diterapkan pada tabel admin daftar Postingan. Mari kita pergi!

Meningkatkan Tabel Posting Admin WordPress

Memberikan informasi tambahan di layar tabel admin Anda untuk pengguna backend Anda pasti akan meningkatkan pengalaman alur kerja mereka. Dalam tutorial ini kami akan bertujuan untuk meningkatkan data yang ditampilkan di Tabel Admin Postingan kami dengan menambahkan informasi, memodifikasi konten yang ada, menyusun ulang kolom dan bahkan menghapus kolom tabel yang tidak perlu.

Tampilkan Gambar Unggulan

Akan sangat berguna untuk menambahkan thumbnail unggulan ke daftar posting tabel admin Anda. Ini benar-benar akan mempercepat kemampuan untuk melihat apakah sebuah postingan memiliki gambar yang salah (atau mungkin tidak memiliki gambar sama sekali) tanpa harus membuka setiap postingan.

Untuk mencapai ini, kami akan membuat kolom gambar unggulan untuk halaman edit posting kami dan mengisinya dengan thumbnail gambar. Seperti yang ditunjukkan pada artikel kami sebelumnya, kami akan menggunakan manage_posts_columns . Jika Anda belum membaca artikel ini, silakan baca karena artikel ini menyertakan beberapa kode yang diperlukan untuk tutorial ini.

Jika Anda telah membaca artikel dan mengikutinya, Anda seharusnya memiliki kode berikut di file functions.php tema aktif Anda. Jika tidak, silakan tambahkan!

 add_filter('manage_posts_columns','add_custom_columns'); function add_custom_columns( $columns ) { $columns['last_modified'] = 'Last modified'; return $columns; } add_action( 'manage_posts_custom_column','custom_columns_content', 10, 2 ); function custom_columns_content ( $column_id, $post_id ) { switch( $column_id ) { case 'last_modified': echo get_post_field('post_modified', $post_id); break; } }

Untuk menampilkan gambar unggulan di Tabel Admin kami, kami perlu mengedit kode ini sebagai berikut:

 add_filter('manage_posts_columns','add_custom_columns'); function add_custom_columns( $columns ) { $columns['last_modified'] = 'Last modified'; $columns['my_post_thumbs'] = 'Thumbs'; return $columns; } add_action( 'manage_posts_custom_column','custom_columns_content', 10, 2 ); function custom_columns_content ( $column_id, $post_id ) { switch( $column_id ) { case 'last_modified': echo get_post_field('post_modified', $post_id); break; case 'my_post_thumbs': echo the_post_thumbnail( 'thumbnail' ); break; } }

Angka, 10 dan 2 dalam argumen ketiga dan keempat, menentukan prioritas di mana fungsi yang terkait dengan tindakan ini akan diproses. Argumen ini akan diteruskan ke fungsi custom_columns_content kami.

Default untuk prioritas adalah 10. Angka 2 menunjukkan jumlah argumen fungsi. Jadi dalam kasus kami, penting untuk memasukkan angka-angka ini karena kami memiliki 2 argumen, yaitu $column_id dan $post_id .

Sekarang, dengan kode ini disimpan, mari kita lihat apa yang kita miliki di layar posting admin kita.

Tabel admin WordPress menampilkan gambar

Seperti yang Anda lihat, kami sekarang memiliki kolom 'Terakhir Dimodifikasi' dan kolom 'Jempol' baru kami.

Ubah Label Kolom

Misalkan kita ingin untuk beberapa alasan mengubah label kolom, misalnya, ganti nama kolom 'Penulis' menjadi 'Penulis'. Untuk melakukan ini, kita cukup mendefinisikan label baru dengan cara yang sama seperti kita menambahkan kolom kustom kita. Sekali lagi, untuk menjaga agar kode kita lebih khas, kita akan memisahkan cuplikan kode penggantian nama menggunakan fungsi yang berbeda.

 add_filter('manage_posts_columns','rename_columns'); function rename_columns( $columns ) { $columns['author'] = 'Writer'; return $columns; }

Tentu saja Anda dapat mengubah label beberapa kolom dalam potongan kode yang sama hanya dengan menambahkan $columns['COLUMN_ID'] = 'NEW_LABEL'; tepat sebelum return $columns;

Tingkatkan Tabel Halaman Admin WordPress

Anda mungkin tidak menyadari hal ini tetapi Halaman WordPress adalah jenis posting hierarkis yang berarti bahwa setiap Halaman mungkin memiliki Halaman induk.

Akan sangat membantu untuk melihat sekilas halaman mana yang merupakan halaman induk dari halaman anak mana pun. Mari kita lihat bagaimana melakukan ini.

Tambahkan Kolom Kustom yang Menampilkan Posting Induk

Pertama, buat beberapa halaman induk dan anak dengan beberapa gambar unggulan terkait.

Postingan orang tua dan anak tabel admin WordPress

Selanjutnya, kita akan memasukkan beberapa kode ke dalam file functions.php kita. Kami akan mengikuti proses yang sama yang kami lakukan dengan jenis Postingan tentang menambahkan apa yang akan kami sebut kolom 'Leluhur'.

 add_filter('manage_pages_columns','add_ancestor_column'); function add_ancestor_column( $columns ) { $columns['ancestor'] = 'Ancestor'; return $columns; }

Hal yang sama berlaku untuk menempatkan kolom pada posisi yang diinginkan dalam tabel. Kami akan mengurutkan ulang kolom tabel sehingga kolom 'Leluhur' muncul sebelum kolom Penulis.

 add_filter('manage_pages_columns', 'change_ancestor_column_position'); function change_ancestor_column_position($columns) { $n_columns = array(); foreach($columns as $key => $value) { if ($key=='author'){ $n_columns['ancestor'] = 'ancestor'; } $n_columns[$key] = $value; } return $n_columns; }

Pada titik ini, di layar admin Halaman Anda, Anda akan melihat sesuatu seperti ini:

Hal terakhir yang harus kita lakukan adalah mengisi kolom 'Leluhur' dengan konten yang tepat. Karena kali ini kami bekerja dengan jenis posting hierarkis, kami akan menggunakan pengait yang berbeda untuk mendapatkan konten kolom. Coba dan masukkan potongan kode ini dan periksa hasilnya.

 add_action( 'manage_pages_custom_column','ancestor_column_content', 10, 2 ); function ancestor_column_content ( $column_id, $post_id ) { switch( $column_id ) { case 'ancestor': $ancestors = get_ancestors($post_id, 'subject', 'post_type'); $post_ancestor = end($ancestors); if ($post_ancestor != 0) { echo '<a href="' . get_edit_post_link($post_ancestor) . '">' . get_the_title($post_ancestor) . '</a>'; } else { echo '-'; } break; } }

Anda sekarang akan melihat halaman Induk terkait di samping halaman anak mereka yang tercantum di kolom 'Leluhur'.

Ini sangat berguna jika dan ketika urutan halaman Anda di Tabel Admin terganggu (misalnya karena mereka diurutkan berdasarkan tanggal diterbitkan, dll.) dan oleh karena itu halaman anak tidak lagi muncul dengan rapi di bawah halaman induknya masing-masing.

Mengubah Kolom Default

Ada beberapa hal yang dapat dilakukan untuk memperbaiki kolom tabel Admin default. Mari kita lihat beberapa di antaranya.

Menata Ulang Kolom

Dalam artikel kami sebelumnya tentang menyesuaikan Tabel Admin, kami menambahkan kolom baru yang menampilkan tanggal terakhir kali postingan diubah. Tetapi bagaimana jika kita ingin mengubah posisinya dalam urutan kolom?

Untungnya ini cukup mudah dan dapat diimplementasikan dengan menggunakan kait manage_posts_columns .

Yang harus ditentukan adalah kolom yang perlu dipindahkan dan kolom segera sebelum kita ingin menempatkan kolom kita. Jadi jika, misalnya, kita menginginkan gambar fitur sebagai kolom tabel pertama, kita harus memindahkannya sebelum kolom judul. Kode bagian yang sesuai harus seperti ini:

 add_filter('manage_posts_columns', 'change_column_order'); function change_column_order($columns) { $n_columns = array(); $move = 'author'; // what to move $before = 'title'; // move before this foreach($columns as $key => $value) { if ($key==$before){ $n_columns[$move] = $move; } $n_columns[$key] = $value; } return $n_columns; }

Dan voila!

tambahkan gambar unggulan ke tabel admin WordPress Anda

Menghapus Kolom

Terkadang beberapa kolom dari tabel daftar postingan sebenarnya tidak terlalu berguna dan akan lebih baik jika kolom tersebut dihapus untuk mengosongkan beberapa ruang. Kandidat umum untuk ini adalah kolom komentar.

Untungnya sangat mudah untuk menghapus kolom dari tabel kita. Kita hanya perlu menambahkan unset($columns['comments']); dalam fungsi kait manage_posts_columns . Meskipun ini dapat ditambahkan ke kode kita yang sudah ada, akan lebih rapi jika kita dapat memisahkan ini menjadi potongan kodenya sendiri karena memiliki tujuan yang berbeda dan memperkenalkan fungsi baru ke hook.

 add_filter('manage_posts_columns' , 'remove_columns'); function remove_columns($columns) { unset($columns['comments']); return $columns; }

Dan itu saja. Segarkan layar Admin Anda dan Anda akan melihat bahwa kolom Komentar telah menghilang.

Catatan: Jika Anda tidak yakin apa ID kolom, Anda dapat mendeteksi ini dengan menggunakan konsol inspektur browser Anda.

Plugin Kolom Admin

Jika Anda tidak ingin mengubah kode pada Tabel Admin WordPress Anda, jangan takut… karena ini adalah WordPress, ada plugin yang memungkinkan Anda membuat sejumlah pembaruan tanpa harus menyentuh sebaris kode. Ini disebut Kolom Admin.

Catatan: Sebelum melanjutkan dengan menginstal/mengaktifkan plugin, lebih baik Anda mengembalikan semua penyesuaian pada tabel daftar posting (jika Anda telah membuatnya) dan mulai menggunakan plugin dengan tabel posting admin pada keadaan awalnya.

Setelah Anda mengunduh dan menginstal plugin, buka item menu Pengaturan > Kolom Admin. Dari sini Anda dapat memilih tabel daftar posting (atau jenis posting lain di mana Anda ingin kemampuan untuk mengedit tabel adminnya) dari daftar dropdown. Anda kemudian akan diperlihatkan struktur tabel saat ini.

Sekarang, dengan menggunakan antarmuka seret dan lepas, Anda dapat dengan mudah mengurutkan ulang kolom. Anda juga dapat mengedit label jenis dan lebar dengan menggunakan ikon panah untuk melihat konfigurasinya.

Dan, ya, Anda bahkan dapat menambahkan kolom Anda sendiri menggunakan tombol 'Tambahkan Kolom' di kanan bawah!

Apa yang sebenarnya dilakukan plugin di sini adalah mengumpulkan semua opsi yang tersedia dari tabel database yang terkait dengan jenis Postingan dan menyediakan menu tarik-turun Jenis ini. Jadi jika misalnya Anda ingin menambahkan kolom 'Terakhir Dimodifikasi' seperti yang kita lakukan sebelumnya, cukup cari dan pilih di daftar Jenis lalu beri label dan lebar yang diinginkan.

Setelah itu, Anda dapat mengubah opsi Format Tanggal yang akan muncul jika diinginkan.

Kesimpulan

Memiliki info yang tepat di Tabel Admin WordPress Anda benar-benar dapat mempercepat alur kerja Anda dan membantu mencegah kesalahan di situs web Anda. Misalnya, kemungkinan kecil Anda akan mempublikasikan posting secara sadar tanpa gambar unggulan ketika Anda dapat melihat semua posting Anda dan gambar unggulan yang terkait secara sekilas di tabel Admin Post. Mainkan dan siapkan Tabel Admin Anda agar sesuai dengan Anda dan alur kerja Anda.