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

WordPressサイトでさまざまな種類のコンテンツを整理するのに苦労していませんか?

すべてに通常のブログ投稿を使用しようとしていて、商品リスト、お客様の声、ポートフォリオアイテムなどが、すぐに混乱した状態になってしまうことに気づいたかもしれません。🤦

それがどれほどイライラするか、私たちはよく理解しています。幸いなことに、混沌に秩序をもたらす簡単な方法があります:カスタム投稿タイプです。

カスタム投稿タイプを使用すると、すべてのコンテンツ専用のセクションを作成できます。つまり、製品、お客様の声、ポートフォリオはそれぞれ、通常のブログ投稿やページとは完全に分離された独自のレイアウトと構造を持つことができます。

このガイドでは、カスタム投稿タイプを作成するための2つの異なる方法を紹介します。これにより、あなたの快適レベルに合った方法を選択し、コンテンツを今日きれいに整理できます。

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

WordPressのカスタム投稿タイプとは?

カスタム投稿タイプとは、WordPressで作成できる、通常の投稿や固定ページとは異なるコンテンツタイプのことです。ポートフォリオ、商品、映画レビューなど、ユニークな種類のコンテンツをより構造化された方法で整理および表示できます。

すべてのコンテンツを一つの引き出しに放り込むのではなく、コンテンツの種類ごとに整理されたファイルキャビネットを持っているようなものだと考えてください!

詳細に入る前に、WordPressは投稿タイプを使用して異なるコンテンツを区別します。「投稿」と「ページ」が最も一般的なタイプですが、WordPressにはデフォルトで他にもいくつか含まれています。

  • 投稿 – ブログ記事用
  • ページ – Aboutページのような静的コンテンツ用
  • 添付ファイル – メディアファイル用
  • 改訂 – コンテンツの下書きと編集用
  • ナビゲーションメニュー – メニュー項目用

カスタム投稿タイプを使用すると、WordPressウェブサイト内に特定の種類のコンテンツ専用のセクションを作成できます。

例えば、映画レビューサイトを運営しているとしましょう。その場合、「映画レビュー」というカスタム投稿タイプを作成したいと思うでしょう。ポートフォリオサイトでは、「プロジェクト」という投稿タイプを作成するかもしれません。一方、eコマースサイトでは、「商品」という投稿タイプが役立つでしょう。

📝 内部情報: WPBeginnerでは、カスタム投稿タイプも実際に使用しています。それをDealsGlossaryセクションで使用して、ブログ記事とは別に管理しています。

次に、各カスタム投稿タイプは独自のレイアウト、カスタムフィールド、さらには独自のカスタムカテゴリまたはタグ構造を持つことができます。これにより、サイトがより整理され、ユーザーフレンドリーになります!

さらに、多くの人気のWordPressプラグインは、WordPressウェブサイトにデータを保存するためにカスタム投稿タイプを使用しています。以下は、カスタム投稿タイプを使用するいくつかのトッププラグインです。

  • WooCommerce は、オンラインストアに「商品」投稿タイプを追加します
  • WPFormsは、すべてのフォームを保存するために「wpforms」投稿タイプを作成します
  • MemberPress は「memberpressproduct」というカスタム投稿タイプを追加します

カスタム投稿タイプを作成する必要がありますか?

WordPressサイトでカスタム投稿タイプを作成する前に、ニーズを評価することが重要です。多くの場合、通常の投稿またはページで同じ結果を得ることができます。

カスタム投稿タイプが必要かどうか不明な場合は、WordPressでカスタム投稿タイプまたはタクソノミーが必要なのはいつかに関するガイドを参照してください。

それを踏まえて、WordPressで独自のカスタム投稿タイプを簡単に作成する方法を見てみましょう。2つの方法を紹介し、WordPressウェブサイトにカスタム投稿タイプを表示する方法もいくつかカバーします。

準備はいいですか?始めましょう。

方法1:WPCodeを使用してカスタム投稿タイプを手動で作成する

カスタム投稿タイプの作成には、テーマのfunctions.phpファイルにコードを追加する必要があります。ただし、これは上級ユーザー以外にはお勧めしません。なぜなら、わずかな間違いでもサイトが壊れる可能性があるからです。また、テーマを更新すると、コードは削除されます。

代わりに、WordPressウェブサイトにカスタムコードを追加するのに最適なプラグインであるWPCodeを使用します。

WPCodeを使用すると、カスタムスニペットを追加したり、組み込み済みの事前設定されたコードライブラリから多くの機能を利用したりできます。言い換えれば、インストールされている多くの専用プラグインや単一目的のプラグインを置き換えることができます。

