programing

WC_상품_have_posts()에서 작동하지 않는 쿼리

powerit 2023. 9. 20. 20:47
반응형

WC_상품_have_posts()에서 작동하지 않는 쿼리

나는 당신이 커스텀 포스트 타입을 사용하는 것처럼 나의 WooCommerce 제품을 반복해서 사용하려고 합니다.하지만 어떤 이유에서인지 이 방법은 효과가 없습니다.사용하는 것과 관련된 오류가 발생합니다.have_posts(). 내가 뭘 잘못하고 있는 거지?

오류

발견되지 않은 오류: have_posts()가 배열되어 있는 멤버 함수 호출

마이코드

<?php
 $query = new WC_Product_Query( array(
     'limit' => 10,
     'orderby' => 'date',
     'order' => 'DESC'
 ) );

 $products = $query->get_products();

 if( $products->have_posts() ) {
    while( $products->have_posts() ) {
      $products->the_post();
      echo the_permalink();
    }
} ?>

갱신하다

각 루프를 사용하면 다음과 같이 작동한다는 것을 알게 되었습니다.

<?php
foreach( $products as $product ) {
    echo $product->get_title();
} ?>

하지만 이 방법이 왜 작동하지 않는지는 여전히 알고 싶습니다.have_posts()

$query = new WC_Product_Query(array(
    'limit' => 10,
    'orderby' => 'date',
    'order' => 'DESC'
        ));

$products = $query->get_products();

if (!empty($products)) {
    foreach ($products as $product) {

        echo get_permalink($product->get_id());
    }
}

기능.have_post()는 워드프레스의 멤버기능입니다.WP_Query클래스 - 및 우커머스WC_Product_Query수업이 확장중입니다.WC_Object_Query계급이 아닌WP_Query- 그래서 이 함수를 호출할 수 없습니다.

$제품은 배열되어 있기 때문에 어떤 항목에서만 메서드를 호출할 수는 없습니다.$products[0]->have_posts()를 실행하면 됩니다.

언급URL : https://stackoverflow.com/questions/54853854/wc-product-query-not-working-with-have-posts

반응형