geminilabs

[site-reviews] fix child categories

Aug 8th, 2025 (edited)
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.78 KB | None | 0 0
  1. function glsr_fix_category_children(array $values) {
  2.     if (empty($values['assigned_terms']) || !is_array($values['assigned_terms'])) {
  3.         return $values;
  4.     }
  5.     $termIds = [];
  6.     foreach ($values['assigned_terms'] as $termId) {
  7.         $termIds[] = $termId;
  8.         $childTermIds = get_term_children($termId, 'site-review-category');
  9.         if (!is_wp_error($childTermIds)) {
  10.             $termIds = array_merge($termIds, $childTermIds);
  11.         }
  12.     }
  13.     $termIds = array_map('intval', $termIds);
  14.     $termIds = array_values(array_unique($termIds));
  15.     $values['assigned_terms'] = $termIds;
  16.     return $values;
  17. }
  18. add_filter('site-reviews/defaults/create-review', 'glsr_fix_category_children');
  19. add_filter('site-reviews/defaults/reviews', 'glsr_fix_category_children');
Advertisement
Add Comment
Please, Sign In to add comment