WPCodeの詳細レビューで、テストしたすべての機能をご覧ください。

WPCodeのホームページ

まず、無料のWPCodeプラグインをインストールして有効化する必要があります。詳細な手順については、WordPressプラグインのインストール方法に関するステップバイステップガイドをご覧ください。

📝 注: WPCodeの無料版はこのチュートリアルで問題なく動作します。ただし、WPCode Proにアップグレードすると、カスタムコードのスケジュール設定や完全な改訂履歴などの高度な機能が利用できるようになります。

有効化したら、WordPressダッシュボードからCode Snippets » Add Snippetに移動してください。

WPCodeでカスタムコードスニペットを追加

次に、「カスタムコードを追加(新規スニペット)」にマウスカーソルを合わせ、「+カスタムスニペットを追加」をクリックします。

表示されるポップアップで、オプションのリストからコードタイプとして「PHPスニペット」を選択します。

PHP スニペットオプションを選択

これにより、「カスタムスニペットを作成」ページが開きます。

コードが何のためのものかを覚えるのに役立つ、コードスニペットのタイトルを追加できます。

WPCode を使用してカスタム投稿タイプ用のカスタムコードスニペットを作成する

その後、次のコードを「コードプレビュー」エリアに貼り付けるだけです。

このコードは、「Movies」という基本的なカスタム投稿タイプを作成します。これは管理画面のサイドバーに表示され、あらゆるWordPressテーマで使用できます。

// Our custom post type function
function create_posttype() {
 
    register_post_type( 'movies',
    // CPT Options
        array(
            'labels' => array(
                'name' => __( 'Movies' ),
                'singular_name' => __( 'Movie' )
            ),
            'public' => true,
            'has_archive' => true,
            'rewrite' => array('slug' => 'movies'),
            'show_in_rest' => true,
 
        )
    );
}
// Hooking up our function to theme setup
add_action( 'init', 'create_posttype' );

基本的なカスタム投稿タイプが必要な場合は、moviesMoviesを独自のCPTスラッグと名前に置き換えて、「更新」ボタンをクリックするだけです。

ただし、カスタム投稿タイプでさらに多くのオプションが必要な場合は、上記のコードの代わりに次のコードを使用してください。

以下のコードは、「Movies」カスタム投稿タイプに、リビジョン、アイキャッチ画像、カスタムフィールドのサポートを追加し、カスタム投稿タイプを「genres」と呼ばれるカスタムタクソノミーに関連付けるなど、さらに多くのオプションを追加します。

重要: これらの2つのスニペットを組み合わせないでください。同じカスタム投稿タイプを登録するため、WordPressはエラーを発生させます。登録したい追加の投稿タイプごとに、WPCodeを使用して新しいスニペットを作成することをお勧めします。

/*
* Creating a function to create our CPT
*/
 
function custom_post_type() {
 
// Set UI labels for Custom Post Type
    $labels = array(
        'name'                => _x( 'Movies', 'Post Type General Name', 'twentytwentyone' ),
        'singular_name'       => _x( 'Movie', 'Post Type Singular Name', 'twentytwentyone' ),
        'menu_name'           => __( 'Movies', 'twentytwentyone' ),
        'parent_item_colon'   => __( 'Parent Movie', 'twentytwentyone' ),
        'all_items'           => __( 'All Movies', 'twentytwentyone' ),
        'view_item'           => __( 'View Movie', 'twentytwentyone' ),
        'add_new_item'        => __( 'Add New Movie', 'twentytwentyone' ),
        'add_new'             => __( 'Add New', 'twentytwentyone' ),
        'edit_item'           => __( 'Edit Movie', 'twentytwentyone' ),
        'update_item'         => __( 'Update Movie', 'twentytwentyone' ),
        'search_items'        => __( 'Search Movie', 'twentytwentyone' ),
        'not_found'           => __( 'Not Found', 'twentytwentyone' ),
        'not_found_in_trash'  => __( 'Not found in Trash', 'twentytwentyone' ),
    );
     
// Set other options for Custom Post Type
     
    $args = array(
        'label'               => __( 'movies', 'twentytwentyone' ),
        'description'         => __( 'Movie news and reviews', 'twentytwentyone' ),
        'labels'              => $labels,
        // Features this CPT supports in Post Editor
        'supports'            => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
        // You can associate this CPT with a taxonomy or custom taxonomy. 
        'taxonomies'          => array( 'genres' ),
        /* A hierarchical CPT is like Pages and can have
        * Parent and child items. A non-hierarchical CPT
        * is like Posts.
        */ 
        'hierarchical'        => false,
        'public'              => true,
        'show_ui'             => true,
        'show_in_menu'        => true,
        'show_in_nav_menus'   => true,
        'show_in_admin_bar'   => true,
        'menu_position'       => 5,
        'can_export'          => true,
        'has_archive'         => true,
        'exclude_from_search' => false,
        'publicly_queryable'  => true,
        'capability_type'     => 'post',
        'show_in_rest' => true,
 
    );
     
    // Registering your Custom Post Type
    register_post_type( 'movies', $args );
 
}
 
