Diff: STRATO-apps/wordpress_03/app/wp-content/themes/blocksy/inc/helpers/get-terms.php

Keine Baseline-Datei – Diff nur gegen leer.
Zur Liste
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 +