WordPressでカスタム投稿タイプを作成する方法

公開: 2021-06-09
ワードプレスカスタム投稿タイプ
@Cloudwaysをフォローする

WordPressをインストールすると、バックエンドで取得できる組み込みコンテンツタイプは、投稿、ページ、メディアの3つだけです。 しかし、今日、WordPressは非常に柔軟で高度になっています。 したがって、投稿タイプを追加するアプローチも多様化しています。 投稿、ページ、メディアだけでは不十分であるため、用途が多様化すると、より多くのコンテンツタイプが必要になります。ここで、WordPressのカスタム投稿タイプが役立ちます。

  • WordPressカスタム投稿タイプとは何ですか?
  • WordPressカスタム投稿タイプを作成する
  • 新しい投稿を作成する
  • テンプレートとフェッチリストを作成する
  • テンプレートを選択する
  • カスタム投稿タイプのメニューを追加
  • カスタム投稿タイプの詳細ページを表示

WordPressカスタム投稿タイプとは何ですか?

カスタム投稿タイプは、通常のWordPressWebサイトをコンテンツ管理システムに変換するために使用されます。 名前が示すように、カスタム投稿タイプを使用して、Webサイトのさまざまな異なるコンテンツタイプを作成できます。

更新:WordPress 5.xには、新しいGutenbergエディターが付属しています。 WordPressのカスタム投稿タイプでグーテンベルクを使用したい場合は、CPT用のグーテンベルクエディターを有効にするための優れたガイドがあります。
更新:WordPress 5.xには、新しいGutenbergエディターが付属しています。 これは、カスタム投稿タイプでグーテンベルクエディターを有効にするための詳細なガイドです

それ以外に、WordPressのインストールでデフォルトで利用できるいくつかの投稿タイプを見つけることができます。

  • 投稿–ブログ投稿
  • ページ–静的ページ
  • 添付ファイル–添付メディア
  • 改訂–改訂後
  • ナビゲーションメニュー–ナビゲーションメニュー

WordPressの他の投稿タイプの詳細については、カスタム投稿タイプのコーデックスドキュメントをご覧ください。

カスタム投稿タイプに関しては、WordPressは無制限の数のカスタム投稿タイプをサポートしています。 独自のカスタム投稿を作成して、どこにでも呼び出すことができます。 たとえば、ニュースWebサイトを運営していて、「ニュース」というタイトルのカスタム投稿タイプを追加したい場合です。 作成されると、ニュース投稿タイプには、WordPressダッシュボード管理領域に独自のメニューがあります。 映画、ポートフォリオなど、複数の投稿タイプを作成することもできます。

WordPressカスタム投稿タイプを作成する

WordPressで特定のテーマのカスタム投稿タイプを作成するには、WordPressテーマディレクトリからfunction.phpファイルに移動し、次のコードを追加します。

 / *カスタム投稿タイプ開始* /

関数create_posttype(){
register_post_type( 'ニュース'、
// CPTオプション

配列(
  'ラベル' => array(
   '名前' => __( 'ニュース')、
   'singular_name' => __( 'ニュース')
  )、
  'public' => true、
  'has_archive' => false、
  'rewrite' => array( 'slug' => 'news')、
 )。
);
}
//関数をテーマ設定に接続します
add_action( 'init'、 'create_posttype');

/ *カスタム投稿タイプ終了* /

このコードを追加すると、ニュースの投稿タイプがWordPressの管理エリアに自動的に表示されます。 WordPressダッシュボードのフロントエンドにどのように表示されるかを確認するには、下の画像を参照してください。

カスタム投稿タイプの作成

カスタム投稿タイプを作成するときは、 add_action()のフックにinitを使用する必要があります。 register_post_type()関数は引数を取ります。

 / *カスタム投稿タイプの開始* /

関数cw_post_type_news(){

$ support = array(
'title'、//投稿タイトル
'editor'、//コンテンツを投稿する
'作成者'、//投稿者
'サムネイル'、//注目の画像
'抜粋'、​​//抜粋を投稿
'custom-fields'、//カスタムフィールド
'コメント'、//コメントを投稿
'revisions'、//リビジョンを投稿
'post-formats'、//投稿フォーマット
);

$ labels = array(
'name' => _x( 'news'、 'plural')、
'singular_name' => _x( 'news'、 'singular')、
'menu_name' => _x( 'news'、 'admin menu')、
'name_admin_bar' => _x( 'news'、 'admin bar')、
'add_new' => _x( 'Add New'、 'add new')、
'add_new_item' => __( '新しいニュースを追加')、
'new_item' => __( '新しいニュース')、
'edit_item' => __( 'ニュースの編集')、
'view_item' => __( 'ニュースを表示')、
'all_items' => __( 'すべてのニュース')、
'search_items' => __( 'ニュースの検索')、
'not_found' => __( 'ニュースが見つかりません。')、
);

$ args = array(
'supports' => $ uploads、
'labels' => $ labels、
'public' => true、
'query_var' => true、
'rewrite' => array( 'slug' => 'news')、
'has_archive' => true、
'hierarchical' => false、
);
register_post_type( 'news'、$ args);
}
add_action( 'init'、 'cw_post_type_news');

