WordPress 요약글처리 및 child theme 생성

워드프레스로 글을 생성해서 메인페이지를 들어오면
사진이랑 글 내용 전체가 표시가 되어버려서 요약글로 보이게 하는 것을 이전에 어디서
뒤져보고 적용해놓고 까맣게 잊고 있었는데…

오늘 뜬금없이 Twenty Seventeen 테마가 업데이트 되었다고 해서
업데이트를 시도했더니 테마 파일을 커스터마이징해버린게 있어서
업데이트가 안되었습니다.

그래서 테마를 날리고 다시 테마 받아서 깔고 뻘짓을 하고 나서 찾아보니 테마 파일 자체를 고치지 말고 child theme를 만들어서 쓰는게 낫다는 얘기가 있었더군요… (뭘 알아야지…)

Twenty Seventeen 기준으로 작업했습니다. (혹 테마에 따라 다를 수도?)

일단 검색에 찾아본대로 child theme 디렉토리를 생성해 줬습니다.

테마니까 당연히 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 확인이 가능합니다.

child theme 디렉토리에 screenshot.png 를 채워 넣으면 미리보기 이미지로 보인다는데 귀찮아서 패스…

그리고 원래 하려고 했던 요약글 처리를 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 -->

댓글 남기기