| Server IP : 216.250.13.251 / Your IP : 216.73.216.237 Web Server : nginx/1.24.0 System : Linux gunay 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64 User : root ( 0) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/gunay/wp-content/plugins/polylang/integrations/wp-importer/ |
Upload File : |
<?php
/**
* @package Polylang
*/
/**
* Manages the compatibility with WordPress Importer.
*
* @since 2.8
*/
class PLL_WordPress_Importer {
/**
* Setups filters.
*
* @since 2.8
*/
public function __construct() {
add_action( 'init', array( $this, 'maybe_wordpress_importer' ) );
add_filter( 'wp_import_terms', array( $this, 'wp_import_terms' ) );
}
/**
* If WordPress Importer is active, replace the wordpress_importer_init function.
*
* @since 1.2
*/
public function maybe_wordpress_importer() {
if ( defined( 'WP_LOAD_IMPORTERS' ) && class_exists( 'WP_Import' ) ) {
remove_action( 'admin_init', 'wordpress_importer_init' );
add_action( 'admin_init', array( $this, 'wordpress_importer_init' ) );
}
}
/**
* Loads our child class PLL_WP_Import instead of WP_Import.
*
* @since 1.2
*/
public function wordpress_importer_init() {
$class = new ReflectionClass( 'WP_Import' );
load_plugin_textdomain( 'wordpress-importer', false, basename( dirname( $class->getFileName() ) ) . '/languages' );
$GLOBALS['wp_import'] = new PLL_WP_Import();
register_importer( 'wordpress', 'WordPress', __( 'Import <strong>posts, pages, comments, custom fields, categories, and tags</strong> from a WordPress export file.', 'polylang' ), array( $GLOBALS['wp_import'], 'dispatch' ) ); // phpcs:ignore WordPress.WP.CapitalPDangit.Misspelled
}
/**
* Sets the flag when importing a language and the file has been exported with Polylang < 1.8.
*
* @since 1.8
*
* @param array $terms An array of arrays containing terms information form the WXR file.
* @return array
*/
public function wp_import_terms( $terms ) {
$languages = include POLYLANG_DIR . '/settings/languages.php';
foreach ( $terms as $key => $term ) {
if ( 'language' === $term['term_taxonomy'] ) {
$description = maybe_unserialize( $term['term_description'] );
if ( empty( $description['flag_code'] ) && isset( $languages[ $description['locale'] ] ) ) {
$description['flag_code'] = $languages[ $description['locale'] ]['flag'];
$terms[ $key ]['term_description'] = maybe_serialize( $description );
}
}
}
return $terms;
}
}