programing

word press에서 loop을 나열하는 동안 if를 단순화하는 데 도움이 됩니다.

megabox 2023. 9. 21. 20:12
반응형

word press에서 loop을 나열하는 동안 if를 단순화하는 데 도움이 됩니다.

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
....
<?php endwhile; endif; ?>

위의 코드를 잘 이해할 수 있었습니다.

1, if and while 조건을 삭제할 수 있습니까?사용.<?php the_post();?>직접적으로.

2, 느낌이 들어요.if (have_posts())와 같습니다.while (have_posts())중복인가요?

#1: 콜링the_post루프 없이 게시물 하나만 표시할 수 있습니다.예를 들어, 단일 포스트 페이지에서는 이 방법이 바람직할 수 있습니다.while루프는 종종 생략됩니다.

<?php
// single.php
if ( have_posts() ):
    the_post();
?>
<p><?php the_content(); ?></p>
<? else: ?>
<p>No post found.</p>
<? endif ?>

#2: 맞습니다. 게시한 토막글은 다음과 같이 중복됩니다.if그리고.while.

그러나 대부분의 테마에서는 다음과 같은 용도로 사용됩니다.

<?php
if ( have_posts() ):
    while ( have_posts() ): the_post();
?>
<div class="post"><?php the_content(); ?></div>
<?php endwhile; else: ?>
<p>No posts found.</p>
<?php endif; ?>

의 사용.if이 경우 statement는 게시물이 전혀 없는 경우 표시할 수 있습니다.만약 우리가 단지 사용한다면.while코드를 입력하면 게시물이 없는 페이지는 아무것도 출력되지 않습니다.

while(have_postS())자동으로 평가할 것입니다.have_postS()…할 바와 같이if(have_postS())

하지만 지금처럼 계속될 겁니다true(루프이기 때문에) 만약 루프와 루프를 종료하는 메커니즘을 사용해야 한다면,while

또 다른

이번에는if더 잘 할 겁니다

워드프레스는 모르지만 보기에 has_posts()는 truth 또는 false 값을 반환합니다.whileloop은 truth 값이 조건으로 전달된 경우에만 실행되므로 yes(예)를 사용하면 이 값을 후핀 3행으로 줄일 수 있습니다.

<?php while (have_posts()) : the_post(); ?>
....
<?php endwhile;?>

편집: 복사 붙여넣기 코드가 잘못된 이유에 대한 또 다른 예로 이를 꼽아 보십시오.

언급URL : https://stackoverflow.com/questions/5752515/help-simplify-if-while-list-loop-in-wordpress

반응형