/
var
/
www
/
leolaart.com
/
www
/
wp-content
/
plugins
/
polylang
/
include
/
/var/www/leolaart.com/www/wp-content/plugins/polylang/include
mkdir
upload
Name
Size
Mode
Actions
api.php
17763
0666
edit
dl
rm
base.php
5932
0666
edit
dl
rm
cache.php
2503
0666
edit
dl
rm
class-polylang.php
8759
0666
edit
dl
rm
cookie.php
3433
0666
edit
dl
rm
crud-posts.php
15511
0666
edit
dl
rm
crud-terms.php
10105
0666
edit
dl
rm
db-tools.php
1038
0666
edit
dl
rm
filter-rest-routes.php
4988
0666
edit
dl
rm
filters-links.php
5686
0666
edit
dl
rm
filters-sanitization.php
3311
0666
edit
dl
rm
filters-widgets-options.php
2634
0666
edit
dl
rm
filters.php
15752
0666
edit
dl
rm
functions.php
7173
0666
edit
dl
rm
language-deprecated.php
7355
0666
edit
dl
rm
language-factory.php
9535
0666
edit
dl
rm
language.php
18470
0666
edit
dl
rm
license.php
9415
0666
edit
dl
rm
links-abstract-domain.php
3240
0666
edit
dl
rm
links-default.php
3100
0666
edit
dl
rm
links-directory.php
9721
0666
edit
dl
rm
links-domain.php
3136
0666
edit
dl
rm
links-model.php
6639
0666
edit
dl
rm
links-permalinks.php
5753
0666
edit
dl
rm
links-subdomain.php
2216
0666
edit
dl
rm
links.php
1331
0666
edit
dl
rm
mo.php
2020
0666
edit
dl
rm
model.php
34651
0666
edit
dl
rm
nav-menu.php
4533
0666
edit
dl
rm
olt-manager.php
8567
0666
edit
dl
rm
query.php
6544
0666
edit
dl
rm
rest-request.php
3194
0666
edit
dl
rm
static-pages.php
6415
0666
edit
dl
rm
switcher.php
11151
0666
edit
dl
rm
translatable-object-with-types-interface.php
1127
0666
edit
dl
rm
translatable-object-with-types-trait.php
1936
0666
edit
dl
rm
translatable-object.php
13593
0666
edit
dl
rm
translatable-objects.php
3569
0666
edit
dl
rm
translate-option.php
12759
0666
edit
dl
rm
translated-object.php
16786
0666
edit
dl
rm
translated-post.php
11964
0666
edit
dl
rm
translated-term.php
10008
0666
edit
dl
rm
walker-dropdown.php
3538
0666
edit
dl
rm
walker-list.php
2308
0666
edit
dl
rm
walker.php
2336
0666
edit
dl
rm
widget-calendar.php
9667
0666
edit
dl
rm
widget-languages.php
4678
0666
edit
dl
rm
Edit:
/var/www/leolaart.com/www/wp-content/plugins/polylang/include/nav-menu.php
(4533B)
<?php /** * @package Polylang */ /** * Manages custom menus translations * Common to admin and frontend for the customizer * * @since 1.7.7 */ class PLL_Nav_Menu { /** * Stores the plugin options. * * @var array */ public $options; /** * @var PLL_Model */ public $model; /** * Theme name. * * @var string */ protected $theme; /** * Array of menu ids in a given language used when auto add pages to menus. * * @var int[] */ protected $auto_add_menus = array(); /** * Constructor: setups filters and actions. * * @since 1.7.7 * * @param object $polylang The Polylang object. */ public function __construct( &$polylang ) { $this->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' ) ); } } }
Save
cmd:
run