Web制作

WordPressカスタム投稿とは?初心者向けに徹底解説!作り方から活用例まで

WordPressカスタム投稿タイプ

「WordPressで、通常の投稿とは違う情報を表示したいけど、どうすれば良いの?」

そうお悩みではありませんか?WordPressの標準機能だけでは実現できない、自由度の高いコンテンツを作成したいあなたへ。

この記事では、WordPressのカスタム投稿について、初心者にも分かりやすく徹底解説します。カスタム投稿の基本概念から、具体的な作り方、活用例、SEO対策まで、ステップバイステップで解説。この記事を読めば、あなたもWordPressのカスタム投稿を使いこなし、ワンランク上のWebサイトを構築できるようになります。

カスタム投稿とは?

WordPressでWebサイトを運営していると、「通常の投稿機能だけでは、表現したいコンテンツをうまく整理できない」「もっと柔軟に情報を管理したい」と感じることがあります。そんな時に役立つのが「カスタム投稿」です。

この記事では、カスタム投稿の基本的な概念から、通常の投稿との違い、そしてなぜカスタム投稿が必要なのかを、初心者の方にも分かりやすく解説していきます。

なぜカスタム投稿が必要なのか?

WordPressの標準機能である「投稿」は、ブログ記事やニュースなど、時系列で更新される情報を管理するのに適しています。しかし、Webサイトでは、ブログ記事以外にも、ポートフォリオ、商品情報、イベント情報、不動産物件、求人情報など、様々な種類のコンテンツを掲載することが一般的です。これらのコンテンツは、それぞれ独自の属性(例:ポートフォリオなら制作者名、作品カテゴリ、使用ツールなど)を持ち、通常の投稿形式では管理しきれない場合があります。

カスタム投稿を導入することで、これらの多様なコンテンツを、それぞれに適した形で、分かりやすく整理・管理できるようになります。これにより、サイトの表現力と機能性が格段に向上し、ユーザーにとっても情報が見つけやすくなります。

通常の投稿との違い

カスタム投稿と通常の投稿の主な違いは、その「種類」と「管理方法」にあります。WordPressでは、コンテンツの種類ごとに「投稿タイプ」というものが定義されており、通常の投稿は「post」という投稿タイプに分類されます。一方、カスタム投稿は、開発者やプラグインが独自に定義する「カスタム投稿タイプ」です。

この違いにより、以下のような点が異なります。

通常の投稿との違い

カスタム投稿と通常の投稿の主な違い

特徴通常の投稿カスタム投稿
目的ブログ記事、ニュースなどの時系列情報ポートフォリオ、商品、イベントなど、サイト固有のコンテンツ
管理画面「投稿」メニューに表示独自のメニュー名で表示(例:「ポートフォリオ」「商品」など)
URL構造/blog/post-name/ のような構造/portfolio/project-name/ のような、目的に合わせた構造にしやすい
テンプレートファイルsingle.php, archive.php など汎用的なテンプレートが適用されることが多い独自のテンプレートファイル(例:single-portfolio.php, archive-product.php)を作成し、デザインや表示を細かく制御できる
検索・表示通常の投稿と一緒に検索・表示される検索対象から除外したり、特定のテンプレートで表示したりといった制御が可能

このように、カスタム投稿は、サイトの目的に合わせてコンテンツをより専門的に、そして柔軟に管理するための強力な機能なのです。

カスタム投稿のメリットとデメリット

カスタム投稿を導入することで、WordPressサイトの表現力と管理能力は格段に向上しますが、一方で考慮すべき点も存在します。ここでは、カスタム投稿を導入するメリットとデメリットを、具体的な視点から解説します。

メリット

  • コンテンツの整理と分類が容易になる: 通常の投稿とは異なる種類のコンテンツ(例: 商品、ポートフォリオ、イベント、スタッフ紹介など)を、それぞれ独立したカスタム投稿タイプとして作成できます。これにより、サイト内の情報が整理され、ユーザーも目的の情報を見つけやすくなります。
  • サイトの表現力と機能性が向上する: カスタム投稿タイプごとに異なるテンプレートファイルを用意することで、表示形式やデザインを柔軟にカスタマイズできます。例えば、ポートフォリオなら画像ギャラリー中心に、商品紹介なら詳細スペックやレビュー表示に特化させるなど、コンテンツに最適な表現が可能になります。
  • SEO効果を高められる可能性がある: カスタム投稿タイプごとにパーマリンク構造を最適化したり、特定のキーワードに特化したコンテンツを作成したりすることで、検索エンジンからの評価を高めやすくなります。例えば、「商品紹介」カスタム投稿のURLを example.com/products/商品名 のように設定することで、検索エンジンに商品情報であることが伝わりやすくなります。
  • 管理画面が使いやすくなる: カスタム投稿タイプごとに管理画面のメニューが分かれるため、投稿、固定ページ、そして作成したカスタム投稿タイプが混在することなく、直感的にコンテンツを管理できるようになります。

