@Oleander

Как решить ошибку с Warning: count(): Parameter must be an array or an object that implements Countable in ....?

Обновил PHP на 7.2. Теперь выдает такую ошибку:

Warning: count(): Parameter must be an array or an object that implements Countable in /wp-content/plugins/woocommerce-tm-extra-product-options/templates/_price.php on line 19

Вот сам код:

<?php
// Direct access security
if (!defined('TM_EPO_PLUGIN_SECURITY')){
	die();
}

if (isset($textbeforeprice) && isset($textafterprice) && isset($hide_amount) && isset($amount) && isset($original_amount)){

	echo $textbeforeprice;

	echo '<span class="price tc-price';
	if (!empty($hide_amount)){
		echo " ".$hide_amount;
	}
	echo '"><span class="amount">'.$amount.'</span></span>';
	echo $textafterprice;

	if(isset($tm_element_settings) & isset($field_counter)){
		if(!empty($tm_element_settings['cdescription'][$field_counter]) || (count($tm_element_settings['cdescription'])>1 && $tm_element_settings['type']=='select') ){
			echo '<i data-tm-tooltip-html="'.esc_attr(do_shortcode($tm_element_settings['cdescription'][$field_counter])).'" class="tm-tooltip tc-tooltip tcfa tcfa-question-circle"></i>';
		}
	}

}


Помогите пожалуйста исправить...
  • Вопрос задан
  • 314 просмотров
Пригласить эксперта
Ответы на вопрос 1
@lolzqq
HTML,CSS,JS,PHP
count($tm_element_settings['cdescription'] ...

вызывает ошибку, потому что вы пытаетесь посчитать длину массива $tm_element_settings['cdescription'], хранящегося в ячейке массива $tm_element_settings[ ].

Если $tm_element_settings['cdescription'] - строка (а не массив), то вам скорее всего хотелось посчитать её длину, для этого есть оператор
mb_strlen($tm_element_settings['cdescription'],'UTF-8')


Вообще если увидели ошибку - скопируйте её текст и забейте в яндекс или гугл, это действеннее, чем задавать про них вопрос тут.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы