49 lines
1.1 KiB
PHP
49 lines
1.1 KiB
PHP
<?php
|
|
/**
|
|
* Only load these if Polylang plugin is installed and active.
|
|
*/
|
|
|
|
/**
|
|
* Load routines only if Polylang is loaded.
|
|
*
|
|
* @since 1.6
|
|
*/
|
|
function polylang_event_manager_init() {
|
|
add_filter( 'event_manager_lang', 'polylang_event_manager_get_event_listings_lang' );
|
|
add_filter( 'event_manager_page_id', 'polylang_event_manager_page_id' );
|
|
}
|
|
add_action( 'pll_init', 'polylang_event_manager_init' );
|
|
|
|
/**
|
|
* Returns Polylang's current language.
|
|
*
|
|
* @since 1.6
|
|
*
|
|
* @param string $lang
|
|
* @return string
|
|
*/
|
|
function polylang_event_manager_get_event_listings_lang( $lang ) {
|
|
if ( function_exists( 'pll_current_language' )
|
|
&& function_exists( 'pll_is_translated_post_type' )
|
|
&& pll_is_translated_post_type( 'event_listing' ) ) {
|
|
return pll_current_language();
|
|
}
|
|
return $lang;
|
|
}
|
|
|
|
/**
|
|
* Returns the page ID for the current language.
|
|
*
|
|
* @since 1.6
|
|
*
|
|
* @param int $page_id
|
|
* @return int
|
|
*/
|
|
function polylang_event_manager_page_id( $page_id ) {
|
|
if ( function_exists( 'pll_get_post' ) ) {
|
|
$page_id = pll_get_post( $page_id );
|
|
}
|
|
return absint( $page_id );
|
|
}
|
|
|