WordPress should add a column at wp_terms table

  • Author
  • #1384496


    WordPress should add a column at wp_terms table

    WordPress has a native problem on Multi-Language Support.

    What I mean? Let me give you an example.

    If you will like to create a Multilanguage site and use following permalink, you will get an answer NO.

    “www.xxx.com/products/apples/fuji/” for English page and
    “www.xxx.com/products/apples/fuji/jp/” for Japanese.

    You have to changes the second one into something like

    “www.xxx.com/products-jp/apples-jp/fuji/jp/” for Japanese.

    If you want to French, fine. But you can not use the permalink like

    “www.xxx.com/products/apples/fuji/fr/” for French.

    You may need to change the permalink into

    “www.xxx.com/products-3/apples-3/fuji-3/fr/” for French or
    “www.xxx.com/products-fr/apples-fr/fuji/fr/” for French.

    It looks very ugly isn’t it? At least, it looks very massy.
    The reason is that WordPress is a kind of REST web-style design. All parts in Permalink is for GET commend to retrieve data. Unfortunately, WordPress use each item in a permalink as a solo condition to query data from MySQL.
    “SELECT name from wp_terms WHERE slug = apples ”.

    If you working on Multi-language and want to use “apple” for all of different languages, WordPress will don’t know which one is for which. So, you must to change apple into something for different languages. “apples-2” for Japanese, “apples-fr” for French. It can solve WP’s query problem but will cause another problem. What means of “apple-2” or “apple fr” for readers, does it mean you have two categories of apples or the Fuji apple produced in French?

    Maybe WP designers will say that you can use the native language to assign the name of slug. It may be good for Latin language, but it is a disaster for Asian language.

    If you assign the name of “苹果” in Chinese. The slug will become “%e6%9c%aa%e5%88%86%e7%b1%bb” after sanitize call. Even worse, WP will don’t know how to query this slug. Now the web developers have to change them in the wp_terms table of Database and Permalinks manually. Otherwise, the core codes of WP has been modified that will cause a upgrade problem.

    Here, I strongly suggest WP to add a column into wp_terms for multi- language support, and use two conditions to retrieve a catagory name from wp_terms Such like

    “SELECT name from wp_terms WHERE slug = ‘apples’ AND lang=’fr’”.

    Then, all application developers can use

    “www.xxx.com/products/apples/fuji/yy/” or


    (yy can be zh_cn, jp, fr) in their multi-language website.

    It is my penny.

    Best regards!


    The blog I need help with is xuchen88.wordpress.com.



    I’ll tag this thread for Staff attention. Please subscribe to the thread so you are notified when they respond and please be patient while waiting.



    Thanks, Timethief!

    Time thief? Interesting.

    I think wp-post table has a similar problem. It will add a “lang” column in the wp_posts table, too.

    You must have lots of time in a day. Have a nice day.





    Having twice been at death’s door and in remission I chose this username before the punks born after 1980 invented a new connotation for it.

The topic ‘WordPress should add a column at wp_terms table’ is closed to new replies.