标签: wpml

隐藏语言WPML

我使用的是WPML语言,无法为下一步找到解决方案:

在语言切换器上我想隐藏语言,比如说 - "他",如果当前语言可以说例如"ar",那么当我们在阿拉伯语网站上我们不会在选择器上看到希伯来语,同样的事情如果我们用希伯来语,阿拉伯语就不会显示出来.

缩短词语:我想要的是 - 如果我们在阿拉伯语网站上 - 希伯来语旗帜将被隐藏.

我尝试了什么:

function language_selector_flags(){
    $languages = icl_get_languages('skip_missing=0');
    if(!empty($languages)){
       if(ICL_LANGUAGE_CODE=='en') 
       {
$order = array('ar'); //Specify your sort order here
       }
elseif(ICL_LANGUAGE_CODE=='he')
{
$order = array('en', 'ar'); //Specify your sort order here
}

        foreach ($order as $l) {
            if (isset($languages[$l])) {
                $l = $languages[$l]; //grab this language from the unsorted array that is returned by icl_get_languages()

                //Display whatever way you want -- I'm just displaying flags in anchors  (CSS: a {float:left; display:block;width:18px;height:12px;margin:0 …
Run Code Online (Sandbox Code Playgroud)

php wordpress wpml

14
推荐指数
2
解决办法
3010
查看次数

WPML和自定义帖子类型归档模板

我在WordPress 3.8.1中使用WPML 3.0.2-a

我有一个像这样定义的自定义帖子类型:

function add_custom_posts(){
    $args = array(
            'labels' => array(
                    'name' => __( 'Showcases' ),
                    'singular_name' => __( 'Showcases' ),
                    'add_new_item' => __( 'Add New Showcase'),
                    'edit_item' => __( 'Edit Showcases' ),
                    'view_item' => __( 'View Showcase' ),
                    'search_items' => __( 'Search Showcases' ),
                    'not_found' => __( 'No Showcases found.' ),
                    'not_found_in_trash' => __( 'No Showcases found in Trash.' )
            ),
            'public' => true,
            'has_archive' => 'case-studies',
            'menu_position' => 5,
            'taxonomies' => array('post_tag'),
            'supports' => array( 'title', 'thumbnail', …
Run Code Online (Sandbox Code Playgroud)

php wordpress custom-post-type wpml

13
推荐指数
2
解决办法
2875
查看次数

调用未定义的方法 WP_Textdomain_Registry::reset()

我的 WordPress 网站已损坏,仅显示以下错误消息:

Fatal error: Uncaught Error: Call to undefined method WP_Textdomain_Registry::reset() in /var/www/htdocs/wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LanguageSwitch.php:139
Stack trace:
#0 /var/www/htdocs/wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LanguageSwitch.php(119): WPML\ST\MO\Hooks\LanguageSwitch->resetTranslationAvailabilityInformation()
#1 /var/www/htdocs/wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LanguageSwitch.php(73): WPML\ST\MO\Hooks\LanguageSwitch->changeMoObjects('view-subscripti...')
#2 /var/www/htdocs/wp-content/plugins/wpml-string-translation/classes/TranslateWpmlString.php(167): WPML\ST\MO\Hooks\LanguageSwitch->switchToLocale('view-subscripti...')
#3 /var/www/htdocs/wp-content/plugins/wpml-string-translation/classes/TranslateWpmlString.php(109): WPML\ST\Trans in /var/www/htdocs/wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LanguageSwitch.php on line 139
Run Code Online (Sandbox Code Playgroud)

我只能在将“.disabled”添加到插件文件夹(wpml-string-translation)名称后才能访问该网站,但这会禁用该插件,并且该网站需要它才能工作。

php wordpress wpml

12
推荐指数
2
解决办法
1万
查看次数

无法在WPML中翻译一个自定义帖子类型slug

我在WPML论坛上提出了这个问题,但希望有人能够提供帮助.

我正在尝试将slug翻译为自定义帖子类型

英文网址是http://brigade-electronics.com/nl/products/backeye360/

翻译的URL应为http://brigade-electronics.com/nl/producten/backeye360/

相反,在启用translate slug选项后导航到URL时出现404错误

复制问题的步骤:

  • 单击"WPML" - >"翻译选项"
  • 启用翻译自定义帖子slugs(通过WPML字符串翻译).
  • 在自定义帖子设置下(在同一页面上)单击翻译复选框
  • 添加了每种语言的翻译slug
  • 点击保存
  • 导航到前端,仅在产品部分看到404错误.

我已在故障排除页面中运行所有选项,以清理数据库.

这似乎只适用于产品部分中的某些页面.最奇怪的部分是网站的加拿大部分,因为术语"产品"是英文的,因此无论是否有翻译的slu,URL都保持不变,但是,我仍然在这些页面上得到404错误.

值得注意的是,所有其他自定义帖子类型都可以正常工作.

自定义帖子类型已以标准方式注册

function register_products_post_type() {

    $labels = array(
        'name' => __( 'Products', '' ),
        'singular_name' => __( 'Product', '' )
    );

    $args = array(
        'label' => __( 'Products', '' ),
        'labels' => $labels,
        'description' => '',
        'public' => true,
        'publicly_queryable' => true,
        'show_ui' => true,
        'show_in_rest' => false,
        'rest_base' => '',
        'has_archive' => false,
        'show_in_menu' => true,
        'exclude_from_search' => false,
        'capability_type' …
Run Code Online (Sandbox Code Playgroud)

php wordpress wpml

9
推荐指数
1
解决办法
793
查看次数

当使用其他语言更新同一转发器字段的值时,ACF 转发器字段中的值是否为空?

我有一个使用三种语言的站点,当我编辑其中一种语言的转发器字段时,其他语言的转发器字段的值变为空。这仅适用于站点中的某些转发器字段。

php wordpress wpml advanced-custom-fields

8
推荐指数
1
解决办法
218
查看次数

为什么字符串不出现在WPML的"字符串翻译"中?

我有我的php文件字​​符串,如下所示:

<?php
__('My string A', 'a_theme');
_e('My string B', 'a_theme');
?>
Run Code Online (Sandbox Code Playgroud)

并且没有出现在"字符串翻译"中.

我还购买并安装了这个主题:http : //preview.ait-themes.com/index.php?bartype=desktop& theme= touroperator和该主题的字符串也不会出现在WPML的"字符串翻译"中.

这是我安装时已经在主题中的字符串的一个示例:

<input type="text" id="dir-searchinput-location" class="dir-searchinput-select" placeholder="{__ 'Destination'}">
Run Code Online (Sandbox Code Playgroud)

是否有一些我需要做的额外配置或其他什么?

感谢帮助

wordpress wpml

7
推荐指数
1
解决办法
1万
查看次数

Wordpress,重定向和WPML

我有一个全新的wordpress安装,我在我的functions.php中写了一些快速重写规则,看起来像这样 -

//  "rewrite" /assets/xyz to /assets/?asset=xyz

function assets_rewrite_rule($rules) {
   global $wp_rewrite;
   $asset_rule = array( // (not tested)
     'assets/(.+)/?' => 'index.php?pagename=Assets&asset=$matches[1]'
   );
   return array_merge($asset_rule, $rules);
}
add_filter('page_rewrite_rules', 'assets_rewrite_rules');
Run Code Online (Sandbox Code Playgroud)

我用最原始的方式将我的侧边栏翻译成WPML和字符串翻译.

这是我的侧边栏的英文部分(未翻译) -

<div class="sideall"> 
<div class="sidebar-mai1"> 
<div class="sidebar-name">
<img style="width: 25px; margin-right: 10px; margin-bottom: -7px;" title="first asset" src="/wp-content/images/sidbar-assets/firstasset.png" alt="first asset" />First Asset</div> 
<div class="sidebar-btn">
<a class="btn-sidebar" href="/assets/first-asset/">Review</a>
<a class="btn-sidebar1" href="/buy/first-asset">Trade Now!</a></div> 
<div style="clear: both;"></div> 
</div>
Run Code Online (Sandbox Code Playgroud)

在尝试翻译其他语言时(比如说意大利语),wpml拒绝将我的更改保存到评论链接.就像我的重定向规则以某种方式影响它一样.

这是我添加到侧边栏的翻译 -

<div class="sideall"> 
<div class="sidebar-mai1"> 
<div class="sidebar-name">
<img style="width: 25px; margin-right: 10px; margin-bottom: -7px;" …
Run Code Online (Sandbox Code Playgroud)

php wordpress wpml

7
推荐指数
1
解决办法
168
查看次数

在加载时覆盖WordPress插件转换文件

我正在使用带有插件The Events Calendar的法语WordPress .

这个插件附带一个捆绑的法语翻译,但它有一些错误.我想修复它们但更换原始文件是一个坏主意,因为它将被下一次更新所取代.我联系了开发人员提交修复程序但可能需要一些时间.

在此期间,我想从我的模板目录加载一个副本.我已经尝试过多种方式:

load_plugin_textdomain( 'tribe-events-calendar', get_template_directory() . '/languages' );
Run Code Online (Sandbox Code Playgroud)

或者

add_filter('override_load_textdomain', …)
Run Code Online (Sandbox Code Playgroud)

在我的functions.php中,但它似乎不起作用.我唯一能做的就是禁用原始翻译文件的加载.

有没有办法在加载时替换插件转换文件?我也使用WPML,但在"Translate with .mo files"模式中没有"Translate with WPML",所以我无法动态更改插件翻译.也许WPML可以加载我自己的事件日历翻译?

wordpress wordpress-plugin wpml

6
推荐指数
2
解决办法
3874
查看次数

WPML - 在另一个插件中获取当前语言

我试图通过ICL_LANGUAGE_CODE我的插件获取当前的语言代码,但我不能,它没有定义,这是这个的结果

echo "Code: ".ICL_LANGUAGE_CODE;
Run Code Online (Sandbox Code Playgroud)

Code: ICL_LANGUAGE_NAME
Run Code Online (Sandbox Code Playgroud)

当我尝试以下操作时

global $sitepress;
$current_language = $sitepress->get_current_language();
echo "Code:". $current_language ;
Run Code Online (Sandbox Code Playgroud)

我得到空白屏幕。

我不知道通过什么方式可以得到它。

在主题functions.php 中一切正常。谢谢。

wordpress wpml

5
推荐指数
2
解决办法
2万
查看次数

WordPress插件翻译-load_plugin_textdomain

我正在使用自定义Wordpress插件,但无法将其准备为多语言。

它确实正确加载了主要语言的.mo文件,但是在切换语言(使用WPML)时,它始终显示主要语言(在这种情况下为德语)的翻译。因此,当我使用英语时,它仍会显示德语翻译。

这是我的代码:

在标题中:

/*
Plugin Name: MM Jobs
Plugin URI: http://example.com/
Description: Custom Jobs Plugin to create new Jobs
Version: 1.3.84
Author: Jekey
Author URI: http://example.com/
Text Domain: mm-jobs
Domain Path: /languages
*/
Run Code Online (Sandbox Code Playgroud)

然后:

function mm_jobs_plugins_loaded() {
        load_plugin_textdomain( 'mm-jobs', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
    }
    add_action( 'plugins_loaded', 'mm_jobs_plugins_loaded', 0 );
Run Code Online (Sandbox Code Playgroud)

.mo文件正确,因为它已经加载了德语翻译。命名为:/ plugins / mm-jobs / languages /下的mm-jobs-zh_CN.mo或mm-jobs-de_DE.mo

您知道导致问题的原因是什么?

wordpress plugins wpml

5
推荐指数
1
解决办法
1432
查看次数