web-dev-qa-db-ja.com

ループ内の特定のページをターゲティングする

私はそのように配列でページを呼び出すカスタムクエリを持っています:

<?php
$args = array(
    'post__in' => array( 2, 7, 9, 11, 13 , 15, 17 ),
    'post_type' => 'page',
    'orderby' => 'menu_order',
    'order' => 'ASC'
);
$the_query = new WP_Query( $args ); 
while ( $the_query->have_posts() ) : $the_query->the_post();
?>

それでも、ページの特定のコードの変更を行うために配列の単一ページをターゲットにすることは可能ですか。

<?php if(is_page(7)) { ?>
    // do something
<?php } else { ?>
    // do something else
<?php } ?>

このクエリの内側にあるのですか、それとも別々のクエリですべてのページをクエリする必要があるのですか?

このクエリを使用して、1ページのレイアウト、つまり1ページにすべてのコンテンツを配置するために、複数のページを1つのテンプレート(front-page.php)にまとめることにしました。 。

2
physalis

あなたは、あなたのページをターゲットにするために、ループ内の投稿IDを使用したいと思います。 is_page()は、現在のページが実際にページか、値が渡された場合は特定のページかをチェックします。

if ( $post->ID === 7 ) {
    // Do something for page id 7
} else {
    // Do something for other pages
}
4
Pieter Goosen