워드프레스로 글을 생성해서 메인페이지를 들어오면
사진이랑 글 내용 전체가 표시가 되어버려서 요약글로 보이게 하는 것을 이전에 어디서
뒤져보고 적용해놓고 까맣게 잊고 있었는데…
오늘 뜬금없이 Twenty Seventeen 테마가 업데이트 되었다고 해서
업데이트를 시도했더니 테마 파일을 커스터마이징해버린게 있어서
업데이트가 안되었습니다.
그래서 테마를 날리고 다시 테마 받아서 깔고 뻘짓을 하고 나서 찾아보니 테마 파일 자체를 고치지 말고 child theme를 만들어서 쓰는게 낫다는 얘기가 있었더군요… (뭘 알아야지…)
Twenty Seventeen 기준으로 작업했습니다. (혹 테마에 따라 다를 수도?)
일단 검색에 찾아본대로 child theme 디렉토리를 생성해 줬습니다.
style.css 와 functions.php를 아래 내용으로 생성
style.css
/* Theme Name: MyTwenty Seventeen Child Theme Template: twentyseventeen */
테마명은 대충 지어도 별 상관이 없는데 Template 명은 부모 테마명을 정확히 써줘야
하고, 이 주석문이 없어도 제대로 구동이 안되더군요.
functions.php
<?php function theme_enqueue_styles() { wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' ); wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array( 'parent-style' ) ); } add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' ); ?>
요기까지 하면 일단 테마 생성은 되고 괸리자페이지>외모>테마에 가면 생성된 child theme 확인이 가능합니다.
그리고 원래 하려고 했던 요약글 처리를 content.php 를 부모테마와 똑같이 child theme 에 디렉토리 만들어 주고 내용 수정.
즉, ../web/wordpress/wp-content/themes/twentyseventeen-child/template-parts/post/content.php 을 만들어야 한다는 것이죠.
부모 theme의 content.php를 복사해놓고 그걸 고칩니다.
entry-content 부분을 찾아 수정했습니다. (바탕색 다른 부분이 추가한 부분)
content.php
<div class="entry-content"> <?php /* preview post 20190222 - start */ if ( is_single() ) : /* preview post 20190222 - end */ /* translators: %s: Name of current post */ the_content( sprintf( __( 'Continue reading<span class="screen-reader-text"> "%s"</span>', 'twentyseventeen' ), get_the_title() ) ); wp_link_pages( array( 'before' => '<div class="page-links">' . __( 'Pages:', 'twentyseventeen' ), 'after' => '</div>', 'link_before' => '<span class="page-number">', 'link_after' => '</span>', ) ); /* preview post 20190222 - start */ else : the_excerpt( sprintf( __( 'Continue reading<span class="screen-reader-text"> "%s"</span>', 'twentyseventeen' ), get_the_title() ) ); wp_link_pages( array( 'before' => '<div class="page-links">' . __( 'Pages:', 'twentyseventeen' ), 'after' => '</div>', 'link_before' => '<span class="page-number">', 'link_after' => '</span>', ) ); endif; /* preview post 20190222 - end */ ?> </div><!-- .entry-content -->