Làm cách nào để hiển thị theo mặc định chỉ các bài đăng / trang được xuất bản trong khu vực quản trị?


9

Như vậy, WordPress hiển thị theo mặc định tất cả các trang / bài đăng trong danh sách trang / bài đăng trong khu vực quản trị, bất kể trạng thái xuất bản của chúng là gì.

Tôi có rất nhiều bản nháp, nhưng thường thì tôi quan tâm nhiều hơn đến việc chỉnh sửa các trang / bài đăng đã xuất bản, do đó, chỉ để hiển thị chúng cần một lần nhấp khác và tải lại đầy đủ.

Có cách nào để thiết lập WordPress ban đầu chỉ hiển thị các bài đăng / trang được xuất bản, cho phép bạn nhấp vào "Tất cả" hoặc "Bản nháp" nếu sau này bạn muốn?


Bất kỳ ai? Gần đây tôi đã nói với tôi rằng nếu bạn muốn nhận được câu trả lời nhanh chóng thì WordPress - StackExchange là nơi để đi ... Bất kỳ câu trả lời nào cũng sẽ được đánh giá cao - cảm ơn.
yudayuda

Câu trả lời:


5

Tôi không chắc có cách nào khác không, nhưng thao túng biến toàn cục $submenucó thể khiến điều này hoạt động.

Sau đây chỉ là một cách hack thủ công (tôi không biết về bất kỳ hook nào) và có thể thất bại đối với các thiết lập menu con không chuẩn. Loại bài đăng thông thường có một địa chỉ duy nhất và các loại còn lại có một địa chỉ khác, do đó có hai foreachs.

add_action( 'admin_menu', 'default_published_wpse_91299' );

function default_published_wpse_91299() 
{
    global $submenu;

    // POSTS
    foreach( $submenu['edit.php'] as $key => $value )
    {
        if( in_array( 'edit.php', $value ) )
        {
            $submenu['edit.php'][ $key ][2] = 'edit.php?post_status=publish&post_type=post';
        }
    }

    // OTHER POST TYPES
    $cpt = array( 'page', 'portfolio' ); // <--- remove or adapt the portfolio post type
    foreach( $cpt as $pt )
    {
        foreach( $submenu[ 'edit.php?post_type=' . $pt ] as $key => $value )
        {
            if( in_array( 'edit.php?post_type=' . $pt, $value ) )
            {
                $submenu[ 'edit.php?post_type='.$pt ][ $key ][2] = 'edit.php?post_status=publish&post_type=' . $pt;
            }
        }   
    }
}

2

Để hiển thị các trang được xuất bản theo mặc định trên liên kết trang, chỉ cần dán đoạn mã này vào tệp.php của bạn. Sau đó, bạn có thể truy cập tab All All do để xem danh sách đầy đủ các trang.

// change page link to display published pages only
function wcs_change_admin_page_link() {
    global $submenu;
    $submenu['edit.php?post_type=page'][5][2] = 'edit.php?post_type=page&post_status=publish';
}
add_action( 'admin_menu', 'wcs_change_admin_page_link' );

Nếu bạn muốn đạt được điều tương tự cho liên kết bài đăng trong bảng điều khiển quản trị viên thì hãy sử dụng đoạn mã sau để thay thế.

// change post link to display published posts only
function wcs_change_admin_post_link() {
    global $submenu;
    $submenu['edit.php'][5][2] = 'edit.php?post_status=publish';
}
add_action( 'admin_menu', 'wcs_change_admin_post_link' );

Tham khảo: http://www.wpcodesnippet.com/wordpress-admin/change-pages-link-display-published-pages/

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.