【WordPress】カスタム投稿タイプをプラグインなしで簡単に設定する裏技
- #PHP
- #WordPress
- #tips
こんにちは!
上毛印刷WEB制作担当のソーヤです。
皆さん、WordPressサイト作ってますか?
今回は特殊な状況下でのWordPress構築tipsを紹介します。
WordPressサイト作る際、こんな要望を頂戴することがあります。
「セキュリティのためになるべくプラグインを使わないでほしい」。
「サーバーが古くて、php7・8を入れられない」。
これ厳しいですよね・・・
私は結構な頻度でカスタム投稿タイプをプラグインで設定するのですが、
プラグインが使えないとfunctions.phpにカスタム投稿タイプの設定を書かないと行けません。
面倒・・・。
プラグインなしのカスタム投稿タイプの簡単設定方法
まず「Local」を設定します。
設定方法は過去のコチラ(【WordPress】超簡単!WordPressローカル開発環境作成ツール「Local」)のページを御覧ください。
「Local」を設定し、WordPressを作ったら、
プラグインで「Custom Post Type UI」をインストールしてください。
そうしたら投稿タイプを追加してください。
![]()
今回はスラッグを「news」、
ラベルを「お知らせ」にしました。
もし必要でしたら、「アーカイブあり」をtureにするなど、設定をしておいてください。
ここの設定が簡単にできるからプラグインを使っちゃうんですよねw
一通りカスタム投稿タイプの設定が完了したら、
ページ上部「投稿タイプをインポート/エクスポート」をクリックしてください。
![]()
続けてページ上部「コードを取得」をクリックしてください。
![]()
そうしたら赤枠をコピーして、
お使いのサーバーに入っているWordPressのfunctions.phpにペーストしちゃってください。
![]()
function cptui_register_my_cpts() {
/**
* Post Type: お知らせ.
*/
$labels = [
"name" => esc_html__( "お知らせ", "twentytwentyfive" ),
"singular_name" => esc_html__( "お知らせ", "twentytwentyfive" ),
];
$args = [
"label" => esc_html__( "お知らせ", "twentytwentyfive" ),
"labels" => $labels,
"description" => "",
"public" => true,
"publicly_queryable" => true,
"show_ui" => true,
"show_in_rest" => true,
"rest_base" => "",
"rest_controller_class" => "WP_REST_Posts_Controller",
"rest_namespace" => "wp/v2",
"has_archive" => true,
"show_in_menu" => true,
"show_in_nav_menus" => true,
"delete_with_user" => false,
"exclude_from_search" => false,
"capability_type" => "post",
"map_meta_cap" => true,
"hierarchical" => true,
"can_export" => false,
"rewrite" => [ "slug" => "news", "with_front" => true ],
"query_var" => true,
"supports" => [ "title", "editor", "thumbnail", "page-attributes" ],
"show_in_graphql" => false,
];
register_post_type( "news", $args );
}
add_action( 'init', 'cptui_register_my_cpts' );あら不思議、簡単にプラグインなしでカスタム投稿タイプの設定ができました!
まとめ
案件によっていろんな制約があるかと思いますが、
ちょこっと知恵を絞れば意外に苦戦しないもんです。
こんなことAIは教えてくれませんよ!
この記事に対するご意見・ご感想・ご質問等ありましたら、
ぜひ下記フォームにてお送りください。