/var/www/leolaart.com/www/wp-content/plugins/polylang/include
NameSizeModeActions
api.php177630666editdlrm
base.php59320666editdlrm
cache.php25030666editdlrm
class-polylang.php87590666editdlrm
cookie.php34330666editdlrm
crud-posts.php155110666editdlrm
crud-terms.php101050666editdlrm
db-tools.php10380666editdlrm
filter-rest-routes.php49880666editdlrm
filters-links.php56860666editdlrm
filters-sanitization.php33110666editdlrm
filters-widgets-options.php26340666editdlrm
filters.php157520666editdlrm
functions.php71730666editdlrm
language-deprecated.php73550666editdlrm
language-factory.php95350666editdlrm
language.php184700666editdlrm
license.php94150666editdlrm
links-abstract-domain.php32400666editdlrm
links-default.php31000666editdlrm
links-directory.php97210666editdlrm
links-domain.php31360666editdlrm
links-model.php66390666editdlrm
links-permalinks.php57530666editdlrm
links-subdomain.php22160666editdlrm
links.php13310666editdlrm
mo.php20200666editdlrm
model.php346510666editdlrm
nav-menu.php45330666editdlrm
olt-manager.php85670666editdlrm
query.php65440666editdlrm
rest-request.php31940666editdlrm
static-pages.php64150666editdlrm
switcher.php111510666editdlrm
translatable-object-with-types-interface.php11270666editdlrm
translatable-object-with-types-trait.php19360666editdlrm
translatable-object.php135930666editdlrm
translatable-objects.php35690666editdlrm
translate-option.php127590666editdlrm
translated-object.php167860666editdlrm
translated-post.php119640666editdlrm
translated-term.php100080666editdlrm
walker-dropdown.php35380666editdlrm
walker-list.php23080666editdlrm
walker.php23360666editdlrm
widget-calendar.php96670666editdlrm
widget-languages.php46780666editdlrm
Edit: /var/www/leolaart.com/www/wp-content/plugins/polylang/include/nav-menu.php (4533B)
model = &$polylang->model; $this->options = &$polylang->options; $this->theme = get_option( 'stylesheet' ); add_filter( 'wp_setup_nav_menu_item', array( $this, 'wp_setup_nav_menu_item' ) ); // Integration with WP customizer add_action( 'customize_register', array( $this, 'create_nav_menu_locations' ), 5 ); // Filter _wp_auto_add_pages_to_menu by language add_action( 'transition_post_status', array( $this, 'auto_add_pages_to_menu' ), 5, 3 ); // before _wp_auto_add_pages_to_menu } /** * Assigns the title and label to the language switcher menu items * * @since 2.6 * * @param stdClass $item Menu item. * @return stdClass */ public function wp_setup_nav_menu_item( $item ) { if ( isset( $item->url ) && '#pll_switcher' === $item->url ) { $item->post_title = __( 'Languages', 'polylang' ); $item->type_label = __( 'Language switcher', 'polylang' ); } return $item; } /** * Create temporary nav menu locations ( one per location and per language ) for all non-default language * to do only one time * * @since 1.2 * * @return void */ public function create_nav_menu_locations() { static $once; global $_wp_registered_nav_menus; $arr = array(); if ( isset( $_wp_registered_nav_menus ) && ! $once ) { foreach ( $_wp_registered_nav_menus as $loc => $name ) { foreach ( $this->model->get_languages_list() as $lang ) { $arr[ $this->combine_location( $loc, $lang ) ] = $name . ' ' . $lang->name; } } $_wp_registered_nav_menus = $arr; $once = true; } } /** * Creates a temporary nav menu location from a location and a language * * @since 1.8 * * @param string $loc Nav menu location. * @param PLL_Language $lang Language object. * @return string */ public function combine_location( $loc, $lang ) { return $loc . ( strpos( $loc, '___' ) || $lang->is_default ? '' : '___' . $lang->slug ); } /** * Get nav menu locations and language from a temporary location. * * @since 1.8 * * @param string $loc Temporary location. * @return string[] { * @type string $location Nav menu location. * @type string $lang Language code. * } */ public function explode_location( $loc ) { $infos = explode( '___', $loc ); if ( 1 == count( $infos ) ) { $infos[] = $this->options['default_lang']; } return array_combine( array( 'location', 'lang' ), $infos ); } /** * Filters the option nav_menu_options for auto added pages to menu. * * @since 0.9.4 * * @param array $options Options stored in the option nav_menu_options. * @return array Modified options. */ public function nav_menu_options( $options ) { $options['auto_add'] = array_intersect( $options['auto_add'], $this->auto_add_menus ); return $options; } /** * Filters _wp_auto_add_pages_to_menu by language. * * @since 0.9.4 * * @param string $new_status Transition to this post status. * @param string $old_status Previous post status. * @param WP_Post $post Post object. * @return void */ public function auto_add_pages_to_menu( $new_status, $old_status, $post ) { if ( 'publish' != $new_status || 'publish' == $old_status || 'page' != $post->post_type || ! empty( $post->post_parent ) ) { return; } if ( ! empty( $this->options['nav_menus'][ $this->theme ] ) ) { $lang = $this->model->post->get_language( $post->ID ); $lang = empty( $lang ) ? $this->options['default_lang'] : $lang->slug; // If the page has no language yet, the default language will be assigned // Get all the menus in the page language foreach ( $this->options['nav_menus'][ $this->theme ] as $loc ) { if ( ! empty( $loc[ $lang ] ) ) { $this->auto_add_menus[] = $loc[ $lang ]; } } add_filter( 'option_nav_menu_options', array( $this, 'nav_menu_options' ) ); } } }