デメリット

  • 導入・設定に専門知識が必要になる場合がある: プラグインを使えば比較的容易に作成できますが、より柔軟なカスタマイズや、コード(functions.php)での実装を行う場合は、PHPやWordPressの構造に関するある程度の知識が必要になります。
  • テーマの互換性に注意が必要: 使用しているテーマがカスタム投稿タイプに標準で対応していない場合、表示やデザインの崩れが発生する可能性があります。その際は、テーマファイルの編集や、カスタム投稿タイプに対応したテーマへの変更が必要になることがあります。
  • サイト構造が複雑化する可能性がある: カスタム投稿タイプを増やしすぎると、サイト全体の構造が複雑になり、管理が難しくなることがあります。どの情報をどのようなカスタム投稿タイプで管理するか、事前にしっかりと計画することが重要です。
  • 初期設定やメンテナンスに手間がかかる: カスタム投稿タイプを作成した後も、表示テンプレートの作成、カスタムフィールドの設定、必要に応じたCSSでのデザイン調整など、初期設定やその後のメンテナンスに手間がかかることがあります。

カスタム投稿の活用例

ここからは、WordPressのカスタム投稿が具体的にどのような場面で役立つのか、3つの活用例を通してご紹介します。カスタム投稿を使いこなすことで、あなたのWebサイトはさらに表現豊かで機能的なものになるでしょう。

カスタム投稿タイプとカスタムフィールド活用例

ポートフォリオサイト

クリエイターやデザイナーにとって、自身のスキルや実績を効果的にアピールできるポートフォリオサイトは非常に重要です。通常の投稿機能では、作品ごとに異なる情報(使用ツール、制作期間、担当箇所など)を整理して表示するのが難しい場合があります。カスタム投稿を利用すれば、「ポートフォリオ」という新しい投稿タイプを作成し、作品ごとに専用のフィールド(カスタムフィールド)を用意して、詳細情報を構造化して登録できます。例えば、各作品に「使用したソフトウェア」「プロジェクトの目的」「担当範囲」といった項目を追加し、それらをテンプレートファイルで美しく表示させることが可能です。これにより、訪問者はあなたのスキルや経験を、より深く、分かりやすく理解できるようになります。

商品紹介ページ

ECサイトや企業サイトにおいて、商品の魅力を最大限に伝え、購入や問い合わせにつなげるための商品紹介ページは不可欠です。カスタム投稿を使えば、「商品」という投稿タイプを作成し、各商品に固有の情報を整理して登録できます。例えば、「商品名」「価格」「商品説明」「仕様」「在庫状況」「関連商品」といった項目をカスタムフィールドとして設定し、それらをテンプレートで魅力的に表示させることができます。これにより、商品の情報を一元管理しやすくなるだけでなく、価格帯別やカテゴリ別など、柔軟な商品リストの表示も可能になります。通常の投稿で商品情報を管理するよりも、はるかに効率的で、ユーザーにとっても見やすいサイト構築が実現します。

イベント告知ページ

セミナー、展示会、ワークショップなどのイベント情報を効果的に告知・管理したい場合にも、カスタム投稿は強力な味方となります。カスタム投稿で「イベント」という投稿タイプを作成すれば、各イベントに固有の情報(開催日時、場所、参加費、登用者、申し込み方法など)を専用のフィールドで管理できます。これにより、イベント情報を一覧表示したり、開催予定順に並べ替えたりすることが容易になります。また、イベントごとに詳細ページをカスタム投稿で作成することで、参加者が必要とする情報を分かりやすく提供でき、申し込みへの導線もスムーズに設置できます。通常の投稿でイベント情報を管理すると、情報が埋もれてしまったり、更新が煩雑になったりしがちですが、カスタム投稿を使えば、イベント情報の管理と発信が格段に効率化されます。

カスタム投稿の作成方法

WordPressでカスタム投稿を実装するには、大きく分けて二つの方法があります。一つは、専門知識がなくても手軽にカスタム投稿を作成できる「プラグイン」を利用する方法。もう一つは、テーマのカスタマイズに慣れている方向けの「functions.phpファイルへのコード記述」による方法です。どちらの方法にもメリット・デメリットがあり、ご自身のスキルや目的に合わせて選択することが重要です。

カスタム投稿の作成から表示までの流れ

このセクションでは、それぞれの作成方法について、具体的な手順と注意点を詳しく解説していきます。

プラグイン「Custom Post Type UI」を使った作成

カスタム投稿の作成を最も簡単に行える方法の一つが、プラグイン「Custom Post Type UI」を利用することです。このプラグインを使えば、コーディングの知識がなくても、管理画面から直感的にカスタム投稿タイプを作成・管理できます。

