Project

General

Profile

Feature #11298 » cac-fill-disciplinary-clusters.php

Boone Gorges, 2019-10-30 10:06 PM

 
1
<?php
2

    
3
$taxonomy = 'cac_course_disciplinary_cluster';
4

    
5
$course_ids = get_posts( [
6
	'post_type' => 'cac_course',
7
	'nopaging'  => true,
8
	'fields'    => 'ids',
9
] );
10

    
11
foreach ( $course_ids as $course_id ) {
12
	$course = new \CAC\Courses\Course( $course_id );
13

    
14
	$clusters = [];
15

    
16
	// Combine them all.
17
	$site_ids = $course->get_site_ids();
18
	foreach ( $site_ids as $site_id ) {
19
		$site_clusters = cac_get_site_disciplinary_clusters( $site_id );
20
		if ( $site_clusters ) {
21
			$clusters = array_merge( $clusters, $site_clusters );
22
		}
23
	}
24

    
25
	$group_ids = $course->get_group_ids();
26
	foreach ( $group_ids as $group_id ) {
27
		$group_clusters = cac_get_group_disciplinary_clusters( $group_id );
28
		if ( $group_clusters ) {
29
			$clusters = array_merge( $clusters, $group_clusters );
30
		}
31
	}
32

    
33
	if ( ! $clusters ) {
34
		return;
35
	}
36

    
37
	$clusters = array_unique( $clusters );
38

    
39
	wp_set_object_terms( $course_id, $clusters, $taxonomy );
40
}
(19-19/20)