【サンプル】プラグインなしでカスタム投稿タイプを複数作る
投稿日:2017年10月3日 更新日:
あまりWordPressをテクっていない私が、今回はプラグインなしでカスタム投稿タイプを作ってみました。
たぶん、詳しい人からするとかなり簡単にできてしまうんだと思いますが、
詳しい人ほど、説明まで難しいんですよ 😥
そこで、やってみたことをここで紹介します。
①プラグインなしでカスタム投稿を作る
もちろん有名なプラグイン「Custom Post Type UI」っていうのがあるのでそちらからでも可能です。
プラグインページ → Custom Post Type UI
それでは、子テーマの「functions.php」に記述していきたいと思います。
その前に、念のためバックアップは取っておいた方がいいです。
// 営業部-おしらせ- function homepage_info_sales() { $labels = array( "name" => __( '営業部-お知らせ', '' ), "singular_name" => __( '営業部-お知らせ', '' ), ); $args = array( "label" => __( '営業部-お知らせ', '' ), "labels" => $labels, "public" => true, "publicly_queryable" => true, "has_archive" => true, "capability_type" => "post", "rewrite" => array( "slug" => "sales_info", "with_front" => true ), "query_var" => true, 'menu_position' => 20, "supports" => array( "title", "editor", "thumbnail", "custom-fields", "author", "page-attributes", "post-formats" ), ); register_post_type( "sales_info", $args ); } add_action( 'init', 'homepage_info_sales' );
これでとりあえず一つ出来ました。
もう一つ作ります。
// 営業部-イベント- function homepage_event_sales() { $labels = array( "name" => __( '営業部-イベント', '' ), "singular_name" => __( '営業部-イベント', '' ), ); $args = array( "label" => __( '営業部-イベント', '' ), "labels" => $labels, "public" => true, "publicly_queryable" => true, "has_archive" => true, "capability_type" => "post", "rewrite" => array( "slug" => "sales_event", "with_front" => true ), "query_var" => true, 'menu_position' => 20, "supports" => array( "title", "editor", "thumbnail", "custom-fields", "author", "page-attributes", "post-formats" ), ); register_post_type( "sales_event", $args ); } add_action( 'init', 'homepage_event_sales' );
【説明】
// 営業部-お知らせ- function homepage_info_sales() { //【サブドメイン・ドメインなど】_【今回はお知らせなのでinfoにしました】_【部門・カテゴリーなど】 $labels = array( "name" => __( '営業部-お知らせ', '' ), //日本語でわかりやすくしました "singular_name" => __( 'サンプル-お知らせ', '' ), //日本語でわかりやすくしました ); $args = array( "label" => __( 'サンプル-お知らせ', '' ), //管理画面のメニューに表示される部分ですので日本語でわかりやすくしました "labels" => $labels, //ここはこのままで "public" => true, //フロントエンド上で公開するかを設定する項目です。通常はtrueにします。 "publicly_queryable" => true, //フロントエンドで post_type クエリが実行可能かどうか-投稿でもページでも出力できる "has_archive" => true, //これをtrueにすると、アーカイブページを持つことができるようになります。 "capability_type" => "post", //通常は post "rewrite" => array( "slug" => "sales_info", "with_front" => true ), //"slug" =>"英語で記述してください" "query_var" => true, //http://ブログのアドレス/?カスタム投稿タイプ名=個々のカスタム投稿のスラッグ」のアドレスで開きます 'menu_position' => 20, //管理画面のメニューで表示される順番です "supports" => array( "title", "editor", "thumbnail", "custom-fields", "author", "page-attributes", "post-formats" ), ); //カスタム投稿タイプの編集・新規作成のページに表示する項目 register_post_type( "sales_info", $args ); //この関数で投稿タイプを追加します rewriteのslugで決めたのを記述 } add_action( 'init', 'homepage_info_sales' ); //一番上の function homepage_info_sales() { の homepage_info_sales を記述
以上カスタム投稿ページを作ってみました。
後は、single-sales_info.php と single-sales_event.php を single.php からコピーして用意すれば無事に見れました。
最後に、一覧ページ (アーカイブページ)についても上記と同じように、archive-sales_info.php と archive-sales_event.php を archive.php からコピーして用意すれば無事に見れました。
関連記事
-
-
WordPress テーマTwenty Sixteenでメンバー紹介や選手一覧などを作ってみた①
WordPressでスポーツチームやサークルまたは、企業やショップなどの人物紹介などのページを作るときに行う方法として、Web製作者それぞれやり方はあると思いますが、独学で学んだ私が作っ …
-
-
レスポンシブWordPressテーマ 「LIQUID PRESS」 累計2千DL突破! 日本語対応レスポンシブWordPressテーマ スマホ/PC表示切替OK! Bootstrap対応! こんな方に …
-
-
SEOとは、Search Engine Optimizationの略で、検索エンジン最適化のことです。 検索することによって表示される順位をより高い順位にすることを目的としています。 まず始めに、Go …
- PREV
- Webサイトとドローン
- NEXT
- ドロップシッピングなぜ儲からないか?