Màn hình chế độ xem bài đăng chuyển từ chế độ xem danh sách sang chế độ xem trích dẫn dựa trên giá trị của tham số "chế độ" trong chuỗi truy vấn. Nếu tham số "chế độ" không được đặt, thì WordPress mặc định thành chế độ xem danh sách.
Thật không may, tham số này không thể lọc được, vì vậy không có cách nào dễ dàng để kiểm soát nó theo chương trình.
Vì vậy, tôi sẽ làm điều mà tôi không bao giờ làm ... Tôi sẽ cho bạn biết cách hack Core để làm cho công việc này ...
Thêm bộ lọc
Mở /wp-admin/includes/class-wp-posts-list-table.php
và tìm prepare_items()
phương thức (khoảng dòng 81).
Trên dòng 99, WordPress kiểm tra xem liệu tham số "chế độ" có được đặt trong yêu cầu hay không và sử dụng thông số này để đặt $mode
biến toàn cục:
$mode = empty( $_REQUEST['mode'] ) ? 'list' : $_REQUEST['mode'];
Chúng tôi sẽ thay đổi dòng này để lọc cài đặt mặc định. Thay đổi dòng này thành:
$mode = empty( $_REQUEST['mode'] ) ? apply_filters( 'default-posts-list-mode', 'list' ) : $_REQUEST['mode'];
Bây giờ, đi vào functions.php
tệp của chủ đề của bạn và thêm mã sau đây:
add_filter( 'default-posts-list-mode', 'my_default_posts_list_mode' );
function my_default_posts_list_mode( $default ) {
return 'excerpt';
}
Điều này sẽ nối vào bộ lọc và trả về chế độ trích dẫn theo mặc định.
Vì quy tắc cá nhân của tôi về việc hack Core yêu cầu tất cả các vụ hack được đóng góp lại cho dự án (theo cách này chúng có thể được đưa vào Core và không còn được tính là hack), tôi đã mở một vé Trac cho cải tiến này và gửi mã ở trên như một bản vá. Vui lòng cân nhắc về vé để có thể vào được lõi cho 3,5 (chúng tôi đã quá trễ trong chu kỳ cho 3,4, nhưng chúng tôi có thể cố gắng đẩy mạnh điều này cho phiên bản tiếp theo).