web-dev-qa-db-ja.com

Wp-adminのデフォルトページメニュービューを変更する

管理者メニューの "Pages"のデフォルト表示を変更する方法を理解できないようです。

初期ビューは "ページ"ビューです(/wp-admin/edit.php?post_type=page

どうしてこれを他のものに変えることができるでしょうか。
「新しいページを追加」のようになりますか。 (/wp-admin/post-new.php?post_type=page

カスタムメニューでメニューを再構築するなど、いくつかの異なるオプションを試してみましたが、WordPressが自動的に "Pages"ビューをリダイレクトし続けるようです(/wp-admin/edit.php?post_type=page) 。

2
Shae

[更新]
その他のQ&A .に基づいて回答を書き換えました


これを達成するために:

default pages menu view

このコードを使用してください:

add_filter( 'custom_menu_order', 'wpse_48933_submenu_order' );

function wpse_48933_submenu_order( $menu_ord ) 
{
    global $submenu;

    // Enable the next line to inspect the $submenu values
    // echo '<pre>'.print_r($submenu,true).'</pre>';

    $arr = array();
    $arr[] = $submenu['edit.php?post_type=page'][10];
    $arr[] = $submenu['edit.php?post_type=page'][5];
    $submenu['edit.php?post_type=page'] = $arr;

    return $menu_ord;
}
1
brasofilo

カスタムプラグインで、Pagesページを削除するには、このPHPを使用します。

add_action( 'admin_menu', 'my_custom_pages' );

function my_custom_pages() {
    remove_menu_page('edit.php?post_type=page'); // Pages
            add_menu_page('Pages', 'Pages', 'author', 'pages', 'my_custom_menu_page' );
}

function my_custom_menu_page() {
    // The function to load your new page
}

これはカスタマイズが必要になりますが、元のファイルを削除して自分のものに置き換えるのには注意が必要です。

0
developdaly

これを行う別の方法は、ページのロードにカスタムクエリ変数を追加することです。

add_action('pre_get_posts', 'my_custom_query_vars' );
function my_custom_query_vars() {
    $screen = get_current_screen();
    if ( $screen->id == 'edit-page' ) {
        set_query_var( 'orderby', 'custom_page_order' );
    }
}
0
developdaly