/* Hook into the 'init' action so that the function
* Containing our post type registration is not 
* unnecessarily executed. 
*/
 
add_action( 'init', 'custom_post_type', 0 );

階層値がfalseに設定されている部分に気づくかもしれません。カスタム投稿タイプを投稿ではなくページのように動作させたい場合は、この値をtrueに設定できます。

もう1つ注意すべき点は、twentytwentyone 文字列の繰り返し使用です。これは「テキストドメイン」と呼ばれます。テーマが翻訳準備完了であり、カスタム投稿タイプを翻訳したい場合は、テーマで使用されているテキストドメインを指定する必要があります。

テーマのテキストドメインは、テーマディレクトリ内のstyle.cssファイル内、または管理画面の外観 » テーマファイルエディターから見つけることができます。テキストドメインはファイルのヘッダーに記載されています。

テーマのテキストドメインを見つける

twentytwentyoneを、ご自身のテーマの「Text Domain」に置き換えてください。

変更に満足したら、ページの上部にあるトグルを「非アクティブ」から「アクティブ」に切り替えるだけです。

最後に、「スニペットを保存」ボタンをクリックすると、WPCodeが残りを処理します。

WPCodeでスニペットをアクティブ化して保存する

方法2:プラグインでカスタム投稿タイプを作成する

WordPress でカスタム投稿タイプを作成するもう 1 つの簡単な方法は、プラグインを使用することです。この方法は、安全で非常に簡単なため、初心者にお勧めです。

まず最初に行うべきことは、Custom Post Type UI プラグインをインストールして有効化することです。詳細については、WordPress プラグインのインストール方法に関するステップバイステップガイドをご覧ください。

有効化後、新しいカスタム投稿タイプを作成するには、CPT UI » Add / Edit Post Typesに移動する必要があります。「Add New Post Type」タブが表示されているはずです。

プラグインで新しいカスタム投稿タイプを作成する

このエリアでは、カスタム投稿タイプのスラッグ(例:「movies」)を提供する必要があります。このスラッグはURLやWordPressのクエリで使用されるため、文字と数字のみを含めることができます。

スラッグフィールドの下に、カスタム投稿タイプの複数形と単数形の名前を提供する必要があります。

必要であれば、「選択したラベルに基づいて追加のラベルを自動入力する」というリンクをクリックできます。これにより、下の追加のラベルフィールドが自動的に入力され、通常は時間を節約できます。

これで、「追加ラベル」セクションまでスクロールダウンできます。言及したリンクをクリックしなかった場合は、投稿タイプの説明を提供し、ラベルを変更する必要があります。

追加ラベルセクションまでスクロールダウンしてください

これらのラベルは、特定の投稿タイプのコンテンツを管理しているときに、WordPressユーザーインターフェース全体で使用されます。

次に投稿タイプの設定を行います。

ここから、投稿タイプにさまざまな属性を設定できます。各オプションには、その機能の説明が簡単に記載されています。

投稿タイプ設定セクションまでスクロールダウンする

例えば、ページのように投稿タイプを階層化しないようにしたり、時系列の投稿を逆順に並べ替えたりすることができます。

一般設定の下に、この投稿タイプがサポートする編集機能を選択するオプションが表示されます。含めたいオプションにチェックを入れるだけです。

含めたいサポートオプションを確認する

最後に、「投稿タイプを追加」ボタンをクリックして、カスタム投稿タイプを保存して作成します。

これで、カスタム投稿タイプを正常に作成できました!コンテンツの追加を開始できます。

ボーナスヒント:サイトにカスタム投稿タイプを表示する

WordPressには、カスタム投稿タイプを表示するための組み込みサポートがあります。新しいカスタム投稿タイプにいくつかの項目を追加したら、ウェブサイトに表示する準備が整いました。

いくつかの方法があり、それぞれに独自の利点があります。

デフォルトのアーカイブテンプレートを使用したカスタム投稿タイプの表示

まず、外観 » メニューに移動して、カスタムリンクをメニューに追加するだけです。このカスタムリンクは、カスタム投稿タイプへのリンクです。

