내 고객은 자신의 제품 (약 600)을 현재 역순으로 (최신순, 최장순) 표시하는 WooCommerce 온라인 스토어를 운영합니다.WooCommerce 제품 루프에 맞춤 정렬을 적용하는 방법
문제는 오래된 제품은 항상 페이지의 맨 아래에 있고 고객이 (매우 긴 600 개 제품!) 페이지의 맨 아래로 스크롤하는 경우가 거의 없기 때문입니다.
불행히도 클라이언트는 제품을 범주 나 별도의 페이지로 나눌 준비가되어 있지 않습니다. 그는 또한 상점 페이지가 표시 될 때마다 해고되는 임의의 제품 분류에 반대합니다.
그는 그러나 동의 한 다음
항상- 가 (이 '_product_new'는 post_meta를 사용하여 우리가 이미 표시) 페이지 상단에 최신 제품을 표시;
- 두 블록 (가장 오래된 50 %와 최신 50 %)으로 나누고이 블록을 현재 달에 따라 번갈아 표시합니다. 심지어 가장 오래된 50 % 블록 먼저, 처음 몇 개월은 가장 최근 50 % 블록을 먼저 표시합니다.
중요 post_meta 표시된 제품은 항상 페이지 상단에 있습니다.
나는 그것을 정렬 'pre_get_post'후크를 사용하여 사용자 정의 제품에 적용 할 수 있어야한다고 생각합니다 :
add_action('pre_get_posts', 'custom_vtp_shop_order');
function custom_vtp_shop_order($q){
if (! $q->is_main_query()) return;
if (! is_admin() && (is_shop() || is_archive)) {
...do the magic here...
}
remove_action('pre_get_posts', 'custom_vtp_shop_order');
}
을하지만 난 방법을 잘 모르겠어요.
이
내가 일해야 할 것입니다 :블록 1 : post_meta '_product_new'모든 제품을 얻을;
블록 2 : 다른 모든 제품을 가져 와서 역순으로 정렬하십시오 (최신순, 최장순).
블록 3과 블록 4를 만드는 중간에 블록 2를 나누십시오.
4a. 짝수 월 (2 월, 4 월, 6 월 등)에 제 제품을 1 번 블록, 3 번 블록, 4 번 블록으로 주문하십시오;
4b. 이상한 달 (1 월, 3 월, 5 월 등)에 제 1 블록, 블록 4, 블록 3으로 제품을 주문하십시오.
미리 도움을 청하십시오!