サポート » 使い方全般 » カスタム投稿タイプとカスタム分類で投稿の一覧に投稿日を表示させたい

  • http://ja.forums.wordpress.org/topic/4823?replies=5

    上記のページを参考に致しまして、booksという投稿タイプでmagazine, hard cover, comics等のカスタム分類の一覧記事を表示させる事が出来ました。
    (page-books.php, taxonomy-bookscat.php, single-books.phpを使っています。)

    発売日は過去投稿を利用して、2004年11月3日の発売のものは、その日付を投稿日として日も付けて、一覧記事投稿の並び順をコントロールしております。

    シングルページには<?php echo get_the_date('Y.m.d'); ?>を利用し、その商品の発売日を表示させる事が出来たのですが、投稿一覧にも投稿日日付=発売日を表示させたいのです。

    何かしら条件コードを記入しないといけないのは分かるのですが、どのような条件を書いて良いのか全く見当がつきません。

    どうぞ宜しくお願いします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • モデレーター gatespace

    (@gatespace)

    こんにちは。
    「一覧記事」とい言われている部分のコードが提示されていないので、具体的な解答ができませんが、
    一覧でも<?php echo get_the_date('Y.m.d'); ?>が使えると思います。

    トピック投稿者 osogo

    (@osogo)

    gatespace様

    こんにちは。御回答ありがとうございます。コードを記載しておりませんでした。申し訳ありません。
    参考URLまんまコピペなのですが、

    <?php wp_list_categories(array('taxonomy' => 'bookscat')); ?>
    
    <div id="musiccat">
    <?php
    $taxonomy_name = 'bookscat';
    $musiccat_taxonomies = get_terms( $taxonomy_name );
    
    // books タクソノミーが登録されていなければループしない。
    if ( ! is_wp_error( $bookscat_taxonomies ) && count( $bookscat_taxonomies ) ) {
    ?>
    <ul class="books_tax_list">
    <?php
    	foreach ( $bookscat_taxonomies as $bookscat_taxonomy ) {
    		// 投稿タイプがbooks で $taxonomy_name タクソノミーかつ、 カテゴリーが$bookscat_taxonomy->slugの記事を取得
    		$tax_posts = get_posts( array( 'post_type' => 'books',
    									   'taxonomy' => $taxonomy_name,
    									   'term' => $bookscat_taxonomy->slug,
    									   'posts_per_page' => -1) );
    		// 記事があれば、カテゴリーと記事のリストを表示
    		if ( $tax_posts ) {
    
    ?>
    
    	<li class="books_tax"><h3><a href="<?php echo get_term_link($bookscat_taxonomy->slug, 'bookscat');?>"><?php echo $bookscat_taxonomy->name; ?></a></h3>
    		<ul class="music_tax_<?php echo esc_attr( $musiccat_taxonomy->slug ); ?>">
    <?php
    			foreach ( $tax_posts as $tax_post ) {
    				$link = get_permalink( $tax_post->ID );
    ?>
    			<li class="books_tax_post"><a href="<?php echo esc_url( $link ); ?>">
    			<?php echo get_the_post_thumbnail($tax_post->ID, 'item_image_thumb') ?><?php echo esc_html( apply_filters( 'the_title', $tax_post->post_title ) ); ?></a>
                <?php echo get_the_date('Y.m.d'); ?>
    
    </li>
    <?php
    			}
    ?>
    		</ul>
    	</li>
    <?php
    		}
    	}
    ?>
    </ul>
    <?php
    }
    ?>
    
    </div>

    上記のコードにそのまま<?php echo get_the_date('Y.m.d'); ?>を書いてしまうと、意図しない日付が表示されてしまっています。

    発売日は過去投稿を利用して、2004年11月3日の発売のものは、その日付を投稿日として日も付けて、一覧記事投稿の並び順をコントロールしております。

    シングルページには<?php echo get_the_date(‘Y.m.d’); ?>を利用し、その商品の発売日を表示させる事が出来たのですが、投稿一覧にも投稿日日付=発売日を表示させたいのです。

    モデレーター gatespace

    (@gatespace)

    日付の初期はともかく<?php echo get_the_date(); ?>とした場合、
    投稿日(この場合の発売日)が表示されていますか?

    意図しない日付が表示されてしまっています。

    どういった風に表示されますか?具体的に書いてください。

    トピック投稿者 osogo

    (@osogo)

    gatespace様

    一覧すべて「2012.07.11」となっております。

    モデレーター gatespace

    (@gatespace)

    get_postsで取得した記事をループ(foreach)する際は
    setup_postdataを付け足すと、その中でthe_title, get_the_date等
    通常のループ内で使っているタグが使えるようになります。
    最後にget_postsで取得した記事をリセットするとなお良しです。

    if ( $my_posts ) { // 該当する投稿があったら
    	foreach ( $my_posts as $post ) :
    		setup_postdata( $post );
    		/* the_title(), the_permalink() 等使用可
    		マークアップはお好みで
    		*/
    	endforeach; // 投稿のループ終わり
    } else {
    	// 投稿がなかった場合
    }
    wp_reset_postdata(); // リセット
5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「カスタム投稿タイプとカスタム分類で投稿の一覧に投稿日を表示させたい」には新たに返信することはできません。