Layar tampilan posting beralih dari tampilan daftar ke tampilan kutipan berdasarkan nilai parameter "mode" dalam string kueri. Jika parameter "mode" tidak disetel, maka WordPress default ke tampilan daftar.
Sayangnya, parameter ini tidak dapat difilter, jadi tidak ada cara mudah untuk mengontrolnya secara terprogram.
Jadi saya akan melakukan sesuatu yang tidak pernah saya lakukan ... Saya akan memberi tahu Anda cara meretas Core untuk membuat ini berfungsi ...
Menambahkan filter
Buka /wp-admin/includes/class-wp-posts-list-table.php
dan temukan prepare_items()
metodenya (sekitar baris 81).
Pada baris 99, WordPress memeriksa untuk melihat apakah parameter "mode" disetel dalam permintaan dan menggunakannya untuk mengatur $mode
variabel global :
$mode = empty( $_REQUEST['mode'] ) ? 'list' : $_REQUEST['mode'];
Kami akan mengubah baris ini untuk memfilter pengaturan default. Ubah baris ini ke:
$mode = empty( $_REQUEST['mode'] ) ? apply_filters( 'default-posts-list-mode', 'list' ) : $_REQUEST['mode'];
Sekarang, masuk ke functions.php
file tema Anda dan tambahkan kode berikut:
add_filter( 'default-posts-list-mode', 'my_default_posts_list_mode' );
function my_default_posts_list_mode( $default ) {
return 'excerpt';
}
Ini akan terhubung ke filter dan mengembalikan mode kutipan secara default.
Karena aturan pribadi saya tentang peretasan Core mengharuskan semua peretasan dikontribusikan kembali ke proyek (cara ini mereka dapat digulirkan ke dalam Core dan tidak lagi dihitung sebagai peretasan), saya telah membuka tiket Trac untuk peningkatan ini dan mengirimkan kode di atas sebagai tambalan. Silakan menimbang pada tiket sehingga bisa masuk ke inti untuk 3,5 (kita terlambat dalam siklus untuk 3,4, tetapi kita dapat mencoba untuk mendorong ini melalui untuk versi berikutnya).