WordPress 編集者にユーザー編集権限を付与する

Filed under: functions.php,wordpress — kdcs @ 22年4月16日 土曜日

編集者にユーザー編集権限を与える

function.phpに以下記述

function add_theme_caps() {
  $role = get_role( 'editor' );

  $role->add_cap( 'list_users' ); 
  $role->add_cap( 'create_users' ); 
  $role->add_cap( 'delete_users' ); 
  $role->add_cap( 'promote_users' ); 
  $role->add_cap( 'edit_users' ); 
  $role->add_cap( 'remove_users' ); 
}
add_action( 'admin_init', 'add_theme_caps');

※「使用しないメニューを非表示にする」で管理者以外のメニュー非表示を設定している場合はユーザーをコメントアウトする。

WordPress メニュー「投稿」の名称変更 2022

Filed under: functions.php,wordpress — kdcs @ 22年4月16日 土曜日

WordPress メニュー「投稿」の名称変更

php8にて、購読者だけ「Undefined array key」エラーが発生するため、記述内に購読者以外の条件分岐を設定。

※PHPエラー「Undefined array key」は配列にて存在しないキー名を指定した際に発生するエラー

function edit_admin_menus() {
if (!current_user_can('subscriber')) {
 	global $menu;
	global $submenu;
    $name = '会員コンテンツ';
    $menu[5][0] = $name;
    $submenu['edit.php'][5][0] = $name.'一覧';
    $submenu['edit.php'][10][0] = '新しい'.$name;
    }
}  
add_action( 'admin_menu', 'edit_admin_menus' );

function change_post_object_label() {
    global $wp_post_types;
    $name = '会員コンテンツ';
    $labels = &$wp_post_types['post']->labels;
    $labels->name = $name;
    $labels->singular_name = $name;
    $labels->add_new = _x('追加', $name);
    $labels->add_new_item = $name.'の新規追加';
    $labels->edit_item = $name.'の編集';
    $labels->new_item = '新規'.$name;
    $labels->view_item = $name.'を表示';
    $labels->search_items = $name.'を検索';
    $labels->not_found = $name.'が見つかりませんでした';
    $labels->not_found_in_trash = 'ゴミ箱に'.$name.'は見つかりませんでした';
}
add_action( 'init', 'change_post_object_label' );

WordPress 管理者以外のメニュー表示制御 2022

Filed under: functions.php,wordpress — kdcs @ 22年4月16日 土曜日

管理者(level_10)以外がログインしたときのダッシュボードメニュー非表示制御

function remove_menus(){

    if (!current_user_can('level_10')) {
      remove_menu_page('index.php');                  // ダッシュボード
      remove_menu_page('edit.php');                   // 投稿
      remove_menu_page('upload.php');                 // メディア
      remove_menu_page('edit.php?post_type=page');    // 固定ページ
      remove_menu_page('edit-comments.php');          // コメント
      remove_menu_page('themes.php');                 // 外観
      remove_menu_page('plugins.php');                // プラグイン
      remove_menu_page('users.php');                  // ユーザー
      remove_menu_page('tools.php');                  // ツール
      remove_menu_page('options-general.php');        // 設定
    }
  }
  add_action( 'admin_menu', 'remove_menus' );

WordPress ログインリダイレクトの制御

Filed under: functions.php,wordpress — kdcs @ 22年4月14日 木曜日

ログイン画面へのurlにパラメータを付加するとログイン時にそのurlへリダイレクトされる。

https://hoge-hoge.com/wp-login.php?redirect_to= url

例えば、リダイレクト先がサイト内のページ(ページスラッグがmember)なら以下の記述

https://hoge-hoge.com/wp-login.php?redirect_to= member

パラメーター有りはそのページへ、パラメータが無い場合は管理画面へリダイレクトさせる場合
function.phpに以下を記述

function my_login_redirect( $redirect_to, $request ) {
    if ( empty($request)) {
            $redirect_to =  home_url('');
    }
    return $redirect_to;
}

add_filter( 'login_redirect', 'my_login_redirect', 10, 3 );

WordPress5.9で追加されたログイン画面の言語切り替えを非表示にする

Filed under: functions.php,wordpress — kdcs @ 22年3月28日 月曜日

WordPress5.9で追加されたログイン画面の言語切り替えを非表示にする

function.phpに以下記述

//ログイン画面の言語切り替えを非表示にする------------------------------------------------
add_filter('login_display_language_dropdown', '__return_false');

サイト内検索

カテゴリー

最近の投稿

↑上に戻る