Diff: STRATO-apps/wordpress_03/app/wp-content/themes/blocksy/inc/helpers/get-terms.php
Keine Baseline-Datei – Diff nur gegen leer.
1
-
1
+
<?php
2
+
3
+
function blocksy_get_terms($get_terms_args, $args = []) {
4
+
$args = wp_parse_args($args, [
5
+
'all_languages' => false
6
+
]);
7
+
8
+
if (! $args['all_languages']) {
9
+
return get_terms($get_terms_args);
10
+
}
11
+
12
+
global $sitepress;
13
+
14
+
if (function_exists('PLL')) {
15
+
remove_filter(
16
+
'terms_clauses',
17
+
[PLL()->terms, 'terms_clauses'],
18
+
10, 3
19
+
);
20
+
}
21
+
22
+
if ($sitepress) {
23
+
remove_filter('get_terms_args', array($sitepress, 'get_terms_args_filter'), 10, 2);
24
+
remove_filter('get_term', array($sitepress, 'get_term_adjust_id'), 1, 1);
25
+
remove_filter('terms_clauses', array($sitepress, 'terms_clauses'), 10, 3);
26
+
27
+
$all_terms = get_terms($get_terms_args);
28
+
29
+
add_filter('terms_clauses', array($sitepress, 'terms_clauses'), 10, 3);
30
+
add_filter('get_term', array($sitepress, 'get_term_adjust_id'), 1, 1);
31
+
add_filter('get_terms_args', array($sitepress, 'get_terms_args_filter' ), 10, 2);
32
+
} else {
33
+
$all_terms = get_terms($get_terms_args);
34
+
}
35
+
36
+
if (function_exists('PLL')) {
37
+
add_filter(
38
+
'terms_clauses',
39
+
[PLL()->terms, 'terms_clauses'],
40
+
10, 3
41
+
);
42
+
}
43
+
44
+
return $all_terms;
45
+
}
46
+
47
+