0

この問題は過去に何人かの人々に発生しましたが、彼らの問題の解決策は私にはうまくいきませんでした。

WordPress で 3 つのカスタム投稿タイプを作成しました。1 つは「動画」、「ニュース」、「音楽」であり、これらはそれぞれ独自のページに投稿されます。カスタム フィールドを追加して、たとえば音楽投稿に「アーティスト」「リリース年」「フィーチャリング」「アルバムについて」を表示できるようにしたいと考えています。

Advanced Custom Fields をインストールしました。これらのそれぞれにカスタム フィールドを追加できるので、ユーザーが [新規追加] をクリックするとフィールドが表示されます。しかし、私が抱えている問題は、ページにアクセスしたときにこれらのフィールドの出力がサイトに表示されないことです.

次のように、single.php ファイルから news.php、music.php、videos.php を作成しました。

    <?php
/**
 * Template Name: music Page
 *
 * Selectable from a dropdown menu on the edit page screen.
 */

get_header(); ?>

    <div id="primary" class="site-content">
        <div id="content" role="main">
<?php query_posts( 'post_type=music'); ?>
<?php the_meta(); ?> 
            <?php while ( have_posts() ) : the_post(); ?>
                <?php get_template_part( 'content',  get_post_format() ); ?>
                <?php comments_template( '', true ); ?>
            <?php endwhile; // end of the loop. ?>

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

<?php get_sidebar(); ?>
<?php get_footer(); ?>

そして functions.php には次のものがあります。

/*---------music Custom Post Types---------------------------------*/

function my_custom_post_music() {
    $labels = array(
        'name'               => _x( 'music', 'post type general name' ),
        'singular_name'      => _x( 'music', 'post type singular name' ),
        'add_new'            => _x( 'Add New', 'book' ),
        'add_new_item'       => __( 'Add New music' ),
        'edit_item'          => __( 'Edit music' ),
        'new_item'           => __( 'New music' ),
        'all_items'          => __( 'All music' ),
        'view_item'          => __( 'View music' ),
        'search_items'       => __( 'Search music' ),
        'not_found'          => __( 'No music found' ),
        'not_found_in_trash' => __( 'No music found in the Trash' ), 
        'parent_item_colon'  => '',
        'menu_name'          => 'Music'
    );
    $args = array(
        'labels'        => $labels,
        'description'   => 'Holds our music and music specific data',
        'public'        => true,
        'menu_position' => 15,
        'supports'      => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments' ),
        'has_archive'   => true,

    );
    register_post_type( 'music', $args );   
}
add_action( 'init', 'my_custom_post_music' );



function my_taxonomies_music() {
    $labels = array(
        'name'              => _x( 'music Categories', 'taxonomy general name' ),
        'singular_name'     => _x( 'music Category', 'taxonomy singular name' ),
        'search_items'      => __( 'Search music Categories' ),
        'all_items'         => __( 'All music Categories' ),
        'parent_item'       => __( 'Parent music Category' ),
        'parent_item_colon' => __( 'Parent music Category:' ),
        'edit_item'         => __( 'Edit music Category' ), 
        'update_item'       => __( 'Update music Category' ),
        'add_new_item'      => __( 'Add New music Category' ),
        'new_item_name'     => __( 'New music Category' ),
        'menu_name'         => __( 'music Categories' ),
    );
    $args = array(
        'labels' => $labels,
        'hierarchical' => true,
    );
    register_taxonomy( 'music_category', 'music', $args );
}
add_action( 'init', 'my_taxonomies_music', 0 );


/*---------news Custom Post Types---------------------------------*/

function my_custom_post_news() {
    $labels = array(
        'name'               => _x( 'news', 'post type general name' ),
        'singular_name'      => _x( 'news', 'post type singular name' ),
        'add_new'            => _x( 'Add New', 'book' ),
        'add_new_item'       => __( 'Add New news' ),
        'edit_item'          => __( 'Edit news' ),
        'new_item'           => __( 'New news' ),
        'all_items'          => __( 'All news' ),
        'view_item'          => __( 'View news' ),
        'search_items'       => __( 'Search news' ),
        'not_found'          => __( 'No news found' ),
        'not_found_in_trash' => __( 'No news found in the Trash' ), 
        'parent_item_colon'  => '',
        'menu_name'          => 'News'
    );
    $args = array(
        'labels'        => $labels,
        'description'   => 'Holds our news and news specific data',
        'public'        => true,
        'menu_position' => 10,
        'supports'      => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments' ),
        'has_archive'   => true,
    );
    register_post_type( 'news', $args );    
}
add_action( 'init', 'my_custom_post_news' );

これを機能させるために何が欠けているか、または何をする必要があるかを誰かが知っていますか?

どんな提案でも大歓迎です。

4

2 に答える 2

0

ループでカスタム フィールドの値を表示するには、次のコード スニペットを使用できます。

<?php query_posts( 'post_type=music'); ?>
  <?php while ( have_posts() ) : the_post(); ?>
   <?php get_template_part( 'content',  get_post_format() ); ?>

   <?php $what_name_you_want=get_post_meta($post->ID,'Your Custom Field Name',true); ?>

    <?php echo $what_name_you_want; ?>// This call the value of custom field


                <?php comments_template( '', true ); ?>
            <?php endwhile; // end of the loop. ?>

それが機能するかどうか教えてください!

于 2013-04-21T11:06:29.383 に答える
0

でACFからカスタムフィールドデータを出力します。

the_field('the-field-name');

get_field('the-field-name') は条件 ex if (get_field('my-field'): などに使用されます。次を使用して内容を印刷することもできます

echo get_field('the-field-name');

Vimeo ショートコードとカスタム フィールドに関する問題は、カスタム フィールドを介して実行するように構築されたプラグインに関連している可能性があります。ショートコードの the_contents() のみをチェックする可能性があります。

于 2013-11-25T17:34:21.593 に答える