5件の返信を表示中 - 1 - 5件目 (全5件中)
  • こんにちは

    投稿一覧メニューで開いたときでしたら、下記ページが参考になると思います。
    https://wordpress.stackexchange.com/questions/131199/change-url-of-plugin-admin-menu

    例:

    add_action( 'admin_menu', function() {
    	global $menu, $submenu;
    
    	if ( isset( $submenu['edit.php'] ) ) {
    		foreach ( $submenu['edit.php'] as $key => $value ){
    			if ( 'edit.php' === $value[2] ) {
    				$submenu['edit.php'][$key][2] = 'edit.php?post_status=publish';
    				break;
    			}
    		}
    	}
    }, 100 );
    トピック投稿者 ysaito

    (@ysaito)

    ありがとうございます!投稿一覧で公開済みがデフォルト表示されました!

    何度も恐れ入りますが、
    カスタム投稿タイプにも適用させたいのですが、
    どのようにすれば良いのでしょうか。

    if ( isset( $submenu['edit.php?post_type=〇〇〇'] ) ) {
    	foreach ( $submenu['edit.php?post_type=〇〇〇'] as $key => $value ){
    		if ( 'edit.php?post_type=〇〇〇' === $value[2] ) {
    			$submenu['edit.php?post_type=〇〇〇'][$key][2] = 'edit.php?post_type=〇〇〇&post_status=publish';
    			break;
    		}
    	}
    }

    ※ 〇〇〇 は投稿タイプのスラッグ名。

    こんな感じでしょうか?

    トピック投稿者 ysaito

    (@ysaito)

    ありがとうございます!
    教えていただいたコードで2つのカスタム投稿タイプに適用しようとしたのですが
    一つ目しかデフォルト表示を公開済みにできませんでした。

    下記コードを使ったのですが、どこが原因で二つ目に適応できていないのでしょうか。
    AとBの投稿タイプです。

    add_action( 'admin_menu', function() {
    	global $menu, $submenu;
    
      if ( isset( $submenu['edit.php?post_type=A'] ) ) {
        foreach ( $submenu['edit.php?post_type=A'] as $key => $value ){
          if ( 'edit.php?post_type=A' === $value[2] ) {
            $submenu['edit.php?post_type=A'][$key][2] = 'edit.php?post_type=A&post_status=publish';
            break;
          }
        }
      } elseif ( isset( $submenu['edit.php?post_type=B'] ) ) {
        foreach ( $submenu['edit.php?post_type=B'] as $key => $value ){
          if ( 'edit.php?post_type=B' === $value[2] ) {
            $submenu['edit.php?post_type=B'][$key][2] = 'edit.php?post_type=B&post_status=publish';
            break;
          }
        }
      } 
    }, 100 );
    トピック投稿者 ysaito

    (@ysaito)

    お世話になっております。
    アクションフックには処理(関数)を複数登録できる記事を見つけましたので
    下記の通り修正したところ、複数のカスタム投稿タイプに適応できました。
    お騒がせいたしました。

    (参考にしたURL)
    https://www.webdesignleaves.com/pr/wp/wp_func_hook.html

    ▽修正後のコード

    add_action( 'admin_menu', 'admin_menu_A');
    function admin_menu_A() {
    	global $menu, $submenu;
    
      if ( isset( $submenu['edit.php?post_type=A'] ) ) {
        foreach ( $submenu['edit.php?post_type=A'] as $key => $value ){
          if ( 'edit.php?post_type=A' === $value[2] ) {
            $submenu['edit.php?post_type=A'][$key][2] = 'edit.php?post_type=A&post_status=publish';
            break;
          }
        }
      }
    }
      
    add_action( 'admin_menu', 'admin_menu_B');
    function admin_menu_B() {
    	global $menu, $submenu;
      if ( isset( $submenu['edit.php?post_type=B'] ) ) {
        foreach ( $submenu['edit.php?post_type=B'] as $key => $value ){
          if ( 'edit.php?post_type=B' === $value[2] ) {
            $submenu['edit.php?post_type=B'][$key][2] = 'edit.php?post_type=B&post_status=publish';
            break;
          }
        }
      } 
    }
    • この返信は2年、 7ヶ月前にysaitoが編集しました。
    • この返信は2年、 7ヶ月前にysaitoが編集しました。
5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「管理画面の投稿一覧のデフォルト表示を公開済みにしたい」には新たに返信することはできません。