/ *カスタム投稿タイプ終了* /

$ supports:投稿タイプに互換性があり、すべての重要な機能をサポートすることを指定します。

$ labels:投稿タイプが管理領域に適切に参照されることを指定します。

$ args:ニュースのパーマリンクスラッグと、[投稿]メニューのすぐ下にあるメニュー位置を指定します。

それでは、WordPressWebサイトに機能を追加する前後を見てみましょう。

新しい投稿を追加
機能を追加する前に
機能を追加した後
機能を追加した後

上記の例は、WordPressカスタム投稿タイプを任意のテーマのバックエンドに登録する方法を示しています。 次のステップに移りましょう。 カスタム投稿タイプとして投稿を作成します。

新しい投稿を作成する

WordPressWebサイトの投稿が正常に作成されたと仮定します。 次に、この投稿をWordPressWebサイトのカスタム投稿タイプとして追加します。 その後、2〜3つのダミーのニュース投稿をサイトに追加します。

投稿を作成する

テンプレートとフェッチリストを作成する

コードを開発したら、次のタスクは、 template-news.phpという名前の新しいファイルを作成し、それをテーマフォルダーに配置することです。 このファイルを作成したらすぐに、次のコードをファイルに追加します。

 <?php
/ *テンプレート名:ニュース* /
get_header();
query_posts(array(
   'post_type' => 'ニュース'
)); ?>
<?php
while(have_posts()):the_post(); ?>
<h2> <a href="<?php the_permalink()?> "> <?php the_title(); ?> </a> </ h2>
<p> <?php the_excerpt(); ?> </ p>
<?php endwhile;
get_footer();
?>

制限なしでWordPressホスティングを体験してください

300倍高速なWordPressウェブサイト

無料で始めましょう!

テンプレートを選択する

次に、WordPressダッシュボードの[ページからニュース]オプションという新しいページを作成してアクセスします。 画面右側のページ属性で利用可能なテンプレートオプションを確認できます。 新しいテンプレートのニュースを選択し、更新ボタンをクリックします。 詳細については、下の画像をご覧ください。

ページの作成

リストページの結果:リストページがWebサイトにどのように表示されるかの最終結果を以下に示します。

リストページの結果

カスタム投稿タイプのメニューを追加

WordPress Webサイトのメニューオプションの一部として新しいカスタム投稿タイプを追加するには、[外観]→ [メニュー]に移動し、[ニュース]ページをメインメニューに追加します。 この手順は、新しく作成されたWordPressカスタム投稿タイプであるニュースへのナビゲーションリンクを表示するために必要です。

詳細については、下の画像をご覧ください。

メニューの追加

そして、これはあなたのウェブサイトがフロントエンドでどのように見えるかです。 下の画像をチェックしてください:

ページ結果

カスタム投稿タイプの詳細ページを表示

また、カスタム投稿タイプの詳細ページを作成する必要があります。 これを行うには、WordPressテーマにあるsingle-news.phpという新しいファイルを追加してから、次のコードを追加する必要があります。

 <?php
get_header();
/ *ループを開始します* /
while(have_posts()):the_post();
   get_template_part( 'template-parts / post / content'、get_post_format());
終わり; //ループの終わり。
get_footer();
?>

次に、詳細ページがどのように表示されるかを確認します。

詳細ページの表示

まとめ!

これで、WordPressでカスタム投稿タイプを作成する方法を学びました。これは非常に複雑なことです。 ご不明な点やご提案がございましたら、お気軽にお問い合わせください。返信させていただきます。 ただし、CloudwaysでWordPressをホストすると便利です。 安全でスケーラブルなクラウドサーバーを数分以内にデプロイするだけです。 下のバナーをクリックして無料トライアルを開始するか、Cloudwaysデモをリクエストしてください。当社の製品スペシャリストが、すべての質問にお答えします。