PluginProbe
Polylang / 3.6.7
Polylang v3.6.7
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
← All changes | include/links.php +39 -7 2.83.6.7 View file →
@@ -8,16 +8,40 @@
8 8 *
9 9 * @since 1.2
10 10 */
11 11 class PLL_Links {
12 - public $links_model, $model, $options;
12 + /**
13 + * Stores the plugin options.
14 + *
15 + * @var array
16 + */
17 + public $options;
13 18
14 19 /**
20 + * @var PLL_Model
21 + */
22 + public $model;
23 +
24 + /**
25 + * Instance of a child class of PLL_Links_Model.
26 + *
27 + * @var PLL_Links_Model
28 + */
29 + public $links_model;
30 +
31 + /**
32 + * Current language (used to filter the content).
33 + *
34 + * @var PLL_Language|null
35 + */
36 + public $curlang;
37 +
38 + /**
15 39 * Constructor
16 40 *
17 41 * @since 1.2
18 42 *
19 - * @param object $polylang
43 + * @param object $polylang The Polylang object.
20 44 */
21 45 public function __construct( &$polylang ) {
22 46 $this->links_model = &$polylang->links_model;
23 47 $this->model = &$polylang->model;
@@ -24,16 +48,24 @@
24 48 $this->options = &$polylang->options;
25 49 }
26 50
27 51 /**
28 - * Returns the home url in the requested language
52 + * Returns the home url in the requested language.
29 53 *
30 54 * @since 1.3
31 55 *
32 - * @param object|string $language
33 - * @param bool $is_search optional whether we need the home url for a search form, defaults to false
56 + * @param PLL_Language|string $language The language.
57 + * @param bool $is_search Optional, whether we need the home url for a search form, defaults to false.
58 + * @return string
34 59 */
35 60 public function get_home_url( $language, $is_search = false ) {
36 - $language = is_object( $language ) ? $language : $this->model->get_language( $language );
37 - return $is_search ? $language->search_url : $language->home_url;
61 + if ( ! $language instanceof PLL_Language ) {
62 + $language = $this->model->get_language( $language );
63 + }
64 +
65 + if ( empty( $language ) ) {
66 + return home_url( '/' );
67 + }
68 +
69 + return $is_search ? $language->get_search_url() : $language->get_home_url();
38 70 }
39 71 }