色々と方法があると思いますが、Peter’s Login Redirectプラグインを使うと
色々な運用方法が可能かと思います。
http://wordpress.org/plugins/peters-login-redirect/
任意のユーザーのみ、または任意のユーザー権限のみ等の指定が可能です。
ありがとうございます。
教えて頂いたプラグインを使ってみて、ログイン時には、「投稿一覧」へリダイレクトできました。
ただ、管理画面のナビから「ダッシュボード」をクリックしたときに、「投稿一覧」へのリダイレクトは、このプラグインでは実現できないようですね。
シンプルで使い勝手良さそうなので、何かのときに利用させていただきます。
実は、マルチサイトの子サイトで「ダッシュボード」→「投稿一覧」を実現したいと思っていまして、子サイトが40あるため、全部にプラグインを入れなければならないのもしんどいなと、、、。
子サイトは全て同じテーマを利用していますので、プラグインよりは、functions.php等に追記するやり方があると嬉しいです。
説明が分かり辛かったため下記に要望をまとめてみました。
・親サイト管理画面から子サイトの「ダッシュボード」へアクセス → 投稿一覧へリダイレクト
・子サイトの管理画面のナビで「ダッシュボード」を選ぶ → 投稿一覧へリダイレクト
・子サイトのログイン画面からログイン → 投稿一覧へリダイレクト
・コアファイルをいじらず、プラグインを使わず上記を実現
add_action( 'admin_init', 'my_admin_init' );
function my_admin_init() {
if ( '/wp-admin/index.php' == $_SERVER['SCRIPT_NAME'] ) {
wp_redirect( admin_url( 'edit.php' ) );
}
}
gatespaceさん
ありがとうございます。
確かにサイドメニューの削除で「ダッシュボード」削除しておいた方が良いですね。
ログインリダイレクトとアドミンバーの情報も参考になりました。
kzさん
ありがとうございます。
頂いたソースで実現できました。
平行して自分でも調べながらやっていまして、似た感じで作成していましたが、ダッシュボードに「http://ドメイン/wp-admin/index.php」、「http://ドメイン/wp-admin/」と2つアクセスしてくるパターンがあり、どうしようかと思っていたときに、kzさんのソースで$_SERVER[‘SCRIPT_NAME’]を使う手段教えて頂いたので、それが決めてで実現できました。
ほぼまんまですが、最終的に下記のようになりました。
add_action( 'init', 'redirect_dashiboard' );
function redirect_dashiboard() {
if(is_admin()){ // 管理画面チェック
if ( preg_match('/(\/wp-admin\/index.php)/', $_SERVER['SCRIPT_NAME']) ) { // ダッシュボードチェック
$redirect_url = str_replace($_SERVER['SCRIPT_NAME'],"index.php","edit.php"); // リダイレクトアドレス作成
wp_redirect( $redirect_url ); // リダイレクト
}
}
}
ご教授頂いたstranger-jpさん、gatespaceさん、kzさん、ありがとうございました。
勉強になりました。解決済みとさせて頂きます。
#解決済みにレスして申し訳念の為
マルチサイトでもindex.phpあってもなくてもmy_admin_init()
の内容でイケますお。
kzさん >
失礼しました。勝手に解釈してしまっていたようで申し訳ない。
ありがとうございました。