メニューにカスタムリンクを追加する

SEOフレンドリーなパーマリンクを使用している場合、カスタム投稿タイプのURLは次のようになります。

http://example.com/movies

SEOフレンドリーなパーマリンクを使用していない場合、カスタム投稿タイプのURLは次のようになります。

http://example.com/?post_type=movies

「example.com」を独自のドメイン名に、「movies」をカスタム投稿タイプ名に置き換えるのを忘れないでください。

メニューを保存してから、ウェブサイトのフロントエンドにアクセスできます。追加した新しいメニュー項目が表示され、それをクリックすると、テーマ内のarchive.php テンプレートファイルを使用してカスタム投稿タイプのアーカイブページが表示されます。

カスタム投稿タイプメニュー項目のプレビュー

カスタム投稿タイプテンプレートの作成

カスタム投稿タイプのアーカイブページの表示が気に入らない場合は、カスタム投稿タイプアーカイブ専用のテンプレートを使用できます。

テーマディレクトリに新しいファイルを作成し、archive-movies.phpという名前を付けるだけです。「movies」をカスタム投稿タイプの名前に置き換えてください。

開始するには、テーマのarchive.phpファイルの内容をarchive-movies.phpテンプレートにコピーし、必要に応じて変更できます。

これで、カスタム投稿タイプのアーカイブページにアクセスするたびに、このテンプレートが表示に使用されます。

同様に、カスタム投稿タイプの単一エントリ表示用のカスタムテンプレートを作成することもできます。そのためには、テーマディレクトリにsingle-movies.phpを作成する必要があります。「movies」をカスタム投稿タイプの名前に置き換えることを忘れないでください。

テーマのsingle.phpテンプレートの内容をsingle-movies.phpテンプレートにコピーし、必要に応じて変更することで開始できます。

詳細については、WordPressでカスタムシングル投稿テンプレートを作成する方法に関するガイドをご覧ください。

フロントページにカスタム投稿タイプを表示する

カスタム投稿タイプを使用する利点の1つは、カスタムコンテンツタイプを通常の投稿から分離できることです。ただし、必要に応じてカスタム投稿タイプをウェブサイトのフロントページに表示することもできます。

無料のWPCodeプラグインを使用して、このコードを新しいスニペットとして追加するだけです。

手動でコードを追加する方法については、この記事のコードを手動で追加するセクションを参照してください。

add_action( 'pre_get_posts', 'add_my_post_types_to_query' );
 
function add_my_post_types_to_query( $query ) {
    if ( is_home() && $query->is_main_query() )
        $query->set( 'post_type', array( 'post', 'movies' ) );
    return $query;
}

「movies」をカスタム投稿タイプに置き換えるのを忘れないでください。

カスタム投稿タイプのクエリ

コーディングに慣れていて、テンプレートでループクエリを実行したい場合は、次の方法で行います。データベースをクエリすることで、カスタム投稿タイプから項目を取得できます。

カスタム投稿タイプを表示したいテンプレートに、以下のコードスニペットをコピーして貼り付ける必要があります。

<?php 
$args = array( 'post_type' => 'movies', 'posts_per_page' => 10 );
$the_query = new WP_Query( $args ); 
?>
<?php if ( $the_query->have_posts() ) : ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<h2><?php the_title(); ?></h2>
<div class="entry-content">
<?php the_content(); ?> 
</div>
<?php endwhile;
wp_reset_postdata(); ?>
<?php else:  ?>
<p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>

このコードは、新しいWP_Queryクラスの引数で投稿タイプと1ページあたりの投稿数を定義します。次に、クエリを実行し、投稿を取得し、ループ内に表示します。

ウィジェットでのカスタム投稿タイプの表示

WordPressには最近の投稿を表示するためのデフォルトウィジェットがありますが、カスタム投稿タイプを選択することはできません。

作成したカスタム投稿タイプの最新のエントリをウィジェットに表示したい場合はどうすればよいですか?幸いなことに、簡単な方法があります。

まず、Custom Post Type Widgetsプラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法に関するステップバイステップガイドをご覧ください。

有効化したら、外観 » ウィジェット にアクセスし、「カスタム投稿タイプからの最新投稿」ウィジェットをサイドバーにドラッグアンドドロップするだけです。

最近のカスタム投稿タイプウィジェット

このウィジェットを使用すると、任意の投稿タイプから最新の投稿を表示できます。「投稿タイプ」ドロップダウンからカスタム投稿タイプを選択し、希望するオプションを選択する必要があります。

