programing

WooCommerce - 랜덤 상품 보여주기

skycolor 2023. 9. 19. 20:56
반응형

WooCommerce - 랜덤 상품 보여주기

WooCommerce 랜덤 상품을 한 페이지에 보여줄 수 있는 방법을 찾고 있습니다.이것은 "특징 제품"과는 아무 범주에서나 무작위로 선택되는 것과는 무관합니다.

찾아봤는데 이 작업을 수행할 플러그인이나 스크립트를 찾을 수 없는 것 같습니까?이걸 어떻게 하는지 아는 사람?

좋아요, 여기 있는 분들은 제가 최근 제품에 사용하고 있는 약간의 코드입니다. 하지만 그 일을 하고 있습니다.보여줄 페이지에 추가하기만 하면 됩니다.

[recent_상품 per_page="4"열="4"순서="rand"순서="rand"]

이거 먹어봐요.함수에 코드를 붙여 넣습니다.php wp-admin/ Woocmerce > Settings > Products > Display View settings drop down order 무작위로 이동하는 것이 새로운 옵션이 될 것입니다.*note: 마지막 옵션이 됩니다.

// Shop random order. View settings drop down order by Woocommerce > Settings > Products > Display
add_filter( 'woocommerce_get_catalog_ordering_args', 'custom_woocommerce_get_catalog_ordering_args' );
function custom_woocommerce_get_catalog_ordering_args( $args ) {
    $orderby_value = isset( $_GET['orderby'] ) ? woocommerce_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
    if ( 'random_list' == $orderby_value ) {
        $args['orderby'] = 'rand';
        $args['order'] = '';
        $args['meta_key'] = '';
    }
    return $args;
}
add_filter( 'woocommerce_default_catalog_orderby_options', 'custom_woocommerce_catalog_orderby' );
add_filter( 'woocommerce_catalog_orderby', 'custom_woocommerce_catalog_orderby' );
function custom_woocommerce_catalog_orderby( $sortby ) {
    $sortby['random_list'] = 'Random';
    return $sortby;
}

한번 해보세요.그것을 제 기능으로 게시합니다.

 add_filter('woocommerce_get_catalog_ordering_args', 'set_sort_order');
   function set_sort_order($args) {
     $args['orderby'] = 'rand';
     return ($args);    
   }

이것은 저에게 효과가 있습니다.

<?php

    global $post; // setup_postdata will not work without this being set (outside of the foreach loop)

    $args = array(
        'posts_per_page'   => 1,
        'orderby'          => 'rand',
        'post_type'        => 'product' ); 

    $random_products = get_posts( $args );

    foreach ( $random_products as $post ) : setup_postdata( $post ); ?>
    <li>
        <a href="<?php the_permalink(); ?>">
    <?php the_title(); ?></a>
    </li>
<?php endforeach; 
wp_reset_postdata();
?>

제가 사용한 코드입니다 [ featured_products per_page="8" columns="4" order by="rand"]

저는 이 [제품 제한 ="8" 열 ="4" 순서별 ="rand" 가시성 =" visible"]를 사용했습니다.예상대로 작동합니다.

만약 당신이 가게 홈페이지를 무작위로 정렬하기 위해 코드를 사용하고 싶다면, 다음 코드를 사용하세요.핵심 파일을 변경하지 않고도 워드프레스를 변경할 수 있는 "코드 스니펫츠"라는 플러그인만 설치하면 됩니다.

add_action( 'pre_get_posts', 'shop_default_orderby_rand' );
function shop_default_orderby_rand( $query ) {
    if ( is_shop() && ( ! isset($_GET['orderby']) || 'menu_order' === $_GET['orderby'] ) ) {
        $query->set( 'orderby', 'rand' );
    }
}

언급URL : https://stackoverflow.com/questions/23440692/woocommerce-show-random-products

반응형