问题描述
我有一个称为“任务”的自定义分类法,在“角色”和“产品”这两种自定义帖子类型之间共享。
预期结果: 我需要计算给定的“任务”术语用于每个“角色”帖子类型减去的次数,使用相同的“产品”帖子类型共享的次数“任务”一词。
实际结果: 无人举报,因为我不知道该如何解决
错误消息: 没有
我尝试过的事情: Google一直在回覆如何计算帖子类型,而不是术语:(
下面的代码是我的计划B。在这里,我仅对每个post-type进行一些微循环(为简便起见,下面仅显示一个),通过array_count_values
将任务转换为关联数组
$taskList = [];
$queryRoles = new WP_Query( array(
"post_type" => "roles"
));
while ( $queryRoles->have_posts() ) : $queryRoles->the_post();
$tasks = get_the_terms( get_the_ID(),"tasks" );
foreach ( $tasks as $task ) :
$taskList[] = $task->name;
endforeach;
endwhile;
$overlappingRoleTasks = $taskList;
print_r(array_count_values($taskList));
解决方法
您可以执行一个循环,该循环仅限于分配了任务的帖子,而一个循环仅限于分配了任务的产品。
然后使用sizeof();
返回数组中元素的数量,计算每个帖子和产品的数量,然后进行一些基本的php数学运算。
有关sizeof();
@ https://www.w3schools.com/php/func_array_sizeof.asp