Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- Plugin Name: Frontend in English
- Description: Admin is displayed in the installed language, but the rest of the site is shown in default English
- Version: 0.001
- Author: Nikolay Bachiyski, Dero
- Author URI: http://nikolay.bg/
- Tags: translation, translations, i18n, admin, english, localization, backend
- */
- function frontend_in_english_add_hooks() {
- add_filter( 'locale', 'frontend_in_english_locale' );
- }
- add_action( 'plugins_loaded', 'frontend_in_english_add_hooks' );
- function frontend_in_english_locale( $locale ) {
- if ( frontend_in_english_should_use_english() ) {
- return 'en_US';
- }
- return $locale;
- }
- function frontend_in_english_should_use_english() {
- // frontend AJAX calls are mistakend for admin calls, because the endpoint is wp-admin/admin-ajax.php
- return frontend_in_english_is_frontend() || frontend_in_english_is_frontend_ajax();
- }
- function frontend_in_english_is_frontend() {
- return
- ! is_admin() && ! frontend_in_english_is_tiny_mce() && ! frontend_in_english_is_login_page();
- }
- function frontend_in_english_is_frontend_ajax() {
- return defined( 'DOING_AJAX' ) && DOING_AJAX && false === strpos( wp_get_referer(), '/wp-admin/' );
- }
- function frontend_in_english_is_tiny_mce() {
- return false !== strpos( $_SERVER['REQUEST_URI'], '/wp-includes/js/tinymce/');
- }
- function frontend_in_english_is_login_page() {
- return false !== strpos( $_SERVER['REQUEST_URI'], '/wp-login.php' );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement