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