Вычислить кратные $ var на get_post_meta

Я новичок в PHP и ценю любую помощь. Я пытаюсь понять, почему $ skill не работает с get_post_meta в WordPress.

Я пытаюсь вычислить (суммировать) все номера метаполей в каждом метаполе = ‘ecpt_editorial’, ‘ecpt_branding’ и т. Д. (Т. Е. = ‘Ecpt_editoral’ имеет 3 балла в одном посте + 4 балла в другом).
Я пытаюсь вычислить их все без необходимости создавать $ для каждого из них (их слишком много).

Мои ошибки:
Предупреждение: недопустимый тип смещения в isset или пустой в
Неустранимая ошибка: неподдерживаемые типы операндов в

 <?php $args = array( 'numberposts' => -1, 'post_type'   => 'post',);
$points = get_posts( $args );
$total = 0;

$skill = array ('ecpt_editorial','ecpt_branding', 'ecpt_packaging');

foreach( $points as $point ) {
$single = get_post_meta( $point->ID, $skill, false );
$total += $single;}

echo $total;
++$total;
?>

0

Решение

Вы не можете передать массив в поле $ key. Это то, что вы ищете:

    $args = array( 'numberposts' => -1, 'post_type'   => 'post',);
$points = get_posts( $args );
$total = 0;

$skill = array ('ecpt_editorial','ecpt_branding', 'ecpt_packaging');

foreach( $points as $point ) {
foreach($skill as $key){
$single = get_post_meta( $point->ID, $key, false );
var_dump($single);
echo '<br>';
${$key} += (int) $single;
}
}

foreach($skill as $key){
echo $key.'='.${$key}; // there are now 3 variables with count values set, $ecpt_editorial , $ecpt_branding, $ecpt_packaging
}

Предполагается, что вы не хотите экономить $ single для использования?

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]