Title: Fallback for posts
Last modified: August 30, 2016

---

# Fallback for posts

 *  [Tii](https://wordpress.org/support/users/tii/)
 * (@tii)
 * [10 years, 7 months ago](https://wordpress.org/support/topic/fallback-for-posts/)
 * Is it possible to use polylang for pages and custom posts but not for the posts?
 * I have a website in 4 languages and it’s too much work to work with a 4 language
   blog so we would like to only blog in english (the default language).
 * Would it be possible to have the blog in english and, for all other languages,
   polylang would get the content from the default language ?
 * [https://wordpress.org/plugins/polylang/](https://wordpress.org/plugins/polylang/)

Viewing 9 replies - 1 through 9 (of 9 total)

 *  Plugin Support [Chrystl](https://wordpress.org/support/users/chrystl/)
 * (@chrystl)
 * [10 years, 7 months ago](https://wordpress.org/support/topic/fallback-for-posts/#post-6715311)
 * Hi
    Did you try to add in your 4 languages menus your English Blog?
 *  Thread Starter [Tii](https://wordpress.org/support/users/tii/)
 * (@tii)
 * [10 years, 7 months ago](https://wordpress.org/support/topic/fallback-for-posts/#post-6715365)
 * the problem with that is that people will switch to english /en/blog which mean
   that they will need to re-change into their language afterwards.
 * It would be good if we could deactivate polylang for posts or have a fallback.
 *  Plugin Support [Chrystl](https://wordpress.org/support/users/chrystl/)
 * (@chrystl)
 * [10 years, 7 months ago](https://wordpress.org/support/topic/fallback-for-posts/#post-6715400)
 * > It would be good if we could deactivate polylang for posts
 * That’s not possible.
 * Otherwise you can duplicate your Blog to avoid to be redirected on the English
   site.
 *  Thread Starter [Tii](https://wordpress.org/support/users/tii/)
 * (@tii)
 * [10 years, 5 months ago](https://wordpress.org/support/topic/fallback-for-posts/#post-6715542)
 * I don’t believe it’s not possible and I have seen post with people asking for
   this and even a solution thru a plugin (that unfortunately only works for previous
   versions of polylang).
 * Polylang is really a great plugin but it’s really bad not to have the possibility
   to only use it for the post types we want and post is no exception.
 *  Plugin Support [Chrystl](https://wordpress.org/support/users/chrystl/)
 * (@chrystl)
 * [10 years, 5 months ago](https://wordpress.org/support/topic/fallback-for-posts/#post-6715543)
 * >  I have seen post with people asking for this and even a solution thru a plugin(
   > that unfortunately only works for previous versions of polylang).
 * Could you provide a link to this plugin?
 *  Thread Starter [Tii](https://wordpress.org/support/users/tii/)
 * (@tii)
 * [10 years, 5 months ago](https://wordpress.org/support/topic/fallback-for-posts/#post-6715544)
 * I found the thread, it’s not about disabling the translation for the post but
   instead, showing a post in all languages.
 * [https://wordpress.org/support/topic/plugin-polylang-all-languages-option-for-posts-and-pages?replies=39](https://wordpress.org/support/topic/plugin-polylang-all-languages-option-for-posts-and-pages?replies=39)
 * Anyway, I managed to do it with this simple code :
 *     ```
       /**
        * This Code will disable polylang for post
        *
        *  = Unilang blog with multilang pages
        *
        * !! if your post have already been localized,
        * you must delete the term_relationship to the language
        * else the permalink will be broken
        */
   
       /**
        * Disable the categories and post tags translations
        */
       add_filter('pll_get_taxonomies', 'tii_remove_taxonomies');
       function tii_remove_taxonomies($taxonomies) {
           unset($taxonomies['category'], $taxonomies['post_tag']);
           return $taxonomies;
       }
       /**
        * Disable the post translations
        */
       add_filter('pll_get_post_types', 'tii_pll_get_post_types');
       function tii_pll_get_post_types($types) {
           unset ($types['post']); // you have to replace my-cpt by the name of your custom post type
           return $types;
       }
       /**
        * If wordpress query a post,
        * remove the taxonomy filter for the language
        * allowing to show all posts
        *
        * @param $query
        */
       function tii_pll_exclude_category( $query ) {
           if (( !isset($query->query_vars['post_type']) || $query->query_vars['post_type'] === 'post') && (!isset($query->queried_object->post_type) || $query->queried_object->post_type === 'post') ) {
               if (isset($query->query_vars['tax_query'])) {
                   foreach ($query->query_vars['tax_query'] as $k => $tax_query) {
                       if ($tax_query['taxonomy'] === 'language') {
                           unset($query->query_vars['tax_query'][$k]);
                       }
                   }
               }
           }
       }
       add_action( 'pre_get_posts', 'tii_pll_exclude_category' );
       ```
   
 *  [agmartin](https://wordpress.org/support/users/agmartin/)
 * (@agmartin)
 * [9 years, 8 months ago](https://wordpress.org/support/topic/fallback-for-posts/#post-8275458)
 * Thanks a lot for the code,
 * I find an still pending issue, when using the archives widget from a page in 
   the second language (en) I am sent to a link that still has the $lang part
 * index.php/en/2016/10/
 * thus failing.
 * Language is set from content, URL language is removed for default language and
   and “language” string is removed from pretty permalinks. Default language is 
   Spanish, second language is English
 *  Thread Starter [Tii](https://wordpress.org/support/users/tii/)
 * (@tii)
 * [9 years, 8 months ago](https://wordpress.org/support/topic/fallback-for-posts/#post-8275478)
 * Hey agmartin,
 * The code I provided does not manage the archive pages. In the function tii_pll_exclude_category,
   my “filter” only applies when the system query a ‘post’ :
 * `$query->query_vars['post_type'] === 'post'`
 * So you should add a condition for your archive page, maybe the is_archive() function
   but then it could apply to any archive so you might have to search for the solution
   a little.
 * If you find a way, I’m also interested to know, so would be nice too share it,
   maybe I’ll make a plugin out of it.
 * Good luck
 *  [agmartin](https://wordpress.org/support/users/agmartin/)
 * (@agmartin)
 * [9 years, 8 months ago](https://wordpress.org/support/topic/fallback-for-posts/#post-8291330)
 * Hi, thanks for the reply,
 * I have been actually looking inside Polylang code in case I could find an obvious
   place where that change is done, but I had no success. I am pretty new to PHP
   and WordPress, so nothing strange about that, I may have been looking at the 
   relevant code without noticing.
 * I then noticed that wordpress `wp_get-archives()` function uses `get_archives_link()`
   to create the link and that a filter hook of the same name could be used to modify
   the url, so looked for usage info, tried that and seemed to work.
 * Here goes a rather hackish but apparently working code for this particular case,
 *     ```
       // Archives widget still points to ../index.php/$lang/.. link. Remove $lang.
       add_filter( 'get_archives_link', 'amd_remove_lang_archives_link');
       function amd_remove_lang_archives_link ($html){
           // Just in case, don't run on admin side
           if ( !is_admin() && function_exists('pll_current_language') ) {
               $curlang = pll_current_language();
               $html = str_replace( '/index.php/'. $curlang . '/', '/index.php/', $html );
           }
           return $html;
       }
       ```
   
 * I also noticed a couple of additional issues, adding info about them in case 
   someone finds a workaround.
 * One minor issue that I find still pending is the recent comments widget, which
   does not show posts comments when used together with a translated page.
 * Another issue that I’d expect hard to address is the similar behavior of the 
   search widget. When used together with a translated widget will only look in 
   the translated language, although all posts are in the default language.
 * Regards,

Viewing 9 replies - 1 through 9 (of 9 total)

The topic ‘Fallback for posts’ is closed to new replies.

 * ![](https://ps.w.org/polylang/assets/icon-256x256.png?rev=3433336)
 * [Polylang](https://wordpress.org/plugins/polylang/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/polylang/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/polylang/)
 * [Active Topics](https://wordpress.org/support/plugin/polylang/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/polylang/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/polylang/reviews/)

 * 9 replies
 * 3 participants
 * Last reply from: [agmartin](https://wordpress.org/support/users/agmartin/)
 * Last activity: [9 years, 8 months ago](https://wordpress.org/support/topic/fallback-for-posts/#post-8291330)
 * Status: not resolved