インストールと有効化

  1. WordPressの管理画面にログインします。
  2. 左側のメニューから「プラグイン」>「新規追加」を選択します。
  3. 検索窓に「Custom Post Type UI」と入力し、検索します。
  4. 「Custom Post Type UI」が表示されたら、「今すぐインストール」ボタンをクリックし、インストールが完了したら「有効化」をクリックします。

基本的な設定

プラグインを有効化すると、管理画面の左側メニューに「CPT UI」という項目が追加されます。

  1. 「CPT UI」>「投稿タイプを追加/編集」をクリックします。
  2. 「投稿タイプのスラッグ」: ここには、カスタム投稿の識別子となるスラッグ(URLの一部になります)を入力します。小文字の英数字とハイフンのみを使用し、一意の名前をつけます(例: portfolio, event)。
  3. 「表示名(複数形)」: 管理画面のメニューなどに表示される、カスタム投稿の複数形の名前を入力します(例: ポートフォリオ, イベント)。
  4. 「表示名(単数形)」: カスタム投稿の単数形の名前を入力します(例: ポートフォリオ, イベント)。
  5. 「ラベル」: ここでは、管理画面上で表示される様々なラベル(メニュー名、新規追加ボタンのテキストなど)をカスタマイズできます。「デフォルトラベルを使用」のチェックを外すと、各項目を個別に編集できます。
  6. 「機能」: このカスタム投稿タイプで利用したいWordPressの標準機能を有効/無効に設定します。例えば、「タイトル」「エディタ」「アイキャッチ画像」などは通常有効にします。
  7. 設定が完了したら、「変更を保存」ボタンをクリックします。

これで、指定したスラッグで新しいカスタム投稿タイプが作成され、管理画面のメニューに表示されるようになります。

functions.phpでのコード記述による作成

テーマのfunctions.phpファイルにPHPコードを記述することで、カスタム投稿タイプを登録する方法です。この方法は、プラグインを増やしたくない場合や、より細かく設定を制御したい場合に有効ですが、PHPの基本的な知識が必要となります。

基本的なコード例

以下のコードを、お使いのテーマのfunctions.phpファイルの末尾に追加します。子テーマを使用している場合は、子テーマのfunctions.phpに記述してください。

<?php
// カスタム投稿タイプ:ポートフォリオ
function create_portfolio_post_type() {
    register_post_type('portfolio', // 投稿タイプのスラッグ
        array(
            'labels' => array(
                'name' => _x( 'ポートフォリオ', 'post type general name' ),
                'singular_name' => _x( 'ポートフォリオ', 'post type singular name' ),
                'menu_name' => _x( 'ポートフォリオ', 'admin menu' ),
                'name_admin_bar' => _x( 'ポートフォリオ', 'add new button name' ),
                'add_new' => _x( '新規追加', 'portfolio' ),
                'add_new_item' => __( '新規ポートフォリオを追加' ),
                'edit_item' => __( 'ポートフォリオを編集' ),
                'view_item' => __( 'ポートフォリオを表示' ),
                'all_items' => __( 'ポートフォリオ一覧' ),
                'search_items' => __( 'ポートフォリオを検索' ),
                'not_found' => __( 'ポートフォリオが見つかりませんでした。' ),
                'not_found_in_trash' => __( 'ゴミ箱にポートフォリオは見つかりませんでした。' )
            ),
            'public' => true,
            'menu_position' => 5, // 管理画面メニューでの表示順
            'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt' ), // 利用する機能
            'has_archive' => true // アーカイブページを有効にするか
        )
    );
}
add_action( 'init', 'create_portfolio_post_type' );
?>

コードの解説

  • register_post_type(): WordPressにカスタム投稿タイプを登録するための関数です。
  • 第一引数 ('portfolio') : カスタム投稿タイプのスラッグを指定します。URLの一部として使用されます。
  • 第二引数 (array(...)) : カスタム投稿タイプの設定を配列で記述します。
    • 'labels': 管理画面に表示されるテキスト(メニュー名、ボタン名など)を定義します。_x()__()は、WordPressの国際化(翻訳)に対応するための関数です。
    • 'public' => true: カスタム投稿タイプを一般公開するかどうかを指定します。trueにすると、管理画面での表示やフロントエンドでの表示が可能になります。
    • 'menu_position': 管理画面のメニューで、どの位置に表示するかを指定します。数字が小さいほど上に表示されます。
    • 'supports': カスタム投稿タイプで利用したい機能(タイトル、エディタ、アイキャッチ画像、抜粋など)を指定します。配列で複数指定できます。
    • 'has_archive' => true: このカスタム投稿タイプのアーカイブページ(一覧ページ)を有効にするかどうかを指定します。trueにすると、example.com/portfolio/のようなURLで一覧ページが表示されるようになります。
  • add_action( 'init', 'create_portfolio_post_type' ): WordPressの初期化処理(initアクション)が実行される際に、create_portfolio_post_type関数を実行するようにWordPressに指示しています。

