/
home
/
techb158
/
dev.aleamaralawal.com
/
wp-content
/
plugins
/
polylang
/
src
/
/home/techb158/dev.aleamaralawal.com/wp-content/plugins/polylang/src
mkdir
upload
Name
Size
Mode
Actions
admin/
-
0755
rm
Capabilities/
-
0755
rm
frontend/
-
0755
rm
install/
-
0755
rm
integrations/
-
0755
rm
Model/
-
0755
rm
modules/
-
0755
rm
Options/
-
0755
rm
settings/
-
0755
rm
api.php
22291
0644
edit
dl
rm
base.php
6259
0644
edit
dl
rm
cache.php
2454
0644
edit
dl
rm
class-polylang.php
8537
0644
edit
dl
rm
constant-functions.php
1853
0644
edit
dl
rm
cookie.php
3104
0644
edit
dl
rm
crud-posts.php
13129
0644
edit
dl
rm
crud-terms.php
8962
0644
edit
dl
rm
default-term.php
6595
0644
edit
dl
rm
filter-rest-routes.php
5100
0644
edit
dl
rm
filters-links.php
5780
0644
edit
dl
rm
filters-sanitization.php
3311
0644
edit
dl
rm
filters-widgets-options.php
2697
0644
edit
dl
rm
filters.php
13248
0644
edit
dl
rm
format-util.php
3114
0644
edit
dl
rm
functions.php
5264
0644
edit
dl
rm
language-deprecated.php
7296
0644
edit
dl
rm
language-factory.php
9630
0644
edit
dl
rm
language.php
18327
0644
edit
dl
rm
license.php
9620
0644
edit
dl
rm
links-abstract-domain.php
3240
0644
edit
dl
rm
links-default.php
3100
0644
edit
dl
rm
links-directory.php
9726
0644
edit
dl
rm
links-domain.php
2980
0644
edit
dl
rm
links-model.php
6678
0644
edit
dl
rm
links-permalinks.php
5753
0644
edit
dl
rm
links-subdomain.php
2209
0644
edit
dl
rm
links.php
1415
0644
edit
dl
rm
mo.php
3504
0644
edit
dl
rm
model.php
23508
0644
edit
dl
rm
nav-menu.php
4609
0644
edit
dl
rm
olt-manager.php
3056
0644
edit
dl
rm
query.php
7913
0644
edit
dl
rm
rest-request.php
4325
0644
edit
dl
rm
static-pages.php
6418
0644
edit
dl
rm
switcher.php
11237
0644
edit
dl
rm
term-slug.php
5012
0644
edit
dl
rm
translatable-object-with-types-interface.php
1055
0644
edit
dl
rm
translatable-object-with-types-trait.php
2005
0644
edit
dl
rm
translatable-object.php
18042
0644
edit
dl
rm
translatable-objects.php
3799
0644
edit
dl
rm
translate-option.php
13417
0644
edit
dl
rm
translated-object.php
19388
0644
edit
dl
rm
translated-post.php
17586
0644
edit
dl
rm
translated-term.php
15171
0644
edit
dl
rm
walker-dropdown.php
3857
0644
edit
dl
rm
walker-list.php
2602
0644
edit
dl
rm
walker.php
2434
0644
edit
dl
rm
widget-calendar.php
11858
0644
edit
dl
rm
widget-languages.php
5466
0644
edit
dl
rm
Edit:
/home/techb158/dev.aleamaralawal.com/wp-content/plugins/polylang/src/nav-menu.php
(4609B)
<?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 \WP_Syntex\Polylang\Options\Options */ 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 PLL_Base $polylang The Polylang object. * @param-out PLL_Base $polylang */ public function __construct( PLL_Base &$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