많은 곳에서 나타나는 PHP 오류 WordPress Plugins 오랫동안 업데이트되지 않았거나 최신 버전의 PHP와 호환되지 않습니다. PHP 경고: sizeof(): 매개변수는 배열이거나 Countable을 구현하는 객체여야 합니다.
콘텐츠
우리 시나리오에서는 모듈에서 PHP 오류가 발생했습니다. Cross Sell Product Display 우커머스용.
FastCGI sent in stderr: "PHP message: PHP Warning: sizeof(): Parameter must be an array or an object that implements Countable in /web/path/public_html/wp-content/plugins/cross-sell-product-display-for-woocommerce/templates.php on line 18
PHP 경고: sizeof(): 매개변수는 배열이어야 하거나 Countable을 구현하는 객체여야 합니까?
이 PHP 오류를 생성하는 문제는 함수입니다. sizeof() PHP 7.2 이상 버전에서는 주어진 매개변수가 하나가 아닌 경우 이 오류가 발생할 수 있습니다. array 또는 인터페이스를 구현하는 객체 Countable.
따라서 PHP 버전을 업데이트한 후 오류가 자주 발생합니다.
PHP 오류를 해결하는 방법 sizeof()?
가장 간단한 방법은 함수 호출을 바꾸는 것입니다. sizeof() 함수 호출로 count().
이전 버전의 모듈을 사용하는 경우 Cross Sell Product Display, 해결책은 간단합니다. 18인치 라인의 기능은 대체될 예정 templates.php.
function cdxfreewoocross_get_cross_sell_products($product_id=false){
if($product_id ===false ){
if(!is_product()){return false;}
$product_id = (int)get_the_ID();
if($product_id=='0'){return false;}
}
$crosssells = get_post_meta( $product_id, '_crosssell_ids',true);
if ( sizeof($crosssells ) == 0 || $crosssells =='') { return false; }
return $crosssells;
}
sizeof()가 있는 위의 코드는 다음으로 대체됩니다.
function cdxfreewoocross_get_cross_sell_products($product_id=false){
if($product_id ===false ){
if(!is_product()){return false;}
$product_id = (int)get_the_ID();
if($product_id=='0'){return false;}
}
$crosssells = get_post_meta( $product_id, '_crosssell_ids',true);
if ( !is_array( $crosssells ) || count( $crosssells ) == 0 || $crosssells =='') { return false; }
return $crosssells;
}
이 수정 사항은 먼저 다음 사항을 확인합니다. $crosssells 그것은 a입니다 array 기능을 사용하여 is_array() 그렇지 않으면 반환됩니다. false.
- [PHP 7.2 / PHP 7.3 수정] PHP 경고 : 정의되지 않은 상수 사용 (미래 버전의 PHP에서 오류가 발생합니다)
- SQL에서 거대한 wp_options를 청소하는 방법 - 과도, wpseo_sitemap _cache_validator
- 수정 WC-Ajax = get_refreshed_fragments 높은 CPU 사용법 (AJAX 카트 조각 비활성화)
- WooCommerce - 온라인 상점 판매 최적화에서 "선택 사항과 일치하는 제품을 찾을 수 없습니다" 페이지를 사용자 정의하는 방법
- SQL에서 거대한 wp_options를 청소하는 방법 - 과도, wpseo_sitemap _cache_validator
다음과 같은 경우 $crosssells 그것은 a입니다 array, 기능이 사용됩니다 count() 요소의 수를 결정하기 위해 array. 요소의 개수가 0이거나 $crosssells 빈 문자열이면 false가 반환됩니다.
이 튜토리얼에 설명이나 추가 사항이 있으면 의견을 남겨주세요.
php 경고 수정 : sizeof () : 매개 변수는 배열이거나 countable을 구현하는 객체 여야합니다.
에 대한 Stealth
기술에 열정을 가진 저는 2006년부터 StealthSettings.com에 즐겁게 글을 쓰고 있습니다. 저는 macOS, Windows, Linux 운영 체제뿐만 아니라 프로그래밍 언어와 블로그 플랫폼(WordPress), 온라인 상점(WooCommerce, Magento, PrestaShop)에서도 풍부한 경험을 가지고 있습니다.
Stealth의 모든 게시물 보기당신은 또한에 관심이있을 수 있습니다 ...