注意点

  • functions.phpを編集する際は、必ずバックアップを取ってください。コードの記述ミスはサイトが表示されなくなる原因となります。
  • テーマをアップデートすると、functions.phpの変更が失われる可能性があります。そのため、カスタム投稿タイプを登録する際は、子テーマを作成し、そのfunctions.phpにコードを記述することを強く推奨します。
  • スラッグ名は、一度登録すると変更が難しいため、慎重に決定してください。

カスタム投稿の表示方法

作成したカスタム投稿をウェブサイト上で実際に表示させるための、テンプレートファイルの役割とWordPressループ処理の基本を解説します。

テンプレートファイルの役割

WordPressでは、投稿や固定ページ、そしてカスタム投稿など、コンテンツの種類に応じて表示するデザインやレイアウトを管理するために「テンプレートファイル」という仕組みが使われています。カスタム投稿を表示する際にも、このテンプレートファイルが重要な役割を果たします。

カスタム投稿タイプごとに専用のテンプレートファイルを用意することで、通常の投稿とは異なるデザインや表示形式を簡単に実現できます。具体的には、カスタム投稿の一覧ページを表示するための archive-{$post_type}.php ファイルと、個別のカスタム投稿記事を表示するための single-{$post_type}.php ファイルが主に使用されます。{$post_type} の部分には、あなたが作成したカスタム投稿タイプのスラッグ(識別名)が入ります。例えば、「ポートフォリオ」というカスタム投稿タイプを作成した場合、archive-portfolio.phpsingle-portfolio.php といったファイル名になります。

これらのテンプレートファイル内に、WordPressループ処理を使ってカスタム投稿のデータを取得し、どのように表示するかを記述していきます。テーマにこれらのファイルが存在しない場合は、WordPressは汎用的なテンプレートファイル(archive.phpsingle.php など)を読み込もうとしますが、カスタム投稿専用のテンプレートを用意することで、より細やかなデザイン制御が可能になります。

WordPressループ処理

WordPressループ(The Loop)とは、WordPressがデータベースから投稿データを取得し、それをウェブページ上に動的に表示するための中心的な仕組みです。カスタム投稿を表示する際も、このループ処理が不可欠となります。

基本的なWordPressループは、以下のような構造で記述されます。

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <article id="post-<?php the_ID(); ?>">
        <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
        <div><?php the_content(); ?></div>
    </article>
<?php endwhile; else : ?>
    <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>

このコードは、投稿が存在するかどうかを確認し(have_posts())、存在すれば1つずつ投稿データを取得して(the_post())、そのタイトル(the_title())やパーマリンク(the_permalink())、本文(the_content())などを表示します。カスタム投稿を表示する場合、これらの関数は、あなたが作成したカスタム投稿タイプのデータを正しく取得して表示してくれます。

アーカイブページ(一覧)では、複数のカスタム投稿が順番に表示され、個別記事ページでは、そのカスタム投稿の単一の記事情報が表示されます。このループ処理に、カスタムフィールドで追加した情報などを表示するための関数(例: the_field('カスタムフィールド名'))を追加していくことで、よりリッチなコンテンツ表示が可能になります。

カスタム投稿のデザインカスタマイズ

ここからは、作成したカスタム投稿の見た目を、CSSやテーマファイルの編集を通じて自由に調整する方法について解説します。これにより、サイト全体のデザインと統一感を保ちつつ、カスタム投稿ならではの表現力を高めることが可能になります。

CSSでの装飾

カスタム投稿のアーカイブページや個別記事ページに適用されるHTML要素に対し、CSSセレクタを使ってデザインをカスタマイズする方法を解説します。これにより、手軽に見た目の変更が可能です。

カスタム投稿の表示には、通常、WordPressが用意するテンプレートファイル(archive-{$post_type}.phpsingle-{$post_type}.php など)が使用されます。これらのテンプレートファイルが出力するHTML構造を理解し、適切なCSSセレクタを指定することで、デザインの調整を行います。

例えば、カスタム投稿のタイトルを大きく表示したい場合は、以下のようなCSSを記述します。

/* カスタム投稿のタイトルを大きく表示 */
.custom-post-type-title {
    font-size: 2em;
    color: #333;
    margin-bottom: 20px;
}

このCSSを、WordPressの管理画面から「外観」→「カスタマイズ」→「追加CSS」に貼り付けるか、テーマの style.css ファイルに追記します。custom-post-type-title の部分は、実際のカスタム投稿のHTML構造に合わせて適切なセレクタに変更してください。ブラウザの開発者ツール(F12キーなどで表示)を活用すると、対象となるHTML要素のクラス名やIDを特定しやすくなります。

テーマファイル編集によるカスタマイズ