その後、画面上部にある「更新」ボタンをクリックし、ウェブサイトにアクセスしてウィジェットが機能していることを確認してください。

カスタム投稿タイプウィジェットのプレビュー

このプラグインは、アーカイブ、カレンダー、カテゴリ、最近のコメント、検索、タグクラウドを表示するカスタム投稿タイプウィジェットも提供します。

ですので、自由に探して必要なものを選んでください。

カスタム投稿タイプアーカイブウィジェット

よくある質問 (FAQ): WordPress カスタム投稿タイプ

WordPressでカスタム投稿タイプを作成することについて、よく寄せられる質問をいくつかご紹介します。

カスタム投稿タイプとカテゴリーの違いは何ですか?

カスタム投稿タイプは、まったく新しい種類のコンテンツを作成するためのものであり、カテゴリは既存のコンテンツをグループ化するためのものです。たとえば、「書籍レビュー」はカスタム投稿タイプになります。「フィクション」と「ノンフィクション」は、それらの書籍レビューを整理するためのカテゴリになります。

カスタム投稿タイプを削除すると、そのコンテンツもすべて削除されますか?

いいえ、コンテンツはデータベースから削除されませんが、非表示になりアクセスできなくなります。投稿を再度表示するには、まったく同じ名前でカスタム投稿タイプを再登録する必要があります。

投稿タイプを削除する前に、WordPressの完全バックアップを作成することを常にお勧めします。

カスタム投稿タイプにカスタムフィールドを追加するにはどうすればよいですか?

カスタムフィールドを簡単に追加して、投稿タイプに構造化された情報を追加できます。例えば、「映画」投稿タイプに「監督」フィールドを追加するなどです。これはコードで行うか、ユーザーフレンドリーなインターフェースのためにAdvanced Custom Fields(ACF)のような人気のプラグインを使用できます。

動画チュートリアル – WordPressでカスタム投稿タイプを作成する方法

その前に、WordPress でカスタム投稿タイプを作成する方法に関するビデオチュートリアルをぜひご覧ください。

WPBeginnerを購読する

WordPressの投稿とページの管理に関するその他のガイド

このチュートリアルで、WordPressでカスタム投稿タイプを作成する方法を学べたことを願っています。次に、次のことも学びたいかもしれません:

この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterFacebookでもフォローできます。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、当社が手数料を得る可能性があることを意味します。WPBeginnerがどのように資金提供されているか、それがなぜ重要か、そしてどのように私たちをサポートできるかについては、こちらをご覧ください。当社の編集プロセスはこちらです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

