워드프레스 / 우커머스 / 상점 페이지, 카테고리 페이지 등에서 진열되는 상품 수 설정하는 방법

기본적인 설정 방법

[설정 - 읽기]에서 [페이지 당 보여줄 글의 개수]를 변경하면 진열되는 상품의 개수도 바뀝니다.

만약 이 방법이 통하지 않거나, 포스트와 다른 개수로 정하고 싶다면 아래의 방법을 이용합니다.

우커머스에서 제공하는 코드

우커머스에서는 아래의 코드를 functions.php에 추가하면 된다고 합니다. 15를 적절히 수정합니다.

function new_loop_shop_per_page( $cols ) {
  $cols = 15;
  return $cols;
}
add_filter( 'loop_shop_per_page', 'new_loop_shop_per_page', 20 );

위 코드로 해결되지 않는다면 아래의 코드로 시도해보세요.

다른 코드

우커머스 관련 페이지에서는 24개의 목록을 출력하라는 뜻입니다. 여기의 코드를 약간 수정했습니다.

function change_product_query( $query ) {
  if ( is_shop() || is_woocommerce() || is_product_category() || is_product_tag() ) {
    $query->set( 'posts_per_page', 24 );
  }
}
add_action( 'pre_get_posts', 'change_product_query' );

같은 카테고리의 다른 글

워드프레스 강좌 / Yoast SEO / 사이트맵(sitemap) 활성화하는 방법

워드프레스 강좌 / Yoast SEO / 사이트맵(sitemap) 활성화하는 방법

사이트맵(sitemap) 사이트맵은 사이트에 있는 콘텐츠를 정리한 XML 파일입니다. 네이버 웹마스터 도구나 구글 웹마스터 도구에 사이트맵을 등록해야 검색이 잘 됩니다. 사이트맵은 보통 Google XML Sitemaps 플러그인으로 만듭니다. 사이트맵 생성 플러그인 중에서는 가장 인기있는 플러그인입니다. 만약 Yoast SEO를 사용한다면 Google XML Sitemaps를 사용할 필요가 없습니다. Yoast SEO에 포함되어 있기 때문입니다. Yoast SEO의 사이트맵 기능 활성화하기 General의 Features 탭에 XML sitemaps가 ...

워드프레스 강좌 / 플러그인 / WP Super Cache / 캐시를 이용하여 사이트 속도 빠르게 해주는 플러그인

워드프레스 강좌 / 플러그인 / WP Super Cache / 캐시를 이용하여 사이트 속도 빠르게 해주는 플러그인

WP Super Cache 웹사이트 속도는 중요합니다. 홈페이지에 접속했을 때 속도가 느리다면 방문자가 금방 떠나고, 검색 엔진에서도 불이익을 받습니다. 따라서 속도 개선은 사이트 관리자의 중요 업무 중의 하나입니다. 워드프레스는 기본적으로 페이지를 동적으로 만듭니다. 요청이 있으면 데이터베이스에서 자료를 가져와서 테마의 파일들을 이용해 출력을 하기에, 방문자가 접속할 때마다 페이지를 생성합니다. 그래서 정적인 페이지보다 속도가 느립니다. 이를 ...

워드프레스 강좌 / 링크 없는 메뉴 만드는 방법

워드프레스 강좌 / 링크 없는 메뉴 만드는 방법

워드프레스의 메뉴는 링크를 가지고 있습니다. 하지만 계층형으로 만들거나 메뉴 그룹을 만들 때 링크가 없는 메뉴가 필요할 때가 있습니다. 기본 기능으로는 그러한 메뉴를 만들 수 없지만, 약간의 편법을 사용하면 가능합니다. 사용자정의 링크를 만듭니다. URL에는 아무거나 입력해도 상관없습니다. 뭘 쓸지 고민된다면 #을 입력하면 됩니다. URL이 비어 있으면 메뉴가 만들어지지 않으므로 꼭 입력해야 합니다. 메뉴 수정으로 가서 ...

워드프레스 강좌 / Shortcode로 애드센스 광고 본문에 삽입하는 방법

워드프레스로 만든 사이트에 애드센스 광고를 다는 방법은 여러 가지입니다. 사이드바에 넣고 싶다면 위젯 설정에서 사용자 정의 HTML을 이용하면 됩니다. 본문 상단이나 하단에 넣고 싶다면 플러그인을 사용하는 게 편합니다. 만약 본문 중간 원하는 위치에 광고를 넣고 싶다면 어떻게 할까요? 그 때는 쇼트코드(Shortcode)를 이용하는 게 편합니다. 테마의 functions.php에 다음 코드를 추가합니다. 애드센스 광고 ...

워드프레스 강좌 / 함수 / wp_is_mobile() / 모바일 접속 여부 판단하는 함수