より高度なデザイン変更やレイアウト調整のために、テーマのテンプレートファイルを直接編集する方法について解説します。この方法は、HTML構造の変更や、PHPコードの追加・修正を伴うため、ある程度の専門知識が必要となります。

カスタム投稿の表示に使用される主なテンプレートファイルは以下の通りです。

  • アーカイブページ: archive-{$post_type}.php (例: archive-portfolio.php)
  • 個別記事ページ: single-{$post_type}.php (例: single-portfolio.php)

これらのファイルを、お使いのテーマのディレクトリ内に作成(または既存ファイルをコピーして編集)します。例えば、ポートフォリオ用のカスタム投稿を作成した場合、archive-portfolio.php を作成し、ポートフォリオ一覧の表示レイアウトを定義します。同様に、single-portfolio.php で個別のポートフォリオ記事の表示内容やレイアウトをカスタマイズします。

注意点:

  • テーマファイルを直接編集する際は、必ず子テーマを作成し、その子テーマ内で編集を行ってください。親テーマのファイルを直接編集すると、テーマのアップデート時に変更が失われてしまう可能性があります。
  • PHPコードの記述ミスは、サイトが表示されなくなる(ホワイトスクリーンエラー)などの致命的な問題を引き起こす可能性があります。編集前には必ずバックアップを取り、慎重に作業を行ってください。

これらの方法を組み合わせることで、カスタム投稿のコンテンツを、あなたのサイトのデザインテーマに合わせて柔軟に表現することが可能になります。

カスタムフィールドとの連携

ここからは、カスタム投稿に付加的な情報を管理・表示するために、カスタムフィールドをどのように追加・連携させるか、そのメリットと共に解説します。

カスタムフィールドとは?

カスタムフィールドとは、WordPressの投稿や固定ページ、そしてカスタム投稿タイプに、標準のタイトルや本文以外の「追加情報」を持たせるための機能です。例えば、不動産情報であれば「価格」「間取り」「所在地」といった情報を、書籍情報であれば「著者」「ISBNコード」「出版社」といった情報を、それぞれ個別のフィールドとして登録・管理できます。これにより、単なるテキスト情報だけでなく、構造化されたデータをWordPressで扱うことが可能になります。カスタム投稿とカスタムフィールドを組み合わせることで、サイトの表現力と管理能力を飛躍的に向上させることができます。

カスタムフィールドの追加方法

カスタムフィールドを追加・管理する方法はいくつかありますが、最も一般的で初心者にも扱いやすいのはプラグインを利用する方法です。特に「Advanced Custom Fields (ACF)」というプラグインは、高機能でありながら直感的な操作でカスタムフィールドを作成できるため、広く利用されています。

Advanced Custom Fields (ACF) を使用する場合の基本的な流れ:

  1. プラグインのインストールと有効化: WordPressの管理画面から「プラグイン」>「新規追加」に進み、「Advanced Custom Fields」と検索してインストール、有効化します。
  2. フィールドグループの作成: 管理画面のメニューに「カスタムフィールド」が追加されるので、そこから「フィールドグループ」>「新規追加」を選択します。
  3. フィールドの追加: フィールドグループに名前を付けたら、「+フィールドを追加」ボタンをクリックし、フィールドラベル(例: 価格)、フィールド名(例: price)、フィールドタイプ(例: 数値、テキスト、画像など)を設定します。
  4. 表示ルールの設定: 作成したフィールドグループを、どの投稿タイプ(例: 作成したカスタム投稿タイプ)に表示させるかを設定します。例えば、「投稿タイプが『ポートフォリオ』と等しい」といった条件を設定します。
  5. 公開: 設定が完了したら、フィールドグループを公開します。

これにより、指定した投稿タイプ(カスタム投稿)の編集画面に、追加したカスタムフィールドが表示されるようになります。

コードで実装する場合は、functions.php にメタボックスを追加し、入力フォームを生成するPHPコードを記述する必要がありますが、これはより専門的な知識を要します。

カスタム投稿とカスタムフィールドを連携させるメリット

カスタム投稿にカスタムフィールドを組み合わせることで、以下のようなメリットが得られます。

  • 情報の構造化と一元管理: 投稿タイトルや本文といった汎用的な情報だけでなく、商品名、価格、仕様、イベント日時、会場といった、そのコンテンツ固有の情報を整理して登録・管理できます。これにより、情報の抜け漏れを防ぎ、一貫性を保つことができます。
  • 表現力の向上: 標準の投稿機能だけでは表示できない、リッチな情報(例: ギャラリー画像、地図、評価スコアなど)を、カスタムフィールドの種類を選ぶことで容易に実装できます。これにより、ユーザーにとってより魅力的で分かりやすいコンテンツを提供できます。
  • 柔軟な表示と検索: カスタムフィールドに入力された値を元に、サイト上で特定の条件に合致するコンテンツを絞り込んだり、一覧表示したりすることが可能になります。例えば、「価格が10,000円以上の商品のみ表示」といった高度な表示制御が実現できます。
  • SEO効果の向上: 構造化されたデータは、検索エンジンにも理解されやすくなります。カスタムフィールドで入力した情報を適切にマークアップすることで、検索結果での表示(リッチスニペットなど)に繋がり、クリック率の向上も期待できます。
  • 作業効率の向上: 毎回同じような情報を入力する手間が省け、決まったフォーマットで情報を追加できるため、コンテンツ作成の効率が大幅に向上します。

