워드프레스 고급 강의 - if문

if문으로 특정 상황에만 코드 출력하기 – 워드프레스 강좌

이번에는 워드프레스에서 WP_Query를 사용해서 Custom post type 관련 글을 불러오는 방법에 대해 알려드릴게요. 저번 영상에서 다뤄본 내용과 거의 똑같아서 크게 어렵지 않습니다.

워드프레스에서 if 문은 다양한 상황에서 조건을 체크하고, 조건에 따라 다른 동작을 수행하도록 할 때 매우 유용합니다. 실제로 워드프레스 사이트를 개발할 때 자주 사용되는 몇 가지 if 문 예시를 살펴보겠습니다.

썸네일 있는지 없는지 체크

특정 요소의 존재 여부에 따라 경우의수를 둘 수 있겠죠.

이미지가 깨지거나 없는경우 대체 이미지로 처리할 수도 있습니다.

<?php if (has_post_thumbnail()) : ?>
	<?php echo the_post_thumbnail('post-thumbnail-img'); ?>
<?php else : ?>
	<img class="placeholder-img" src="<?php echo get_template_directory_uri(); ?>/img/placeholder-img.png" alt="">
<?php endif; ?>

글이 있는지 체크

워드프레스에서 일반적으로 가장 많이 사용되는 경우입니다. 포스트가 존재하는지 확인하고, 존재하면 콘텐츠 템플릿을 불러옵니다. 존재하지 않으면 빈 콘텐츠 템플릿을 불러옵니다.

<?php if (have_posts()) : ?>
	<?php get_template_part('content'); ?>
<?php else : ?>
	<?php get_template_part('content', 'empty'); ?>
<?php endif; ?>

모바일인지 체크

현재 접속한 기기가 모바일인지 확인하여, 모바일 기기일 경우와 그렇지 않을 경우 각각 다른 메시지를 표시합니다.

if (wp_is_mobile()) {
    <h1>이건 모바일입니다.</h1>
} else {
    <h1>이건 모바일이 아닙니다.</h1>
} ?>

특정 페이지인지, 페이지 이름 체크

특정 페이지인지 확인하여 해당 페이지에만 특정 동작을 수행합니다. 페이지의 제목이나 슬러그를 인자로 넣어 체크할 수 있습니다.

<?php if (is_home()): ?>
		<h1>홈인 경우에만 이부분이 동작합니다.</h1>
<?php endif; ?>

<?php 
if ( is_page('Home') ){
  #홈
}
elseif( is_page ('about') ){
  #슬러그 about인 페이지
}
elseif( is_page('portfolio'){
  #슬러그 portfolio인 페이지
} 
?>

특정 카테고리인지 체크

포스트가 특정 카테고리에 속하는지 확인하여, 해당 카테고리일 경우 특정 동작을 수행합니다.

<?php if (in_category('design')) { ?>
		<h1>디자인 카테고리입니다.</h1>
<?php endif; ?>

로그인 했는지 안했는지 체크

사용자가 로그인했는지 여부를 확인하고, 로그인하지 않은 경우 로그인 버튼을 표시합니다. 주로 header.php 파일에서 사용됩니다.

<?php if (!is_user_logged_in()) : ?>
    <a class="button" href="<?php echo esc_url(home_url() . '/login'); ?>">로그인</a>
<?php endif; ?>

이와 같은 if 문을 사용하면, 조건에 따라 웹사이트의 다양한 요소를 동적으로 제어할 수 있습니다. 이는 웹사이트를 더욱 유연하고 사용자 친화적으로 만드는 데 큰 도움이 됩니다.