現状では、WordPressはデフォルトで all admin領域のpages/postsリストにあるpages/postsを表示します。
私は多くのドラフトを持っていますが、通常私は公開されたページ/投稿を編集することにずっと興味があります、そのためそれらを表示するだけでもう一回クリックして完全にリロードする必要があります。
WordPressが最初に公開された投稿/ページのみを表示するように設定して、後で必要に応じて[All]または[Draft]をクリックできるようにする方法はありますか。
他に方法があるかどうかはわかりませんが、グローバル変数$submenu
を操作するとこれが機能します。
以下は単なる手動のハック(私はどんなフックにも気付いていません)であり、非標準のサブメニュー設定では失敗するかもしれません。通常のPost投稿タイプは固有のアドレスを持ち、残りのタイプは別のものを持つので、2つのforeach
があります。
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;
}
}
}
}
ページリンクにデフォルトで公開ページを表示するには、単にこのコードスニペットをあなたのfunctions.phpに貼り付けてください。あなたはそれからページの完全なリストを見るために“ All”タブを訪問することができます。
// 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' );
あなたが管理ダッシュボードでポストリンクのために同じことを達成したいならば、代わりに以下のコードスニペットを使ってください。
// 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' );
参照: http://www.wpcodesnippet.com/wordpress-admin/change-pages-link-display-published-pages/