web-dev-qa-db-ja.com

カスタム投稿タイプと子テーマ

さて、ここで契約があります。私は子供のテーマで働いています、そして私はカスタム投稿タイプが欲しいです。

私がしたこと

次のコードを親テーマのfunctions.phpに追加しました。

add_action( 'init', 'create_fb_foto_post_type' );
function create_fb_foto_post_type() {
    register_post_type('fotos',
        array(
            'labels' => array(
                'name' => __( 'Foto\'s' ),
                'singular_name' => __( 'Foto' )
            ),
        'public' => true,
        'has_archive' => true,
        'taxonomies' => array('post_tag')
        )
    );
}

このコードを含むテンプレートファイルsingle-fotos.phpを作成しました:

<?php get_header(); ?>

        <div id="primary" class="site-content">
            <div id="content" role="main">

                <?php while ( have_posts() ) : the_post(); ?>

                    <?php get_template_part( 'content', 'page' ); ?>

                    <?php comments_template( '', true ); ?>

                <?php endwhile; // end of the loop. ?>

            </div><!-- #content -->
        </div><!-- #primary -->

<?php get_footer(); ?>

そしてそれを子テーマのディレクトリにアップロードしました。

何が悪いのか

Wordpressを使っているときに新しい「フォト」ページを作成することを選択できます。このページにはタグフィールドが含まれています。しかし!例を見たいとき、Wordpressは何もしません。ページを送信して公開することを選択したときには機能しますが、そのページを表示したいときには404が返されます。

私が試したこと

(ページを作成した後で)テンプレートを親テーマのディレクトリにアップロードしようとしましたが、これも機能しません。

何か案は?

3
Bram Vanroy

カスタム投稿タイプや分類法を変更/追加/削除するたびに、パーマリンクをフラッシュして再生成する必要があります。

パーマリンクのページに行って保存すれば十分です

(また、あなたのカスタム投稿タイプコードはテーマではなくプラグインにあるべきです。

5
Tom J Nowell