質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Gutenberg(エディタ)

Gutenbergとは、WordPressに導入されているエディタです。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

Q&A

0回答

1127閲覧

Wordpress編集画面で本文以外編集できないようにしたい

hatsuo

総合スコア14

Gutenberg(エディタ)

Gutenbergとは、WordPressに導入されているエディタです。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

0グッド

0クリップ

投稿2020/07/17 14:52

前提・実現したいこと

WordPress 5.4.2でGutenbergを利用する管理画面をカスタマイズしています。
顧客の要望で、投稿者に以下の権限だけを持たせたいです。
・公開状態の記事の本文の編集(即公開可)
・記事本文に用いるメディアのアップロード

上記以外の全ての機能を制限したいです。例えば
・記事の公開状態変更(非公開化やゴミ箱入れ、パスワード設定、下書きへ切り替え、公開日の変更など)
・記事が属するカテゴリー変更
・記事のスラッグ変更
などを制御したいです。

管理画面の他の機能については自前で制御できましたが、
編集画面内で上記機能をどのように表示オフ&権限制御して良いかわかりません。
権限制御ができなくても、最低でも表示オフにしたいです。

発生している問題・エラーメッセージ

下記のコードで制限したい機能は消せますが、本文記入欄も消えてしまいます。

PHP

1remove_post_type_support( 'post', 'editor' );

本文記入欄だけは残したいです。

該当のソースコード

現在以下のコードで「投稿の属性」以外は消せます。
できれば「投稿の属性」も消したいですが、これは無理でも良いです。

PHP

1function remove_post_supports() { 2 if (! current_user_can( 'administrator' ) ) { 3 remove_post_type_support( 'post', 'title' ); // タイトル 4 // remove_post_type_support( 'post', 'editor' ); // 本文欄(ここを消すと本文も消えてしまう) 5 remove_post_type_support( 'post', 'author' ); // 作成者 6 remove_post_type_support( 'post', 'thumbnail' ); // アイキャッチ 7 remove_post_type_support( 'post', 'excerpt' ); // 抜粋 8 remove_post_type_support( 'post', 'trackbacks' ); // トラックバック 9 remove_post_type_support( 'post', 'custom-fields' ); // カスタムフィールド 10 remove_post_type_support( 'post', 'comments' ); // コメント 11 remove_post_type_support( 'post', 'revisions' ); // リビジョン 12 remove_post_type_support( 'post', 'page-attributes' ); // ページ属性 13 remove_post_type_support( 'post', 'post-formats' ); // 投稿フォーマット 14 remove_post_type_support( 'post', 'templates' ); // 投稿フォーマット 15 16 unregister_taxonomy_for_object_type( 'category', 'post' ); // カテゴリ 17 unregister_taxonomy_for_object_type( 'post_tag', 'post' ); // タグ 18 } 19} 20add_action( 'init', 'remove_post_supports' ); 21 22function remove_post_meta_boxes() { 23 if ( !current_user_can( 'administrator' ) ) { 24 remove_meta_box( 'slugdiv', 'post', 'normal' ); // スラッグ 25 remove_meta_box( 'submitdiv', 'post', 'side' ); // 公開 26 } 27} 28add_action( 'admin_menu', 'remove_post_meta_boxes' );

試したこと

プラグインでできるならその方がわかりやすいので探してみましたが、
UserRoleEditor は大まかな権限制御しかしてくれず、編集画面内のプロパティ設定欄のカスタマイズはできませんでした。
MemberPress も同様でした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問