1. TOP
  2. 技術メモ
  3. 独自のカスタム投稿タイプを追加する方法

独自のカスタム投稿タイプを追加する方法

独自のカスタム投稿タイプを追加する方法

この記事は【2023年9月12日】が最後の更新のため、記事の内容が古い可能性があります。

WordPressの通常の投稿と別に分けて記事を作成したい場合に便利な「カスタム投稿タイプ」。プラグイン でも機能を追加することができますが、テーマにちょっと記述するだけで簡単に使用することができます。
自分が仕事でよくやるのは、通常の投稿はブログやお知らせなどで使用し、商品紹介やお店情報など別のコンテンツを書きたい場合にカスタム投稿を使用しています。
目的によって投稿する場所を変えることによって更新し易くなります。

 

カスタム投稿の追加方法

functions.phpに下記のように追加してください。

/* ショップ投稿 */
add_action( 'init', 'create_post_type' );

function create_post_type() {
  register_post_type(
    'shop',
    array(
      'labels' => array(
      'name' => __( 'お店情報' ),
      'singular_name' => __( 'お店情報' )
    ),
      'public' => true,
      'has_archive' => true,
      'menu_position' => 5,
      'supports' => array('title','thumbnail','custom-field-template')
    )
  );
}

shopやshop-catを適した名称(英数文字)に変更しお使いください。

‘public’
このカスタム投稿タイプをフロントエンドでの公開をするか設定する項目になります。

‘has_archive’
パーマリンクの設定がデフォルト以外の場合やアーカイブページを表示させる場合に。

‘menu_position’
ダッシュボードのメニューの表示順序。

‘supports’
投稿時に編集画面で使用する項目を設定します。初期値はtitle(記事タイトル)editor(記事本文)になります。

他には下記のような項目があります。

  • author(作成者)
  • thumbnail(アイキャッチ )
  • excerpt(抜粋記事)
  • trackbacks(トラックバック)
  • custom-fields(カスタムフィールド )
  • comments(ディスカッション)
  • revisions(リビジョン)


上記のサンプルはお店情報を投稿する際に使用したままを載せているので、supportsの部分を削除するかeditor等を追加しましょう。

function.phpなどに追加する場合は念のためバックアップを取っておいてください。

カスタム投稿タイプの投稿した記事をRSSに含める

カスタム投稿タイプの記事はそのままではRSSに含まれません。以下をfunction.phpに追加してください。「shop」の部分を設定したスラッグ名に変更してください。

//カスタム投稿タイプの記事が投稿されたら10分後にping送信
function shop_pings_at_publish( $post_id ) {
    wp_schedule_single_event( strtotime( '+10 min' ), 'do_pings', array( $post_id ) );
}
add_action( 'publish_shop', 'comic_pings_at_publish', 10);

//RSSにカスタム投稿タイプの記事を追加
function myfeed_request($qv) {
  if (isset($qv['feed']) && !isset($qv['post_type']))
    $qv['post_type'] = array('shop');
  return $qv;
}
add_filter('request', 'myfeed_request');

 

PR

ニッチなテーマのイラスト素材を投稿中!ぜひご利用ください。

ナマケモノなど可愛いイラストをイラストACで無料配布中!

オリジナル絵本をKindleで出版!

ナマケモノのふにゃまるちゃんを読む

困ったときは格安で依頼!RU DESIGNも出品中

格安レンタルサーバーでサイト運営を始めよう

ドメイン取得は一括管理が便利!

応援・支援よろしくお願いします!サイト運営に活用させていただきます。

Braveクリエイターサポート
ホームページ制作ならRU DESIGN

関連記事

【WordPress初心者さん必見!】「これ、どうすればいいの?」検索しても意外と見つからない疑問を解決!
2025/04/19
WordPressでのサイト運営、始めてみましたか?✨ 最初は設定や記事の書き方など、覚えることがたくさんで大変ですよね!基本的な操作は色々なサイトで解説されて...
WordPressで「Missing a temporary folder」エラーを解決!ファイルがアップロードできない時の簡単な対処法
2025/04/19
WordPressで画像やプラグインをアップロードしようとしたら、「Missing a temporary folder」というエラーが出て、うまくアップロード...
WPFormsで「JavaScriptの問題を検出しました」メッセージが表示された時の原因と対処法
2025/04/19
WordPressサイトで人気の高いお問い合わせフォームプラグインの一つであるWPFormsを利用していると、サイトの管理画面や、実際にフォームが表示されている...
WordPressサイトの処理が止まる?「Maximum execution time exceeded」エラーの原因と対策
2025/04/18
WordPressサイトを運営していると、時々「Fatal error: Maximum execution time of XX seconds exceed...
WordPressで遭遇しやすい「原因が分かりにくい」エラーと解決策
2025/04/18
WordPressでウェブサイトを運用していると、予期しないエラーメッセージに遭遇することがあります。有名なエラー(例えば、白い画面だけが表示される「真っ白画面...