【问题标题】:Calculate multiples $var on get_post_meta在 get_post_meta 上计算倍数 $var
【发布时间】:2014-11-13 23:30:54
【问题描述】:

我是 PHP 新手,感谢任何帮助。我试图理解为什么 $skill 不能在 Wordpress 上处理 get_post_meta。

我正在尝试计算(总和)每个元字段中的所有元字段编号 = '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;
        ?>

【问题讨论】:

    标签: php arrays wordpress meta-boxes


    【解决方案1】:

    您不能将数组传递给 $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 以供使用?

    【讨论】:

    • 嗨大卫!我不需要 $single,但我需要汇总所有 $single,这有意义吗?我收到错误:$total += $single; 行不支持的操作数类型;
    • 奇怪......你确定你在所有这些领域都有数字吗?我更新了一些东西以确保!
    • 不,实际上很多字段都是空白的。仍然得到同样的错误。让我再次尝试解释一下:我在每个帖子中填写了每个 'ecpt_x' 选项元框。如果它是“0”,我什么都不填。我想总结所有“ecpt_x”元框中的所有值。喜欢:ecpt_editorial = 2 + 2 + 0 = 4 和 ecpt_branding = 0 + 2 + 5 = 7。抱歉解释混乱。
    • 我想我理解上面的变化,你应该在那里有 3 个不同的计数。我还将返回值键入为整数,以便处理错误!
    • 大卫,感谢您的帮助,但也没有用。我得到的结果是:'ecpt_editorial=ecpt_branding=ecpt_packaging=' 我应该更改代码吗?
    猜你喜欢
    • 2019-11-08
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 2020-08-20
    • 2022-08-16
    • 2011-05-12
    • 2021-05-20
    • 1970-01-01
    相关资源
    最近更新 更多