【wordpress】複数の投稿タイプの記事を一括した新着記事一覧表を作る!【PHP】【手書き】


スクリーンショット 2015-01-02 1.05.10

新年初コード!
現在友人と共同で自身のアカペラ生活の集大成となるアカペラコンサート「轍」のホームページを運営しております。

そんな「轍」のHPの運営には皆大好きwordpressを使っているのですが、そこで「カスタム投稿タイプ」を指定して複数の投稿タイプを利用して様々なコンテンツを運営しているんですよ!

そんな「複数の投稿タイプからの新着記事を一括で表示出来るコード書いて!」と言われたので書いてみました!



まずはおさらい!新着記事の取得!
過去記事:【wordpress】新着記事一覧ブロック作成【php】

まずは基礎になるこちらのコードをおさらいします!

/*
新着記事一覧
*/
function new_post_list() {
    global $post;
    $newlist = get_posts( array(
        'posts_per_page' => 5
    ));
    foreach( $newlist as $post) {
        setup_postdata( $post );
    ?>
            <div class="block">
            <h1>最新記事</h1>
            <?php the_time('Y/n/j@G:i 投稿'); ?>   
            <?php the_post_thumbnail( array( 240, 240 ), array( 'alt' => get_the_title() ) ); ?>
            <?php printf("<br>"); ?>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
            </div>
        <?php
    }
    wp_reset_postdata();
}

これで新着の記事を5件習得していましたよね!
今回は条件を追加するので

$newlist = get_posts( (array( ));

arrayの中をいじいじします!


頭のストレッチ!複数の投稿タイプを指定するには?

/*
新着記事一覧
*/
function new_post_list() {
    global $post;
    $newlist = get_posts( array(
    	'post_type' => array('post','my_custom_post_type'),
    	'posts_per_page' => 5
    ));
    foreach( $newlist as $post) {
    	setup_postdata( $post );
	?>
            <?php the_time('Y/n/j G:i'); ?><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><?php echo esc_html(get_post_type_object(get_post_type())->label ); ?>
            
        <?php
    }
    wp_reset_postdata();
}

my_custom_post_typeにはカスタム投稿タイプでregister_post_typeで指定した投稿タイプ名を入力してください!

arrayを使う事で複数の選択をすると言う技になります!
ちなみに初期の「投稿」はpostと表記するようです。

<?php echo esc_html(get_post_type_object(get_post_type())->label ); ?>

ではpost_typeを直接表記するとアルファベットになってしまうので日本語にするためにlabelを引っ張って来ています。


まとめ
いかがでしたでしょうか?
最初は投稿がpostだとわからなかったり、どうやって複数の投稿タイプを指定しようか戸惑いましたが、実際に手を動かしてみたら思ったよりも簡単な作業でした。

是非迷った方がいらっしゃいましたら参考にしてみてください!

※mokabuu.comではいかなるトラブルに関しても責任をおいかねます。自己責任でお試しください。


最後まで読んでいただきありがとうございます。もしこの記事を気に入って頂けたようであればシェアをお願い致します。非常に励みになります。


コメントを残す