PluginProbe
Polylang / 3.7.7
Polylang v3.7.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 +17 -3 3.0.23.7.7 View file →
@@ -28,13 +28,20 @@
28 28 */
29 29 public $links_model;
30 30
31 31 /**
32 + * Current language (used to filter the content).
33 + *
34 + * @var PLL_Language|null
35 + */
36 + public $curlang;
37 +
38 + /**
32 39 * Constructor
33 40 *
34 41 * @since 1.2
35 42 *
36 - * @param object $polylang
43 + * @param object $polylang The Polylang object.
37 44 */
38 45 public function __construct( &$polylang ) {
39 46 $this->links_model = &$polylang->links_model;
40 47 $this->model = &$polylang->model;
@@ -50,8 +57,15 @@
50 57 * @param bool $is_search Optional, whether we need the home url for a search form, defaults to false.
51 58 * @return string
52 59 */
53 60 public function get_home_url( $language, $is_search = false ) {
54 - $language = is_object( $language ) ? $language : $this->model->get_language( $language );
55 - 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();
56 70 }
57 71 }