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

回到家里,妈妈满脸期待的说: "照片呢? "我说: "包里。 "妈妈打开包,拿出照相机,说: "夕阳这么美啊!看来下次我也要去。 "我说: "也行,只要您不怕冷。 "看到妈妈脸气的那么红,我和爸爸都笑了。

某项目需要获取当前网站的语种(基于 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;
    }
}

/** *作用:返回基于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; } }

本文获取多站/多语种 ( 基于 WPML ) WordPress 网站当前的语种到此结束。脆弱的人,只懂得怜悯自已,而不知道反省自已。小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
WordPress站点Gravatar头像前后台不显示的如何解决办法

WordPress主题需要支持https吗?WordPress站点如何如何实现https?

WordPress站点的页面/标签/分类URL地址如何添加.html?

WordPress站点更换了域名后数据库应该如何操作替换新旧域名?

WordPress安装在主机空间的什么目录里面?根目录在哪里?