URLをコピーしました!
スキルアップを始める!

【WordPress】remove_post_type_support|投稿画面から不要な表示(投稿フォーマット・パーマリンク・抜粋・ディスカッション・タグなど)を非表示・削除する【Cocoonテーマ】

WordPress(ワードプレス)
\ワードプレスのスキルアップはこちら!/ WordPress入門読本

前回・前々回と、この「投稿画面から不要な表示を非表示にする」という内容を書きましたが、CSSで消そうとしても消えなかったので、今回はPHPで非表示を試してみます。

テーマによっては投稿画面に様々な機能が追加されています。

ただ、運用状況によっては「カテゴリーだけあればいい」「アイキャッチ画像のみ設定できるようにしたい」「アイキャッチ画像を設定されたら困る」など、色々とあるかと思いますので、非表示にしてみます。

remove_post_type_supportで削除する

remove_post_type_supportを使うことで不要な部分を削除することができます。

関数リファレンス/remove post type support - WordPress Codex 日本語版
remove_post_type_support( $post_type, $supports )

$post_type
(文字列) (必須) 投稿タイプ。(最大 20 文字)
初期値: なし

今回は投稿タイプは「投稿」にしたいので、すべてpostとします。

削除する機能を選択する

下記が削除できる一覧です。消したい機能を$supports部分の引数に選択します。

$supports
(文字列) (必須) 削除する機能。
初期値: なし
‘title’ (タイトル)
‘editor’ (内容の編集)
‘author’ (作成者)
‘thumbnail’ (アイキャッチ画像)(現在のテーマが 投稿サムネイル をサポートしていること)
‘excerpt’ (抜粋)
‘trackbacks’ (トラックバック送信)
‘custom-fields’ (カスタムフィールド)
‘comments’ (コメントの他、編集画面にコメント数のバルーンを表示する)
‘revisions’ (リビジョンを保存する)
‘page-attributes’ (メニューの順序)(投稿タイプの hierarchical が true であること)
‘post-formats’ (投稿のフォーマットを削除。投稿フォーマットを参照)

例:remove_post_type_support( ‘post’, ‘comments’ ); // コメント

functions.phpに追記

子テーマのfunctions.phpに追記します。アクションフックでinitを指定して初期化のタイミングで消してみます。

function remove_post_type() {
    remove_post_type_support( 'post', 'comments' );
    remove_post_type_support( 'post', 'post-formats' );
    remove_post_type_support( 'post', 'thumbnail' );
    remove_post_type_support( 'post', 'excerpt' );
}
add_action( 'init', 'remove_post_type' );

アイキャッチ画像・抜粋の部分が消えました!!

コメント・投稿フォーマットはもともと表示されていなかったので何も変わりませんが、もし表示されていた場合は消えることになります。

まとめ

カテゴリー・タグなどを削除する場合は、remove_post_type_supportの中に無さそうだったので、別の方法が必要になりそうです。

ご参考ください😃

Kindle Unlimited 会員は無料で購読できます
購読はこちら
Kindle Unlimited 会員は無料で購読できます
購読はこちら