カスタム投稿の削除方法と注意点

これまで、WordPressでカスタム投稿を作成し、活用する方法について解説してきました。しかし、サイトの構成変更や不要になったコンテンツの整理に伴い、作成したカスタム投稿を削除する必要が出てくる場合もあります。カスタム投稿を削除する際には、データ消失などのリスクが伴うため、慎重な対応が必要です。

このセクションでは、カスタム投稿を安全に削除するための注意点と、具体的な削除手順について解説します。

削除前の注意点

カスタム投稿を削除する前に、以下の点を確認し、万が一の事態に備えておくことが重要です。バックアップを必ず取得してから作業を進めましょう。

  • バックアップの取得: カスタム投稿を削除すると、それに関連する投稿データや設定が失われる可能性があります。万が一、誤って削除してしまったり、予期せぬ問題が発生した場合に備え、必ずWordPressサイト全体のバックアップ(データベースとファイル)を取得してください。
  • 関連コンテンツの確認: 削除しようとしているカスタム投稿に関連する投稿(記事)がサイト上に存在しないか確認しましょう。もし関連コンテンツがある場合は、削除前にそれらを標準の投稿に移行するか、削除するかを決定する必要があります。
  • プラグインやテーマへの影響: カスタム投稿を削除することで、そのカスタム投稿を表示するために使用していたプラグインやテーマの機能に影響が出る可能性があります。特に、カスタム投稿タイプを直接参照しているコードがある場合は注意が必要です。
  • カスタムフィールドの確認: カスタム投稿タイプに紐づいているカスタムフィールドも、カスタム投稿タイプを削除すると一緒に削除されるか、あるいは無効になる場合があります。必要なカスタムフィールドは、事前にエクスポートしておくか、別のカスタム投稿タイプに紐づけ直すなどの対応を検討しましょう。

削除手順

カスタム投稿の削除方法は、作成方法によって異なります。ここでは、プラグインで作成した場合と、functions.phpにコードを記述して作成した場合の、それぞれの削除手順を解説します。

1. プラグインで作成したカスタム投稿の削除

「Custom Post Type UI」などのプラグインを使用してカスタム投稿を作成した場合、削除もプラグイン上で行うのが一般的です。以下に「Custom Post Type UI」を例とした手順を示します。

  1. WordPress管理画面にログインし、「Custom Post Type UI」プラグインの設定画面を開きます。
  2. 「Post Types」メニューから、「Add/Edit Post Types」を選択します。
  3. 削除したいカスタム投稿タイプを見つけ、「Delete」または「削除」ボタンをクリックします。
  4. 確認画面が表示されるので、内容をよく確認し、「Delete」をクリックして削除を確定します。

注意点: プラグインによっては、カスタム投稿タイプを削除しても、それに関連する投稿データがデータベース上に残ってしまう場合があります。完全に削除したい場合は、データベースを直接操作する必要があることもありますが、専門知識がない場合は推奨されません。プラグインのドキュメントを確認するか、専門家に相談することをおすすめします。

2. functions.php で作成したカスタム投稿の削除

functions.php にコードを記述してカスタム投稿を作成した場合、削除するにはそのコードを削除する必要があります。

  1. WordPress管理画面から「外観」>「テーマファイルエディター」を選択します。(またはFTPクライアントでサーバーにアクセスし、wp-content/themes/あなたのテーマ名/functions.php を編集します。)
  2. functions.php ファイルを開き、削除したいカスタム投稿タイプを登録している register_post_type() 関数のコードを見つけます。
  3. 該当するコードブロックを削除します。
  4. ファイルを保存します。

注意点: functions.php からコードを削除すると、そのカスタム投稿タイプ自体がWordPressから認識されなくなります。しかし、データベース上に保存されていたカスタム投稿のデータ(投稿内容やメタデータ)は、すぐには削除されない場合があります。これらのデータも完全に削除したい場合は、データベースを直接操作して該当する投稿データを削除する必要があります。これは高度な作業となるため、専門知識がない場合は、削除せずに非表示にするなどの方法を検討する方が安全です。誤ったコードの削除はサイト全体に影響を与える可能性があるため、編集前には必ずバックアップを取得し、慎重に作業を行ってください。

SEO対策としてのカスタム投稿の活用

カスタム投稿を導入することで、サイトのコンテンツ構造がより柔軟になり、SEO(検索エンジン最適化)の観点からも様々なメリットが期待できます。ここでは、カスタム投稿をSEOに効果的に活用するための具体的な設定方法やアプローチについて解説します。

SEOに効果的な設定

カスタム投稿タイプや個別の投稿に、検索エンジンに評価されやすい設定を行うことで、サイト全体の検索順位向上に貢献できます。具体的には、以下の設定が重要です。

  • パーマリンク設定の最適化: カスタム投稿タイプごとに、分かりやすく、かつ検索エンジンが理解しやすいURL構造を設定することが重要です。後述する「URL構造の最適化」で詳しく解説します。
  • メタ情報の適切な設定: 各カスタム投稿のアーカイブページや個別投稿ページに、検索結果に表示されるタイトルタグやメタディスクリプションを適切に設定することで、クリック率の向上につながります。
  • 投稿タイプごとのカテゴリ・タグ設定: 通常の投稿と同様に、カスタム投稿にもカテゴリやタグを設定することで、サイト内の関連コンテンツへの回遊を促進し、検索エンジンにサイト構造を理解させやすくなります。
  • XMLサイトマップへの追加: カスタム投稿タイプで作成したページも、XMLサイトマップに含めることで、検索エンジンにインデックスされやすくなります。多くのSEOプラグインでは、カスタム投稿タイプをXMLサイトマップに含める設定が可能です。

URL構造の最適化

カスタム投稿のURL構造は、ユーザーと検索エンジンの両方にとって分かりやすいものであることがSEO上非常に重要です。WordPressのパーマリンク設定では、カスタム投稿タイプごとにURLの構造を柔軟に設定できます。

例えば、「ポートフォリオ」というカスタム投稿タイプを作成した場合、以下のようなURL構造が考えられます。

  • https://example.com/portfolio/作品名/ (カスタム投稿タイプ名を含める)
  • https://example.com/category/ポートフォリオ/作品名/ (カテゴリ構造を利用する場合)

パーマリンク設定は、WordPressの管理画面の「設定」>「パーマリンク設定」から行うことができます。カスタム投稿タイプを作成した後は、この画面でパーマリンク構造を編集し、/%postname%//%category%/%postname%/ といったスラッグを適切に設定することで、SEOフレンドリーなURLを実現できます。URLにカスタム投稿タイプ名を含めることで、そのページがどのようなコンテンツであるかを検索エンジンに明確に伝えることができます。

メタディスクリプションとタイトルタグ

検索結果に表示されるタイトルタグとメタディスクリプションは、ユーザーがそのページをクリックするかどうかを判断する上で非常に重要な要素です。カスタム投稿においても、これらの情報を最適化することで、クリック率(CTR)の向上を図り、結果としてSEO評価の改善につなげることができます。

  • タイトルタグ: 各カスタム投稿のタイトルタグは、その投稿の内容を正確に表し、かつ検索キーワードを含めるように設定します。例えば、「ポートフォリオ」カスタム投稿であれば、「[作品名] – [あなたのサイト名/サービス名]」のような形式が考えられます。
  • メタディスクリプション: メタディスクリプションは、検索結果でタイトルタグの下に表示される短い説明文です。投稿の概要を簡潔にまとめ、ユーザーの興味を引くような魅力的な文章を作成することが重要です。キーワードを自然に含めることも意識しましょう。

これらのメタ情報は、Yoast SEOやAll in One SEO PackといったSEOプラグインを使用することで、カスタム投稿の編集画面から簡単に設定・管理することができます。

よくある質問(FAQ)

ここでは、カスタム投稿の利用にあたって読者から寄せられることが多い質問に、Q&A形式で分かりやすくお答えします。これらの情報が、あなたのカスタム投稿の理解を深め、よりスムーズなサイト構築の一助となれば幸いです。

Q. カスタム投稿を作成すると、既存の投稿に影響はありますか?

カスタム投稿を作成・管理しても、既存の標準投稿(通常のブログ記事)や、他のカスタム投稿に直接的な影響はありません。カスタム投稿は、WordPressのデータベース内で独立したデータとして扱われるため、互いに干渉することはありません。例えば、「お知らせ」というカスタム投稿を追加しても、既存の「ブログ記事」が消えたり、表示がおかしくなったりすることはありませんのでご安心ください。ただし、テーマの表示テンプレートやURL構造の設定によっては、カスタム投稿の投稿一覧ページなどが、意図せず標準投稿と混同されるように見える場合があります。これは設定の問題であり、カスタム投稿自体が既存の投稿に悪影響を与えているわけではありません。

Q. カスタム投稿の表示がおかしい場合の対処法は?

