2013-10-09 1 views
0

값을 제출하지 않으면 양식의 데이터를 표시하는 페이지의 특정 필드를 숨기려면 어떻게합니까? 예는 다음과 같습니다 :값이 제출되지 않은 경우 사용자 정의 필드 숨기기

<?php if($price): ?> 
<li><?php echo $price;?>: <?php echo get_property_price($post->ID);?>&nbsp;<?php echo get_post_meta($post->ID,'rentperiod',true);?></li> 
<?php endif; ?> 

나는 그들이 비어있는 경우 $price 또는 rentperiod 값이 목록의 항목으로 표시하지 않습니다. 이것을 달성하는 가장 좋은 방법은 무엇입니까?

+6

대신에 if (isset ($ price))를 사용하십시오. –

+0

http://stackoverflow.com/help/merging-accounts의 지침에 따라 계정을 병합하십시오. –

답변

0

데이터를 먼저 가져 와서 조건부로 표시하십시오. 또한 더 읽기 쉬운 코드를 얻기 위해 php와 html 사이를 너무 자주 바꾸지 마십시오.
큰 따옴표 문자열에 변수 확장을 사용하십시오.

$property_price = get_property_price($post->ID); 
$rentperiod = get_post_meta($post->ID,'rentperiod',true); 

if($price && ($property_price || $rentperiod)) 
    echo "<li>$price: $property_price&nbsp;$rentperiod</li>"; 
+0

로렌츠 감사합니다, 내가 뭘 찾고 있었습니까!. 따라서 가격 입력이 없으면 레이블이나 필드와 관련된 필드가 표시되지 않습니다. –

+0

@andrew $ price는 라벨에 불과합니까? 이 경우 코드를 수정해야합니다. $ 가격은 실제로 라벨에 대한 좋은 이름이 아닙니다! –

+0

아니요, 죄송합니다. $ 가격은 라벨이 아닙니다. 그것은 다른 곳에서 레이블을 가져 왔습니다 ... 이것은 템플릿의 코드이므로 원래 개발자가 어떻게 설계했는지에 대해 너무 잘 알지 못합니다. –

관련 문제