You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
1.3 KiB
71 lines
1.3 KiB
<?php
|
|
/**
|
|
* @package Polylang
|
|
*/
|
|
|
|
/**
|
|
* Manages links related functions
|
|
*
|
|
* @since 1.2
|
|
*/
|
|
class PLL_Links {
|
|
/**
|
|
* Stores the plugin options.
|
|
*
|
|
* @var array
|
|
*/
|
|
public $options;
|
|
|
|
/**
|
|
* @var PLL_Model
|
|
*/
|
|
public $model;
|
|
|
|
/**
|
|
* Instance of a child class of PLL_Links_Model.
|
|
*
|
|
* @var PLL_Links_Model
|
|
*/
|
|
public $links_model;
|
|
|
|
/**
|
|
* Current language (used to filter the content).
|
|
*
|
|
* @var PLL_Language|null
|
|
*/
|
|
public $curlang;
|
|
|
|
/**
|
|
* Constructor
|
|
*
|
|
* @since 1.2
|
|
*
|
|
* @param object $polylang The Polylang object.
|
|
*/
|
|
public function __construct( &$polylang ) {
|
|
$this->links_model = &$polylang->links_model;
|
|
$this->model = &$polylang->model;
|
|
$this->options = &$polylang->options;
|
|
}
|
|
|
|
/**
|
|
* Returns the home url in the requested language.
|
|
*
|
|
* @since 1.3
|
|
*
|
|
* @param PLL_Language|string $language The language.
|
|
* @param bool $is_search Optional, whether we need the home url for a search form, defaults to false.
|
|
* @return string
|
|
*/
|
|
public function get_home_url( $language, $is_search = false ) {
|
|
if ( ! $language instanceof PLL_Language ) {
|
|
$language = $this->model->get_language( $language );
|
|
}
|
|
|
|
if ( empty( $language ) ) {
|
|
return home_url( '/' );
|
|
}
|
|
|
|
return $is_search ? $language->get_search_url() : $language->get_home_url();
|
|
}
|
|
}
|
|
|