.htaccessでPHPのファイルアップロードサイズの上限値を変更
2022.02.5
PHPを使用して画像(動画・PDF等)をアップロードするフォームを作成した際に、ファイル…

ワードプレスを複数人で管理する際にユーザーロール(権限グループ)を割り当てて使用することが多いのですが、社内の仕組みに合わない場合も多々あります。
そこで今回は独自のユーザーロール(権限グループ)を、プラグインを使わずに追加する方法をメモ
function my_add_custom_role_once() {
//新規ロールの追加
if(!get_role('super_editor')){
add_role(
'super_editor',
'スーパーエディター',
array(
'read' => true, //管理画面にアクセス可能
'edit_posts' => true, //投稿の編集を許可
'publish_posts' => true, //投稿の公開を許可
'delete_posts' => true, //投稿の削除を許可
'manage_options' => true, //設定メニューの管理権限を許可
)
);
}
//既存ロール削除
if(get_role('super_editor')){
remove_role('super_editor');
}
//既存ロールへ権限追加
$role = get_role('super_editor');
if($role){
$role->add_cap('edit_others_posts');
$role->add_cap('edit_published_posts');
$role->add_cap('delete_posts');
$role->add_cap('delete_others_posts');
$role->add_cap('delete_published_posts');
}
//既存ロールの権限削除
$role = get_role('super_editor');
if($role){
$role->remove_cap('edit_published_posts');
}
}
add_action('init', 'my_add_custom_role_once');
登録した情報はデータベースに保存されるため「add_role()」は複数回実行されないように「get_role()」で存在確認を行うか、簡易プラグインを作成し「register_activation_hook()」内に記述するのが推奨されています。
また、既存のユーザーロールに権限を変更する際は「add_cap」「remove_cap」を使用。
権限は、一度変更すると永続的に作用する(実行後にコメント扱いにしても効果は消えない)ため、既存ロールの権限を変更した際などは特に、何を変更したのかが分かるよう、変更履歴は残しておくことをお勧めします。
自分以外の投稿や、公開済みの投稿なども管理できるようにしたい場合は下記ページ内の「権限一覧」を参考にする

2022.02.5
PHPを使用して画像(動画・PDF等)をアップロードするフォームを作成した際に、ファイル…

2020.10.3
テキストエリア等で入力した文字の中にURLを含んでいた場合に、自動で認識してリンクタグを…

2024.03.30
外部ファイル(CSVファイル等)を読み込んでサイト内に表示する際に、保存時の文字コードが…

2020.12.5
メールフォームからメールを送信する際に、画像(ファイル)を添付できるようにしてほしいとの…

2023.12.2
ワードプレスの投稿のカテゴリー機能を、目的ごとに使い分けたいというご要望があった際に、カ…

2020.08.1
動画ファイルをCMS化して保存するときに、多くの場合はファイルパスをデータベース(MyS…

2022.09.24
パソコンやスマートフォンの戻るボタンを使って画面を戻す(ブラウザバックする)時があります…

2022.02.19
画像データ等をサーバーにアップロードする際、一点づつアップロードしても良いけれど、ファイ…

2020.08.15
フォームの入力値やURLのパラメータ等、文字列や数値を受け取る際に正規表現を利用してバリ…

2019.12.29
メールフォーム等での入力値チェック(バリデーション)。PHPの「preg_match」(…