이전에 메인페이지에서 보이는 헤더이미지가 서브페이지로 이동한 후에도
여전히 남아있는 것 때문에 서브페이지에서 헤더이미지를 지우는 방법에 관해 문의드렸었습니다.
그 때 아래처럼 답변하셨는데,
----------------------------------------------------------------------------------------------
1. 헤더 이미지는 테마 쪽 설정에 따라 표시되며
메인 페이지에서만 표시하시려면 테마 쪽의 설정을 살펴보시겠어요?
만약, 테마 쪽에서 설정으로 지원하지 않는다면
FTP를 접속해서 /wp-content/themes/사용중인테마/header.php 파일을 수정해주셔야 할 듯합니다.
is_front_page 함수를 활용하시면 첫 페이지에서만 헤더 이미지를 표시할 수 있을 듯합니다.
----------------------------------------------------------------------------------------------------------
header.php파일에서 is_front_page() 함수를 어떻게 활용해야하는지 모르겠습니다.
테마는 twenty sixteen을 사용하고 있습니다.
안녕하세요.
테마 쪽 코드는 해당 제작자에게 문의해보시는 게 가장 좋습니다.
올려주신 코드 중 아래의 코드가 헤더 이미지를 표시하는 코드인 듯합니다.
<?php if ( get_header_image() ) : ?>
<?php
/**
* Filter the default twentysixteen custom header sizes attribute.
*
* @since Twenty Sixteen 1.0
*
* @param string $custom_header_sizes sizes attribute
* for Custom Header. Default '(max-width: 709px) 85vw,
* (max-width: 909px) 81vw, (max-width: 1362px) 88vw, 1200px'.
*/
$custom_header_sizes = apply_filters( 'twentysixteen_custom_header_sizes', '(max-width: 709px) 85vw, (max-width: 909px) 81vw, (max-width: 1362px) 88vw, 1200px' );
?>
<div class="header-image">
<a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home">
<img src="<?php header_image(); ?>" srcset="<?php echo esc_attr( wp_get_attachment_image_srcset( get_custom_header()->attachment_id ) ); ?>" sizes="<?php echo esc_attr( $custom_header_sizes ); ?>" width="<?php echo esc_attr( get_custom_header()->width ); ?>" height="<?php echo esc_attr( get_custom_header()->height ); ?>" alt="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>">
</a>
</div><!-- .header-image -->
<?php endif; // End header image check. ?>
위의 코드 중 아래의 코드를 찾아서
<?php if ( get_header_image() ) : ?>
아래의 코드로 교체해서 확인해보시겠어요?
<?php if ( get_header_image() && is_front_page() ) : ?>
위의 코드로도 해결이 되지 않는다면 테마 제작자에게도
가능한 방법이 있는지 문의해보시겠어요?
고맙습니다.
저희가 쓰고 있는 테마 header.php파일의 코드 입니다.
답변해주신대로 image로 올라간 부분의 앞이나 뒤에서
<?php else:?> 를 이용하여 코드를 수정해봤는데 해결이 되지 않아서 수정전 코드를 복사해왔습니다.
<?php
/**
* The template for displaying the header
*
* Displays all of the head element and everything up until the "site-content" div.
*
* @package WordPress
* @subpackage Twenty_Sixteen
* @since Twenty Sixteen 1.0
*/
?><!DOCTYPE html>
<html <?php language_attributes(); ?> class="no-js">
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="profile" href="http://gmpg.org/xfn/11">
<?php if ( is_singular() && pings_open( get_queried_object() ) ) : ?>
<link rel="pingback" href="<?php echo esc_url( get_bloginfo( 'pingback_url' ) ); ?>">
<?php endif; ?>
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<div id="page" class="site">
<div class="site-inner">
<a class="skip-link screen-reader-text" href="#content"><?php _e( 'Skip to content', 'twentysixteen' ); ?></a>
<header id="masthead" class="site-header" role="banner">
<div class="site-header-main">
<div class="site-branding">
<?php twentysixteen_the_custom_logo(); ?>
<?php if ( is_front_page() && is_home() ) : ?>
<h1 class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></h1>
<?php else : ?>
<p class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></p>
<?php
endif;
$description = get_bloginfo( 'description', 'display' );
if ( $description || is_customize_preview() ) :
?>
<p class="site-description"><?php echo $description; ?></p>
<?php endif; ?>
</div><!-- .site-branding -->
<?php if ( has_nav_menu( 'primary' ) || has_nav_menu( 'social' ) ) : ?>
<button id="menu-toggle" class="menu-toggle"><?php _e( 'Menu', 'twentysixteen' ); ?></button>
<div id="site-header-menu" class="site-header-menu">
<?php if ( has_nav_menu( 'primary' ) ) : ?>
<nav id="site-navigation" class="main-navigation" role="navigation" aria-label="<?php esc_attr_e( 'Primary Menu', 'twentysixteen' ); ?>">
<?php
wp_nav_menu(
array(
'theme_location' => 'primary',
'menu_class' => 'primary-menu',
)
);
?>
</nav><!-- .main-navigation -->
<?php endif; ?>
<?php if ( has_nav_menu( 'social' ) ) : ?>
<nav id="social-navigation" class="social-navigation" role="navigation" aria-label="<?php esc_attr_e( 'Social Links Menu', 'twentysixteen' ); ?>">
<?php
wp_nav_menu(
array(
'theme_location' => 'social',
'menu_class' => 'social-links-menu',
'depth' => 1,
'link_before' => '<span class="screen-reader-text">',
'link_after' => '</span>',
)
);
?>
</nav><!-- .social-navigation -->
<?php endif; ?>
</div><!-- .site-header-menu -->
<?php endif; ?>
</div><!-- .site-header-main -->
<?php if ( get_header_image() ) : ?>
<?php
/**
* Filter the default twentysixteen custom header sizes attribute.
*
* @since Twenty Sixteen 1.0
*
* @param string $custom_header_sizes sizes attribute
* for Custom Header. Default '(max-width: 709px) 85vw,
* (max-width: 909px) 81vw, (max-width: 1362px) 88vw, 1200px'.
*/
$custom_header_sizes = apply_filters( 'twentysixteen_custom_header_sizes', '(max-width: 709px) 85vw, (max-width: 909px) 81vw, (max-width: 1362px) 88vw, 1200px' );
?>
<img src="<?php header_image(); ?>" srcset="<?php echo esc_attr( wp_get_attachment_image_srcset( get_custom_header()->attachment_id ) ); ?>" sizes="<?php echo esc_attr( $custom_header_sizes ); ?>" width="<?php echo esc_attr( get_custom_header()->width ); ?>" height="<?php echo
esc_attr( get_custom_header()->height ); ?>" alt="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>">
</a>
</div><!-- .header-image -->
<?php endif; // End header image check. ?>
</header><!-- .site-header -->
<div id="content" class="site-content">
<title>
<?php bloginfo('name'); ?> » <?php is_front_page() ? bloginfo('description') : wp_title(''); ?>
</title>
안녕하세요~^^
저희가 테마 쪽 header.php 파일의 코드를 전부 알 수 없기 때문에
테마 쪽에서 헤더 이미지를 표시하는 쪽에
아래의 코드를 활용해서 수정해보시겠어요?
<?php if(is_front_page()):?>
<div>메인 페이지에서 표시됩니다.</div>
<?php else:?>
<div>메인 페이지가 아닌 곳에 표시됩니다.</div>
<?php endif?>
원하시는 방향으로 수정하시려면 프로그래밍에 대한 지식이 어느 정도 필요할 듯합니다.
고맙습니다.