3

「RELEASES」というカスタム投稿タイプを設定しました。音楽 CD のリリースだと思います。

この投稿タイプには、関連するすべての音楽 CD 情報を入力するための「release_artist」、「release_title」、「release_date」、「release_artwork」、および「release_tracklisting」という名前のフィールドがあります。

Wordpress テンプレートでこの情報を実際に表示するのに本当に問題があります。タイトルのリストを出力できただけで、他のデータは出力できませんでした。

すべての情報を表示するために LOOP に何を入れたのか分かりますか? できれば、それぞれを独自の LIST アイテムに入れて、それぞれを個別にスタイルできるようにしますか?

どんな考えでも大歓迎です。

4

5 に答える 5

5

必要に応じてget_post_metaを使用してフィールドを取得できます。ループ内では、次のように開始できます。

<?php 
    $release_artist = get_post_meta($post->ID, 'release_artist', true); 
    $release_title = get_post_meta($post->ID, 'release_title', true); 
?>

<ul>
    <li class="release_artist">
        <?php echo $release_artist; ?>
    </li>
    <li class="release_title">
        <?php echo $release_title; ?>
    </li>
</ul>
于 2012-06-26T23:45:25.907 に答える
4

それらはカスタムフィールドですか?はいの場合は、 codex.wordpress.orgが言っていることを試してください。さらに良いことに、 ACF プラグインを試してください。

- 編集

ページの一部を他のページ (ホームなど) に表示したい場合は、query_postsを使用する必要があります。これはかなり単純な機能です。ループについては、次のようなものを試してください。

      <?php
        global $wp_query;
        query_posts(array(
            'post_type' => 'releases'
        ));
        while(have_posts()) : the_post(); ?>
            <?php $key = get_post_meta($post->ID, 'Opis nazwy'); ?>
            <li <?php post_class(); ?>><a href="<?php the_permalink(); ?>"><?php if($key) { echo $key[0]; } else { the_title(); }; ?></a></li>
            <?php
        endwhile;
        wp_reset_query();
        ?>

$keyは単一の値で、ここでは に設定されていrelease_artistsます。純粋にテスト用です。それが機能する場合は、自由に独自の変数を定義してください。

于 2012-06-26T22:32:13.400 に答える
2

以下を使用する必要があります。

<?php the_field('field_name') ?>

あなたのループの中に。それが役に立てば幸い!

于 2015-03-19T22:13:14.673 に答える
2

私がオンラインで見たドキュメントのほとんどから、query_posts はカスタム クエリとループを作成するための頼りになる関数であってはなりません。次のコード スニペットは、出発点として適しています。これは、テーマ テンプレート ファイルのメイン ループの内側または外側で使用できるはずです。

$args = array(
    'post_type' => 'release', //remember this is-case sensitive
    'posts_per_page' => -1,
);

$releaseQuery = new WP_Query( $args );

if ( $releaseQuery->have_posts() ) :
while ( $releaseQuery->have_posts() ) :
$releaseQuery->the_post();

// Fetching the post ID for demonstration and for use later
$c_id = get_the_ID();

// After running the_post(), alot of the Wordpress functions (not all) can now be used without supplying the post ID.    
echo get_the_title();
// You could also have used get_the_title($c_id);

// Then:
echo get_post_meta($c_id, 'release_title', true); 
echo get_post_meta($c_id, 'release_artist', true); 

endwhile;
endif;

// Return to the current page's main query
wp_reset_query();

// This should now display the page's title
the_title();
于 2015-05-28T20:06:00.003 に答える
0

ID の質問について:

WordPress の投稿やページなどのすべてのアイテムには「ID」がありますが、通常はそれらのリストには表示されません。管理画面に「ID」列を追加するプラグインは多数あります。Wordpress.org で「show ids」を検索し、好きなものを選択します。インストールします。それをアクティブにします。IDが表示されます。

https://wordpress.org/plugins/search.php?q=show+id

于 2015-05-28T18:54:59.690 に答える