wp_is_mobile() wp_is_mobile()은 모바일 기기로 접속하면 true, 모바일 기기가 아니라면 false를 반환하는 함수입니다. 모바일인지 아닌지 구분하는 기준은 $_SERVER 입니다. wp_is_mobile()은 wp-includes/vars.php에 다음과 같이 정의되어 있습니다. function wp_is_mobile() { static $is_mobile = null; if ( isset( $is_mobile ) ) { return $is_mobile; } if ( empty($_SERVER) ) { ...

워드프레스 강좌 / 플러그인 / Schema / 구조화된 데이터 만들어주는 플러그인

워드프레스 강좌 / 플러그인 / Schema / 구조화된 데이터 만들어주는 플러그인

구조화된 데이터 SEO와 관련해서 해야 할 것 중의 하나가 구조화된 데이터를 만드는 것입니다. 구조화된 데이터는 콘텐츠에 관련된 정보를 검색 엔진에 알려주는 역할을 합니다. 만약 구조화된 데이터가 없으면 구글 웹마스터도구에서 다음과 같은 메시지를 보여줍니다. 사이트에 구조화된 데이터가 없습니다. 구조화된 데이터은(는) Google에서 사이트의 콘텐츠를 파악하여 검색결과에 리치 스니펫을 표시하는 데 도움을 줍니다. 구조화된 데이터는 HTML 마크업을 ...

워드프레스 강좌 / 플러그인 / WP Maintenance Mode / 공사중, 유지보수모드 플러그인

워드프레스 강좌 / 플러그인 / WP Maintenance Mode / 공사중, 유지보수모드 플러그인

공사중/유지보수 모드 사이트 업데이트나 유지보수를 위해서 사이트 접속을 막아놓아야 하는 경우가 있습니다. 그런 경우 방문자에게는 접속 불가 안내와 다시 접속 가능한 시간을 안내하는 페이지를 띄워놓고, 관리자는 작업을 합니다. 이를 Maintenance Mode라고 하는데, 워드프레스로 만든 사이트라면 이러한 기능을 플러그인으로 쉽게 구현할 수 있습니다. WP Maintenance Mode 에서 maintenance로 검색하면 많은 플러그인을 찾을 수 있습니다. 이 중에서 ...

워드프레스 강좌 / 플러그인 / Enlighter / 코드 하이라이터(Code Highlighter) 플러그인

워드프레스 강좌 / 플러그인 / Enlighter / 코드 하이라이터(Code Highlighter) 플러그인

Enlighter 워드프레스 코드 하이라이트 플러그인으로 널리 사용되는 것은 Crayon Syntax Highlighter입니다. 그런데 개발이 중단된지 꽤 되었습니다. 그래서 찾은 다른 플러그인이 Enlighter입니다. 어떻게 사용하는지 간단히 알아보겠습니다. 설치와 설정 설치는 워드프레스 관리자 페이지에서 할 수 있습니다. highlighter로 검색 후 설치합니다. 설정은 Enlighter에서 합니다. 다양한 메뉴가 있는데, 기본 설정 그대로 사용해도 큰 불편은 없습니다. 사용법 - 블록 편집기 Enlighter를 ...

워드프레스 강좌 / Compress JPEG & PNG images / 이미지 압축 플러그인

워드프레스 강좌 / Compress JPEG & PNG images / 이미지 압축 플러그인

워드프레스에 이미지를 업로드하면, 여러 가지 크기의 썸네일이 만들어져서 디스크를 많이 사용하게 됩니다. 따라서 디스크 사용량을 줄이고 싶을 때 제일 먼저 하는 것이 이미지 압축입니다. 이미지를 압축하는 방법은 여러 가지가 있는데, 그 중 하나가 플러그인을 이용하는 것입니다. Compress JPEG & PNG images는 이미지 압축을 도와주는 플러그인입니다. Smush와는 다르게 원본 이미지 압축도 가능합니다.(Smush도 유료는 원본 ...

워드프레스 / 우커머스 / 잡다한 정보들

상품 페이지 라이트박스 제거 functions.php에 다음 코드 추가 add_filter( 'woocommerce_single_product_image_thumbnail_html', 'wc_remove_link_on_thumbnails' ); function wc_remove_link_on_thumbnails( $html ) { return strip_tags( $html, '<img>' ); } 우커머스 스타일 제거 functions.php에 다음 코드 추가 add_filter( 'woocommerce_enqueue_styles', '__return_empty_array' ); 관련 상품 제거 CSS에 다음 코드 추가 .single-product .related.products { display: none; } Database Pending 작업 실행하는 방법 예약된 데이터베이스 작업이 진행되지 않는다면 강제로 실행할 수 있습니다. ...