PHP和Pods:仅将数组值组合到新数组中

PHP和Pods:仅将数组值组合到新数组中,php,arrays,podscms,Php,Arrays,Podscms,长期用户,第一次海报。这里的论坛帮我摆脱了很多麻烦,但我真的被困在这个论坛上了 我使用Pods作为自定义Post类型,它有一个自定义字段,用户可以在其中输入数值。或4或2等 我想在前端显示所有用户制作的帖子中此自定义字段的总和。为了实现这一点,我使用了一个Pods模板为前端编写了一个简短的代码,但是为了进行计算,我使用了PHP 因此,我目前的PHP是: function jobs_total ($id) { $pods = pods ('pledged_job', $id); $

长期用户,第一次海报。这里的论坛帮我摆脱了很多麻烦,但我真的被困在这个论坛上了

我使用Pods作为自定义Post类型,它有一个自定义字段,用户可以在其中输入数值。或4或2等

我想在前端显示所有用户制作的帖子中此自定义字段的总和。为了实现这一点,我使用了一个Pods模板为前端编写了一个简短的代码,但是为了进行计算,我使用了PHP

因此,我目前的PHP是:

function jobs_total ($id) {
    $pods = pods ('pledged_job', $id);
    $jobs = ($pods->field ('jobs_pledged'));
    $a = ($jobs);
    $b = explode(' ', $a);

var_dump($b);
}
到目前为止,我得到的结果是:

array(1) { [0]=> string(1) "5" } 
array(1) { [0]=> string(1) "4" } 
array(1) { [0]=> string(1) "2" } 
array(1) { [0]=> string(1) "7" }
我如何从“u”中获取正确显示在post条目中的数值,并将它们合并到一个新数组中,以便执行“数组_u求和”并返回这些数字的总数

我是一个PHP新手,所以我不确定这是显而易见的还是Pods术语和标准PHP之间的冲突


提前谢谢

用短代码包装的最终代码,允许通过Elementor在前端显示

function jobs_shortcode () { 
$jobs = get_posts(array( 
'post_type' => 'pledged_job', 
'post_status' => 'publish', 
'numberposts' => -1, )); 

$total = 0; 

foreach ($jobs as $field) { 
$total += (int) get_post_meta($field->ID, 'jobs_pledged', true); 
} 

echo $total; 
} 
add_shortcode( 'jobs', 'jobs_shortcode' );

最终代码包装在短代码中,允许通过Elementor在前端显示

function jobs_shortcode () { 
$jobs = get_posts(array( 
'post_type' => 'pledged_job', 
'post_status' => 'publish', 
'numberposts' => -1, )); 

$total = 0; 

foreach ($jobs as $field) { 
$total += (int) get_post_meta($field->ID, 'jobs_pledged', true); 
} 

echo $total; 
} 
add_shortcode( 'jobs', 'jobs_shortcode' );

看来,jobs\u total被分别调用了4次,对吗?您需要做的是编辑此函数以返回一个要求和的值,然后在调用此函数的任何位置,将这些值添加到数组中(或者只保留一个运行总数)。然后您可以使用
array\u sum
一次将所有数字相加。在写出一个可能的答案之前,你能给我们举一个例子说明
$a
是什么(或者你期望它是什么)?我很好奇在这种情况下,
explode
的目的是什么,因为它可能足以返回
$jobs
或其他内容。
我如何从“quot”
中获取数值?我不确定你在问什么。你说的是爆炸吗?显示
$pods
$jobs
$a
的值将有助于我们进一步调试。感谢查看@WOUNDEDStevenJones<代码>回声($pods)返回
post\u类型:已抵押的作业post\u类型:已抵押的作业post\u类型:已抵押的作业post\u类型:已抵押的作业
echo($jobs)
返回
5427
,这是我希望最终合计的数字<代码>回音($a)还返回
5427
:我读到
explode
应该返回一个数组,所以我尝试在
$a
上使用它来组合四个数组。这是一个很好的观点,实际函数可能会被调用4次,我正在测试4个用户提交的帖子。关于
数值
,我希望从单个数组中获得数字5427,并进入一个新数组。但是你关于函数名为4x的建议听起来可能是更好的方法,感谢你的帮助@WOUNDEDStevenJones!我仍然很难得到一个最终的总数,很可能是因为我自己对PHP缺乏经验,也可能是因为与POD的交叉。然而,我成功地解决了我的问题,幸运的是,
function-jobs\u-shortcode(){$jobs=get\u posts(数组('post\u-type'=>'sendered\u-job','post\u-status'=>'publish','numberposts'=>-1,);$total=0;foreach($jobs as$field){$total+=(int)get\u-post\u-meta($field->->ID,'jobs\u-sendered',true)}echo$total;}添加_短代码('jobs','jobs_短代码')
看起来像是
jobs\u total
被分别调用了4次,对吗?您需要做的是编辑此函数以返回一个要求和的值,然后在调用此函数的任何位置,将这些值添加到数组中(或者只保留一个运行总数)。然后您可以使用
array\u sum
一次将所有数字相加。在写出一个可能的答案之前,你能给我们举一个例子说明
$a
是什么(或者你期望它是什么)?我很好奇在这种情况下,
explode
的目的是什么,因为它可能足以返回
$jobs
或其他内容。
我如何从“quot”
中获取数值?我不确定你在问什么。你说的是爆炸吗?显示
$pods
$jobs
$a
的值将有助于我们进一步调试。感谢查看@WOUNDEDStevenJones<代码>回声($pods)返回
post\u类型:已抵押的作业post\u类型:已抵押的作业post\u类型:已抵押的作业post\u类型:已抵押的作业
echo($jobs)
返回
5427
,这是我希望最终合计的数字<代码>回音($a)还返回
5427
:我读到
explode
应该返回一个数组,所以我尝试在
$a
上使用它来组合四个数组。这是一个很好的观点,实际函数可能会被调用4次,我正在测试4个用户提交的帖子。关于
数值
,我希望从单个数组中获得数字5427,并进入一个新数组。但是你关于函数名为4x的建议听起来可能是更好的方法,感谢你的帮助@WOUNDEDStevenJones!我仍然很难得到一个最终的总数,很可能是因为我自己对PHP缺乏经验,也可能是因为与POD的交叉。然而,我成功地解决了我的问题,幸运的是,
function-jobs\u-shortcode(){$jobs=get\u posts(数组('post\u-type'=>'sendered\u-job','post\u-status'=>'publish','numberposts'=>-1,);$total=0;foreach($jobs as$field){$total+=(int)get\u-post\u-meta($field->->ID,'jobs\u-sendered',true)}echo$total;}添加_短代码('jobs','jobs_短代码')