カスタム投稿の表示がおかしい場合、いくつかの原因が考えられます。まず、WordPressのキャッシュが残っている可能性があります。サイトの表示を更新するために、ブラウザのキャッシュクリアや、WordPressのキャッシュプラグイン(WP Super Cache, W3 Total Cacheなど)を利用している場合は、キャッシュの再生成を試みてください。次に、プラグイン間の競合も原因となり得ます。最近追加したプラグインがあれば一時的に無効化してみるか、全てのプラグインを無効化して問題が解消するかを確認してください。もし解消する場合は、一つずつプラグインを有効化しながら、どのプラグインが原因か特定します。さらに、カスタム投稿の表示は、テーマ内のテンプレートファイル(archive-{post_type}.phpsingle-{post_type}.php など)に依存します。これらのテンプレートファイルに記述ミスがある、または正しく配置されていない可能性も考えられます。テーマファイルを編集した場合は、コードの記述ミスがないか、PHPの構文エラーが出ていないかなどを確認しましょう。原因特定が難しい場合は、WordPressのデバッグモードを有効にすると、エラーメッセージが表示され、問題解決のヒントになることがあります。

Q. プラグインとfunctions.php、どちらで実装すべき?

カスタム投稿を作成する方法として、プラグインを利用する方法と、テーマのfunctions.phpファイルを編集してコードを記述する方法があります。どちらを選択すべきかは、あなたのスキルレベルやサイトの要件によって異なります。

プラグイン(例: Custom Post Type UI)を利用する場合

  • メリット: プログラミングの知識がなくても、管理画面から直感的にカスタム投稿タイプを作成・管理できます。初心者の方や、手軽に始めたい方におすすめです。設定項目も豊富で、細かなカスタマイズも可能です。
  • デメリット: プラグインが増えると、サイトの表示速度に影響を与える可能性や、他のプラグインとの競合が発生するリスクがあります。また、プラグインのアップデートに依存するため、開発が終了すると使えなくなるリスクもゼロではありません。

functions.phpを編集する場合

  • メリット: プラグインを導入する必要がないため、サイトの表示速度への影響が少なく、管理するプラグインの数を減らせます。コードが直接記述されるため、より柔軟で高度なカスタマイズが可能です。テーマを子テーマにしておけば、テーマのアップデートにも影響されにくいです。
  • デメリット: PHPの基本的な知識と、WordPressのコードに関する理解が必要です。コードの記述ミスはサイト全体に致命的なエラーを引き起こす可能性があるため、注意が必要です。バックアップを必ず取得してから編集することが推奨されます。

どちらの方法にも一長一短があります。もしあなたがWordPressのカスタマイズに慣れていないのであれば、まずは「Custom Post Type UI」のようなプラグインから試してみるのが良いでしょう。慣れてきたら、より細かな制御ができるfunctions.phpでの実装に挑戦することをおすすめします。

まとめ

今回の記事では、WordPressのカスタム投稿について、その基本的な概念から、通常の投稿との違い、メリット・デメリット、そして具体的な活用例までを詳しく解説しました。

さらに、プラグイン「Custom Post Type UI」を使った簡単な作成方法から、より柔軟なカスタマイズが可能なfunctions.phpへのコード記述による作成方法、そして作成したカスタム投稿の表示方法やデザインカスタマイズ、カスタムフィールドとの連携、さらには削除方法やSEO対策まで、実践的な内容を網羅的にご紹介しました。

カスタム投稿を使いこなすことで、あなたのWordPressサイトは格段に表現力と機能性を増し、読者にとってもより魅力的で使いやすいものになるはずです。ぜひこの記事を参考に、あなたのアイデアを形にしてみてください。

もし、「こんなカスタム投稿を作りたいけれど、どうすれば良いか分からない」といった疑問や、「作成したカスタム投稿の表示がおかしい」といった問題に直面した場合は、ぜひFAQセクションも参考にしてください。それでも解決しない場合は、専門家への相談も検討しましょう。

これで、あなたもWordPressのカスタム投稿マスターです!

お問い合わせはこちら

この記事の監修者

脇村 隆

1997年のインターネット黎明期よりWeb制作に従事。イニット(現・トランスコスモス)、ぴあデジタルコミュニケーションズ、NRIネットコム等にて、HTMLコーダー、ディレクター、プロデューサー、コンサルタントとして大手企業Webサイト構築の上流から下流まで一貫して担当。
コーポレート/サービス/金融機関サイトの再設計や情報設計を軸に、自然検索からの集客向上とCV改善を多数実現。2012年にプラス・ムーブメント合同会社を設立し、14期目を迎える現在もWebサイト制作・PR支援を展開。商工会・自治体をはじめ公的機関案件を12年連続で継続支援し、運用内製化や業務効率化(kintone等)まで伴走。
単著『アフィリエイターのためのWeb APIプログラミング入門』をはじめ、各種セミナー登壇多数。GUGA 生成AIパスポート(2025年6月取得)を保有。
現在は「AIミライデザイナー」代表として、戦略立案からWebサイト実装・SEO対策、集客後のAI・DX推進までを伴走型でワンストップ提供。