性价比最高的香港ASP、PHP主机提供商
做网站,就上凡科建站

获取多站/多语种 ( 基于 WPML ) WordPress 网站当前的语种

Loading
0
Comodo SLL证书促销 - 免费ssl证书申请_ssl证书购买_ev ssl证书_https证书购买 - GDCA_数安时代

某项目需要获取当前网站的语种(基于 WPML 的多语种网站),如果仅仅是 WPML 的话,使用其定义的常量 ICL_LANGUAGE_CODE 即可获取当前的语种代码,问题是如果 WPML 未启用呢?网站架构是多站呢?度娘和谷哥都没给出答案,看来不能偷懒了。

作用与用途在说明中已经说的够清楚了!这里就不再多说啥了。

How to get the  wordpress current languange attribute? the answer is here!

Getting the current language attribute of your wordpress website based on WPML or none,compatible with multi-site architecture.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
 *作用:返回基于WPML的多语种网站当前的语种,如果WPML未启用,则返回其默认语种的code,兼容多站;
 *用法:
 *$get_lang_attr = new GET_LANG_ATTR();
 *$get_lang_attr=$get_lang_attr->cwp_get_current_lang_attribute();
 *echo $get_lang_attr;
 *作者:suifentgec 
 */
class GET_LANG_ATTR{
    public function is_someone_plugin_activated($plugin_name){
        $plugin_name=trim($plugin_name);
        if(!empty($plugin_name)){
            $active_plugins = (array) get_option( 'active_plugins', array() );
            if ( is_multisite() )
                $active_plugins = array_merge( $active_plugins, get_site_option( 'active_sitewide_plugins', array() ) );
            foreach ( $active_plugins as $plugin )
                if ( strpos( $plugin, $plugin_name ) ) return true;
            return false;
        }else{
            return false;
        }
    }
    public function cwp_get_current_lang_attribute(){
        $is_wpml_activated=$this->is_someone_plugin_activated('/sitepress.php');
        if($is_wpml_activated){
            global $sitepress;
            $languge_attribute=$sitepress->get_current_language();
        }else{
            $languge_attribute=get_bloginfo( 'language' );
        }
        return $languge_attribute;
    }
}
沃鹏科技 - 专业的WordPress建站服务平台

关于 coolwp.net

只要是地产商拥护的,我们都反对,除了世界和平与宇宙和谐,但他们貌似就是为了破坏这些为生的。

4 条评论

  1. 请问有设置获取访问者的ip来判定访问者的国家,让网站自动展示某一国家的语言呢?

  2. 请问下怎么在文章页里添加个链接,点击这个链接可以下载指定的附件(excel)?

发表评论