如何为自定义帖子类型WordPress

时间:2018-07-16 18:38:04

标签: php wordpress advanced-custom-fields

我将尽我所能向社区解释我的问题。

我在WordPress中有一个自定义帖子类型,名为“人”(即子弹)。

属于“人物”的每个帖子类型都有一个与之关联的高级自定义字段,简称为“数字”。字段类型为数字

这是我要实现的目标:

我想为所有帖子获取 number 的值,例如,在 foreach 上,该帖子可以继续存储所有帖子。

然后我想将所有这些值加起来得出一个总数。

我知道如何使用PHP处理计算,这不是问题。

请问您关于在所有帖子的自定义字段中收集所有数字的最佳方法以及如何存储它们以便计算总数的建议。

谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用get_posts()(wordpress内置方法)从该帖子类型获取所有帖子,如下所示:

$args = array( 'post_type'        => 'people',
               'posts_per_page'   => -1
             );

$posts = get_posts($args);

然后,您可以像这样在所有帖子中进行foreach循环:

if(!empty($posts))
{
    $total = 0;

    foreach($posts as $p)
    {
       $total += get_field('number', $p->ID);
    }
}

答案 1 :(得分:0)

我能想到的一种方法是获取人员职位类型的所有职位,然后获取字段数据。

该方法将类似于:

$peoplePosts = get_posts(
                   array(
                       'post_type'      =>  'people',
                       'posts_per_page'  =>  -1
                   ));
$sum = 0;
print_r(peoplePosts);
if (is_array($peoplePosts)) {
    foreach ( $peoplePosts as $peoplePost) {
        $currentVal = get_field('number', $peoplePost->ID);
        $sum = (float) $sum + (float) $currentVal;
    }
}
echo $sum;