get_posts()について

query_posts()からget_posts()又はWP_Query()が推奨になって、非常に混同するようになったー。
自分の使い方では、get_posts()がメインになりそうなので、テンプレートをメモ

<?php $myposts = get_posts(【条件】); ?>
<?php foreach($myposts as $post) : setup_postdata($post); ?>
    <!-- 【内容】 -->
<?php endforeach; ?>

任意のページ情報取得では、スラッグ名を使って取得する場合が多いので、get_page_by_path()を使うけど、投稿の場合は自分で関数を用意する必要がありそうです。
function.phpに、

function get_post_id_by_slug($post_slug, $post_type) {
    $args = array(
        'name' => $post_slug,
        'post_type' => $post_type,
        'post_status' => 'publish',
        'posts_per_page' => 1
    );
    $my_post_array = get_posts($args);
    if( $my_post_array ) return $my_post_array[0]->ID;
    else return NULL;
}

を記述しておくとOK。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


three × 1 =