134 CommentsLeave a Reply

  1. こんにちは、あなたのディールページ(上記で言及)でディールを整理するためにどのプラグインを使用しましたか?素晴らしいですね!

    • 現時点では、特定のプラグインではなく、カスタムテーマに基づいてスタイル設定されています。

      管理者

  2. 素晴らしい!ありがとう!

    CPTのカテゴリを選択したり、独自のカテゴリリストを作成したりすることは可能ですか?
    「映画」の例では、ファミリー、ドラマ、アクションなどのどのカテゴリを選択しますか?

  3. こんにちは!カテゴリページでカスタム投稿タイプをカテゴリ別に表示するようにクエリを設定するにはどうすればよいですか?現在、クエリはすべての投稿タイプを取得しており、現在のカテゴリのみを表示させることができません。よろしくお願いします。

  4. 上記で説明された方法を使用しましたが、新しいメニューを作成した後、メニューは正常に作成されましたが、メニューをクリックすると「このページは見つかりませんでした」というエラーが表示されます。

    • 安全のため、パーマリンクを確認して再保存する必要があるようです。もう1つの方法は、ページに表示されるカスタム投稿タイプが公開されていることを確認することです。

      管理者

  5. コードスニペットと長い方のコードを使用しましたが、「supports」以降の機能はどこにも表示されませんか?「新規追加」をクリックしたときに表示されるはずですよね…新しい映画とその情報を挿入するにはどうすればよいですか…理解できません。

    • 管理エリアに、投稿やページを追加するのと同じように、カスタム投稿タイプの新しい投稿を追加できる新しいセクションがあるはずです。

      管理者

  6. カスタム投稿タイプを表示するにはどうすればよいですか。また、表示コードはどこに貼り付けますか?

  7. 完璧に機能しているように見えますが、1点だけ問題があります。私のテーマでは、ページにアイキャッチ画像が表示されます。しかし、CPTを使用すると、何をしても画像が表示されません。何か原因はわかりますか?

    • お使いのテーマは異なるテンプレートを使用している可能性が高いです。テーマのサポートに連絡すれば、支援を受けられるはずです。

      管理者

  8. 上記のコードで多くのことを試しましたが、WordPressのtwintytwintyoneテーマと比較さえしましたが、投稿タイプが投稿エディターのバックエンドに表示されません。

  9. とても参考になりました。

    どう思いますか?このような場合、サイトの速度の観点から、プラグインをインストールするのと、提供されたコードを記述するのとでは、どちらが良いですか?

  10. ご協力いただき、誠にありがとうございます。ウェブサイトで映画データベースを作成しようとしています。
    あなたの投稿は本当に助けになりました。

  11. 素晴らしい記事です!ブログ投稿の上に2つの異なる投稿タイプを追加しようとしましたが、2番目の add_action( ‘init’, ‘create_posttype’ ); が最初のものを上書きしました。PHPはわかりませんが、同じ functions.php ファイルに2つの異なるものを作成することは可能なのでしょうか?PHPはわからないので、書き方が間違っているのでしょうか?

    • プロセスを容易にするために、プラグインメソッドの使用をお勧めします。2番目の投稿タイプにコードを使用する場合、4行目から17行目をコピーし、17行目の下に新しい行に貼り付けてから、moviesを別の名前に変更する必要があります。

      管理者

  12. 記事、とても気に入りました。シンプルに説明されていて、本当に大変役立ちました。
    カスタム投稿とブログ投稿を1つのページに混在させたいと思っていたのですが、この記事を読んでそれができるようになりました。

  13. 素晴らしいレシピです!ありがとうございます!
    質問が1つあります:
    「exclude_from_search」=> true
    は、私の新しいカスタム投稿を検索結果から除外するはずだと思います。なぜ機能しないのですか?

  14. 新しいスラッグなしで新しい投稿タイプを表示する方法はありますか?例:デフォルトは mysite.com/newposttype/newpage です

    私は~したい

    mysite.com/newpage/

  15. こんにちは、

    カスタム投稿タイプを作成するために、あなたが言及した簡単なコードを使った手動アプローチを試しましたが、残念ながら投稿が表示されません(ページが見つかりませんというエラー)。投稿のパーマリンク構造は問題なさそうですが、投稿が表示されません。

    • サイトのキャッシュをクリアし、パーマリンクを再保存すると、その問題が解消される場合があります。

      管理者

  16. こんにちは、ありがとうございます。正常に動作していますが、カテゴリのみが表示され、カテゴリをクリックするとそのカテゴリの下の投稿が開かれるページに投稿タイプを表示したいのですが、どのようにすればよいか提案していただけますか。よろしくお願いします。

    • あなたが求めているものによると、カスタム投稿タイプでカテゴリが有効になっていることを確認し、それらを希望どおりに一覧表示するページのメニューにカテゴリリンクを追加することができます。

      管理者

  17. カスタム投稿タイプを作成しようとしている初心者開発者です。

    全て順調ですが、1つ大きな問題があります。

    作成して投稿にリンクした分類(タグとカテゴリ)を、投稿自体に表示したいです。

    パンくずリストにも表示したいです。

    手伝ってくれたら世界が変わるくらい嬉しいです。

    事前に感謝します。

  18. デフォルトのWP投稿ダッシュボードでは、リストの上部にカテゴリでフィルタリングする機能があります。

    カスタム投稿タイプをカスタムタクソミーとリンクさせましたが、フィルターメニューが表示されません(ポートフォリオ投稿タイプとポートフォリオカテゴリカスタムタクソミー)。有効にする必要がある設定はありますか?functions.php内から行っています。

  19. こんにちは。「カスタム投稿タイプUI」は私のWPバージョンと互換性がありません!私が使用できる便利なプラグインはありますか?

  20. こんにちは!ちょっとお伺いしたいことがあります。
    カスタム投稿タイプを作成したのですが、
    投稿を作成する際に、「ページ属性」のテンプレート選択や投稿の並び替えのオプションが表示されません。
    どうすれば表示できますか?

    事前に感謝します。

    • オスカーさん、こんにちは。

      CPT UIプラグインを使用してカスタム投稿タイプを作成している場合、「サポート」セクションで「ページ属性」オプションを有効にする必要があります。これにより、カスタム投稿タイプに親ページを割り当てることができます。同様に、カスタムコードを使用してカスタム投稿タイプを作成している場合は、「page-attributes」をsupportsパラメータに含めて、この機能を有効にしてください。

  21. ユニークなアーカイブページを持つCPTを作成しましたが、アーカイブページにアイキャッチ画像を表示できるようにしたいです(最初の投稿からではなく)。しかし、アーカイブページは「ページ」に存在しないため、アイキャッチ画像を追加する方法がありません。

    これはどのように達成されますか?

  22. これらのカスタム投稿タイプには、WP REST API経由でアクセスできますか?もしそうなら、どのようにアクセスできますか?(GET、POSTなど)

  23. アーカイブ.phpページから、すべての投稿を含むカスタム投稿タイプページを開きたいです。そして、そのページの下に、すべての投稿をサブメニューアイテムとして配置したいです。しかし、カスタムリンクページを作成し、説明したようにサブメニューアイテムを配置すると、サブメニューのURLは開きますが、メインのアーカイブページ、つまり投稿タイプページのURLが消えてしまいます。
    両方のページにアクセスしたいのですが、どうすればよいでしょうか?

  24. カスタム投稿タイプを追加すると、これらのための別の投稿ページを持つことができますか?私の通常のホームページには製品が表示されています。製品レビューのための追加の投稿ページが必要です。レビューを作成するときは、別の機能ページに投稿する必要があります。これはこのためのものですか?

  25. 「_x(‘Movies’, ‘Post Type General Name’, ‘twentythirteen’)」の「twentythirteen」は何を意味しますか?

    • また、twentythirteen の繰り返し使用に気づくでしょう。これはテキストドメインと呼ばれます。テーマが翻訳準備完了で、カスタム投稿タイプを翻訳したい場合は、テーマで使用されているテキストドメインを指定する必要があります。テーマのテキストドメインは、テーマディレクトリ内の style.css ファイル内で見つけることができます。テキストドメインはファイルのヘッダーに記載されています。

  26. こんにちは、そしてこの投稿(および他のいくつかの投稿)に感謝します。

    「stories」という新しいカスタム投稿タイプを作成しましたが、WPダッシュボードに表示されています。新しい投稿を作成できますが、投稿を作成するためにBeaver Builderページビルダーを開こうとすると、開かずに「申し訳ありませんが、このページは存在しません」というエラーページに移動します。

    手伝ってもらえますか?

    ありがとうございます、
    アンジェラ

    • Angelaさん、こんにちは。

      まず、パーマリンクを更新してみてください。設定 » パーマリンク設定 にアクセスし、何も変更せずに「変更を保存」ボタンをクリックするだけです。

      これで問題が解決しない場合は、プラグインのサポートに連絡してください。

      管理者

      • Hi and thank you for your reply. I did what you suggested and it didn’t help. My plugin is created using the customer post type code above and is placed in a site-specific plugin, so I have no plugin support source from which to seek help other than you :)

        サイト固有のプラグイン(もちろんCPTコードが含まれていました)を削除しましたが、新しい投稿やページはBeaver Builderテーマのページビルダー機能を使用しても読み込まれません。ただし、ページは無限に読み込まれる大きな白いバーで表示されます。Beaver Builder用のUltimate Add-onsプラグインを無効にしたところ、新しい投稿やページがページビルダーを使用して読み込まれるようになりました。UABBプラグインとCPTプラグインの間に競合があった可能性があり、現在もUABBプラグインに競合が残っているようです。

        ご提案いただけると幸いです。UABBにもリクエストを送信しました。もしかしたら、お二人の協力でこの問題を解決し、今後の参考のためにこの競合について言及していただけるかもしれません。

  27. 素晴らしいサイトですね。本当に本当に役立ちます。作成していただきありがとうございます。

    私は非常に困っており、ウェブ上のチュートリアルをすべて読みましたが、必要な答えは見つかりませんでした。

    ユーザーが選択するカスタム分類(ここではuser_interestsと呼びます)を作成し、その特定のユーザーに固有の投稿のカスタムリストを表示できるようにしたいです。

    ユーザーはサインアップ時またはプロフィール編集時に、ユーザーの興味タグ/カテゴリ/その他にオプトインします。

    その後、投稿を表示するためにWPループにこれらの値を含める必要があります

    何かアイデアや助けがあれば、本当に感謝します。ありがとうございます。

  28. ユーザー/訪問者がサイトに情報を入力できるようにするにはどうすればよいですか?そして、その送信されたデータを好きなページや場所に表示できるようにするにはどうすればよいですか?ユーザーが苦情を送信できるようにし、他のユーザーがメインの苦情に「いいね」を付けたり返信したりできるようにしたいです。

    カスタム投稿タイプでこれができますか?

  29. 2番目の(より詳細な)例に構文エラーがあります。コードは最新のWordpress 7.4.3では動作しません。

    ) Warning: call_user_func_array() expects parameter 1 to be a valid callback, function ‘custom_post_type’ not found or invalid function name

    更新/修正の可能性はありますか?

  30. カスタム投稿タイプのオプションにあるsupports配列の末尾のカンマは意図的なものですか?

    • 31行目ですか? はい、それは通常のPHPコードです。
      「最後の配列要素の後のカンマは任意であり、省略できます。これは通常、単一行の配列に対して行われます。つまり、array(1, 2, ) よりも array(1, 2) が好まれます。一方、複数行の配列では、末尾のカンマが一般的に使用されます。これにより、末尾に新しい要素を簡単に追加できます。」

  31. カスタム投稿タイプで「投稿設定」を有効にする方法(カスタム投稿タイプUIプラグインを使用)?

  32. こんにちは、このプラグインで問題が発生しています。

    カテゴリーとタグを作成するオプションが無効になりました。
    手動で配置する例を探しましたが、まだ何も見つかっていません。

    この方法で問題を解決できるかどうか試していますが、ご協力いただけると大変助かります。

    • 「taxonomies」インデックスの $args 配列に、「category」と「post_tag」を追加してください。
      これでうまくいきます。

    • だから私は自分のCMSを使用しています。そこでは、CMS自体を通じて一瞬で新しい投稿タイプを作成できます。コーディングなしで、残念ながら大企業はWordPress開発者を求めており、それを学ばなければならないので、非常に複雑に思えます。

  33. ポップアップで特定のデザインのカスタム投稿タイプグループを表示することに成功しましたが、画像をクリックすると新しいページが開いてしまい、ポップアップの外をクリックして閉じてもホームページに戻りません。ホームページに戻ってほしいのです。

    CPTのコードを「single-chg_projet.php」でポップアップとして表示し、JavaScriptでポップアップを開閉するようにしました。indexにsingle-chg_projet.phpのコードをすべて入れようとしましたが、何も表示されません。あるいは、どこかで失敗したのかもしれません。助けてください。よろしくお願いします。

  34. こんにちは、

    素晴らしいコードをありがとうございます。コードに軽微な修正があります。Querying Custom Post Typesセクションで、else: ステートメントの前にendwhile; ステートメントが欠けています =)

    • これです!この構文エラーを反映するようにコードを更新してください。Ghulamのコメントを見つけるまで、かなりの苦労をしました。今は動作しています。

  35. あなたのサイトにあるようなカスタム用語集を作成するプロセスについて、教えていただけますか?

  36. 特定のテーブルを持つカスタム投稿タイプを複製するにはどうすればよいですか?他のテーブル用に別の投稿タイプを作成する必要があります。

  37. プラグインをダウンロードしました。カスタム投稿タイプを2つ追加したいです。1. すべての執筆作品のための「ファンフィクション」、2. すべての作品のための「ファンアート」。

    ファンフィクション向け – 章をストーリーにリンクし、執筆中に章をストーリーにアップロードできるようにしたいです。

    ファンアートの場合 – (当然ながら)画像を中心に、その下に説明を付けたいと考えています。

    この記事は私が求めているものですか、それとも全く別のものですか?

    ありがとうございます。
    メーガン

  38. こんにちは、

    コードをサイトのfunctions.phpにコピーしました。新しい投稿タイプはダッシュボードに表示されますが、公開後に投稿を表示しようとすると、空白のページが表示されます。後で、デフォルトの投稿さえ開かないことに気づきました。

    functions.phpからコードを削除すると、すべて正常に動作します。

    Please help :(

    ありがとう、

    Zubair Abbas

    • 空白のページが表示される場合、文字を忘れていることがよくあります。カスタムコードを削除すると投稿が表示されるという事実は、タイプミスがあることを確認します。セミコロン「;」と開き括弧、閉じ括弧を確認してください。
      間違いを正確に確認するには、wp-configファイルを編集できます。ERROR REPORTINGを探し、この値をtrueに設定します。その後、再度テストすると、エラーと省略された行が表示されます。

  39. CPTを作成し、うまく機能していますが、サイトマップの更新、SEOプラグインの使用、Google Webmaster Toolsでの取得後もGoogleで見つけることができません。なぜそうなるのか何か考えはありますか?

    • Googleが新しいコンテンツを検索結果に表示し始めるまでには時間がかかります。念のため、SEOプラグインの設定を確認し、CPTやCPTアーカイブページがインデックスされないようにブロックしていないことを確認してください。

      管理者

返信する

コメントを残していただきありがとうございます。すべてのコメントは、当社のコメントポリシーに従ってモデレーションされますので、ご了承ください。メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。