PluginProbe
Polylang / 0.4
Polylang v0.4
3.8.9 3.8.8 3.8.7 3.8.6 3.8.5 3.8.4 3.8.3 2.7 2.7.0.1 2.7.1 2.7.2 2.7.3 2.7.4 2.8 2.8.1 2.8.2 2.8.3 2.8.4 2.9 2.9.1 2.9.2 3.0 3.0.1 3.0.2 3.0.3 All 233 releases
polylang / include / base.php

base.php in Polylang 0.4, at include/base.php

62 lines 1.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 class Polylang_Base {
4
5 // returns the query variables of the referer
6 function get_referer_vars() {
7 $qvars = array();
8 $referer = wp_get_referer();
9 if ($referer) {
10 $urlparts = parse_url($referer);
11 if (isset($urlparts['query'])) {
12 parse_str($urlparts['query'], $qvars);
13 }
14 }
15 return $qvars;
16 }
17
18 // returns the list of available languages
19 function get_languages_list($hide_empty = false) {
20 return get_terms('language', array('hide_empty'=>$hide_empty));
21 }
22
23 // returns the language by its id or its slug
24 // Note ist seems that the first option is better for performance (3.2.1)
25 function get_language($value) {
26 if (is_numeric($value))
27 return get_term($value, 'language');
28 elseif (is_string($value))
29 return get_term_by('slug', $value , 'language');
30 return null;
31 }
32
33 // returns the language of a post
34 function get_post_language($post_id) {
35 $lang = get_the_terms($post_id, 'language' );
36 return ($lang) ? reset($lang) : null; // there's only one language per post : first element of the array returned
37 }
38
39 // returns the id of the translation of a post
40 function get_translated_post($post_id, $language) {
41 return get_post_meta($post_id, '_lang-'.$language->slug, true);
42 }
43
44 // among the post and its translations, returns the id of the post which is in $language
45 function get_post($post_id, $language) {
46 $lang = $this->get_post_language($post_id);
47 return $lang->slug == $language->slug ? $post_id : $this->get_translated_post($post_id, $language);
48 }
49
50 // returns the language of a term
51 function get_term_language($term_id) {
52 return $this->get_language(get_metadata('term', $term_id, '_language', true));
53 }
54
55 // returns the id of the translation of a term (category, post tag or custom taxonomy)
56 function get_translated_term($term_id, $language) {
57 return get_metadata('term', $term_id, '_lang-'.$language->slug, true); // since WP 2.9
58 }
59
60 } //class Polylang_Base
61 ?>
62