wpml-config.xmlWPML 中文件的确切用途是什么?特别是如果我启用了翻译管理和字符串翻译加载项?使用那些我只扫描主题的插件,插件会找到所有可翻译的字符串,然后我就可以翻译它们了。而且我在翻译页面时会复制页面等。
那么该.xml文件的确切目的是什么?我有点不解:\
教育编辑
在使用wpml进行更多工作之后,我还发现,如果创建了一个版权文本,该文本将显示在定制器的页脚中,那么使用wpml转换该文本的唯一方法就是使用wpml-config.xml文件。因此,基本上,对于主题中任何基于文本的输入字段,您都需要向wpml指定它可以是可翻译文本。您可以这样:
<wpml-config>
<admin-texts>
<key name="blogname" />
<key name="blogdescription" />
<key name="theme_mods_language_textdomain">
<key name="copyright" />
</key>
</admin-texts>
</wpml-config>
Run Code Online (Sandbox Code Playgroud)
您需要在其中指定语言textdomain的地方(或主题名称,目前还不确定100%)。在内部定位具有输入字段(个'type' => 'text'字段)的设置名称。
我确认可以对在前端输出内容的元框进行相同的操作,但是您需要在中使用其他标签.xml。
有可能在jQuery中实现wordpress function(_e)来用WPML翻译字符串吗?我想用jQuery在一些div中放入一些文本,并能够用WPML翻译这个字符串.
$('#MyDiv').html(<?php _e('Text to translate', 'woocommerce'); ?>);
Run Code Online (Sandbox Code Playgroud)
它没有用,有什么办法吗?提前致谢
[回答]
@Mukesh Ram,谢谢你的回答,但我不太了解,就像我有这个代码的方式;
$(function() {
var left = 35,
$engraved = $('#MyDiv');
$engraved.closest('li').append('<span id="engraved_counter"></span>');
$('#engraved_counter').html("<?php __('Text to translate', 'woocommerce'); ?> <strong>" + left + "</strong>");
$engraved.keyup(function () {
left = 35 - $(this).val().length;
if(left < 0){
$('#engraved_counter').addClass("overlimit");
left = 0;
}if(left >= 0){
$('#engraved_counter').removeClass("overlimit");
}
$('#engraved_counter').html("<?php __('Text to translate', 'woocommerce'); ?> <strong>" + left + "</strong>");
});
});
Run Code Online (Sandbox Code Playgroud)
你能告诉我,我怎么能实现你给我的代码?
$translation_array = array( 'some_string' => __( 'Some string to translate' …Run Code Online (Sandbox Code Playgroud) 嗨,我正在使用 Timber,它曾经很简单
_e('string', 'theme')
Run Code Online (Sandbox Code Playgroud)
用 WPML 翻译字符串,似乎没有在木材上工作关于如何翻译字符串的任何想法?
我尝试了以下方法,但没有任何效果
{{ _e('string') }} & {{ _('string') }}
{{ _e('string', 'theme') }}
{{ function("icl_translate", 'theme', 'string_identifier', 'string) }}
{{ dump(ICL_LANGUAGE_CODE) }} // Doesn't return anything, so not an option either
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有一个连接到save_post动作的方法,WPML被用作翻译插件,我试图找到一种方法,一旦添加了翻译,点击发布并触发save_post方法以了解原始帖子的ID.
到目前为止,我发现这只能在帖子已经发布并触发更新时才能完成.为此,方法icl_object_id($ translated_post_id,'post',false,'en' - >英语是始终在其中创建原始帖子的语言);
请参阅评论MSG以在上下文中查看上述内容.
function my_project_updated_send_email( $post_id, $post, $update ){
if ( 'publish' == get_post_status( $post_id ) && 'events' == get_post_type($post)) {
if(ICL_LANGUAGE_CODE == 'en'){
// Shortened - Everything works fine
}elseif (ICL_LANGUAGE_CODE == 'it'){
//Get English Language Post ID
$id = icl_object_id($post_id,'post',false,'en');
//MSG: $id returns empty on publish, but returns fine on update
$event_id = get_field('event_id', $id);
if($event_id == ""){
// Shortened - Everything works fine
}
}
}
}
add_action( 'save_post', 'my_project_updated_send_email', 10, 3);
Run Code Online (Sandbox Code Playgroud) wordpress wordpress-theming custom-post-type wpml advanced-custom-fields
无论我是在法语版还是英语版的页面上使用它,wp_query() 都会返回所有语言的自定义帖子类型,而不仅仅是当前的。Get_posts() 也做同样的事情。
当我访问我的法语页面时,我希望他们只返回当前语言的 CPT。如何做到这一点?
在我的 WooCommerce 网上商店中,我想将“返回商店” URL 更改为自定义 URL。我尝试在活动主题的文件中使用下面的代码function.php,但它不起作用。
在我的网站上,我有五种由WPML商业插件管理的活动语言。它还运行一个脚本,确保来自这些国家/地区的访问者被重定向到他们自己的语言。
/**
* Changes Return to Shop button URL on Cart page.
*
*/
function wc_empty_cart_redirect_url() {
return 'http://pacsymposium.com/';
}
add_filter( 'woocommerce_return_to_shop_redirect', 'wc_empty_cart_redirect_url' );
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它工作以获得当前的语言商店链接?
谢谢。
阿拉伯slu ur的网址将在iis windows服务器上运行404,并在apache服务器上运行良好.
当我在网址上有阿拉伯语时 /ar/product-categories/?????/
它将重定向到404,当我将slug编辑成英文时它正在工作
我安装了多语言的wpml
我的wordpress版本是4.3.2 php版本是5.4.24
任何人都可以帮我解决这个问题吗?任何帮助将不胜感激.
当我尝试删除重力形式优惠券提要时,我收到此 WordPress 错误:
A variable mismatch has been detected.
Run Code Online (Sandbox Code Playgroud)
注意:我正在动态创建提要 (PHP)。
我尝试使用所有调试插件对其进行调试并启用所有调试标志,但我不明白为什么以及是什么导致了这种情况?
有人可以解释一下为什么可能是原因以及为什么会触发此错误吗?
我在我的网站上使用 WPML,我正在使用ICL_LANGUAGE_CODE==来根据语言更改一个模板中显示的内容。目前,如果语言是英语,则显示某些内容,如果是任何其他语言,则不显示任何内容。我想更改逻辑,以便内容以英语或西班牙语显示,所以我更改了:
( ICL_LANGUAGE_CODE=='en' )
Run Code Online (Sandbox Code Playgroud)
到:
( ICL_LANGUAGE_CODE==('en' or 'es') .
这不起作用 - 它打印每种语言的内容,而不仅仅是英语和西班牙语。我尝试将 the 添加( ICL_LANGUAGE_CODE=='es' )为 elseif 语句,但这也不起作用。我想知道我的一些基本语法在原始代码中是否有误 - 见下文。关于我做错了什么的任何想法?
if ( ICL_LANGUAGE_CODE=='en' ) {?>
<?php do_action( 'tt_single_property_content_before' ); ?>
<?php echo apply_filters( 'the_content', get_post_field( 'post_content', $single_property_id ) ); ?>
<?php do_action( 'tt_single_property_content_after' ); ?>
</section>
<?php} else { }
Run Code Online (Sandbox Code Playgroud) 我正在尝试更改特定产品类别页面的模板,但我一生都无法让它发挥作用。我尝试过 Taxonomy-product_cat-the-category 但无济于事。我正在使用 wpml 和 3 种不同语言的类别,如果这有什么区别的话。我已经尝试过 3 种语言中的每一种的 slugs,但仍然不起作用。不明白是什么原因造成的。
我正在使用 WPML,需要自定义搜索查询(wordpress 的默认搜索在我的情况下不起作用)。假设我的查询是:
"SELECT * FROM wp_posts WHERE post_title LIKE %s% AND [WPML_CURRENT_LANGUAGE_CONDITION]";
请帮我检查一下我应该关心哪张桌子。
谢谢!
wpml ×11
wordpress ×10
php ×5
woocommerce ×2
gravityforms ×1
jquery ×1
localization ×1
multilingual ×1
plugins ×1
server ×1
timber ×1
translation ×1
twig ×1
windows ×1
xml ×1