我正在运行最新的WordPress和qTranslate。我制作了一个页面,可以启用一些正常工作的自定义字段。
qTranslate在编辑页面时启用选项卡等语言。但这不会发生在我的自定义元字段中。有没有办法对这些领域进行语言控制?
如果有Javascript事件监听器告诉我用户更改了语言选项卡或其他什么,那就太好了。
我读过关于
<!--:ca-->CA<!--:--><!--:es-->ES<!--:--><!--:en-->EN<!--:-->
在meta字段中,但由于这将由最终用户使用,我相信他们不会理解这意味着什么以及如何使用它。我需要不同语言的不同元字段。有什么想法吗?
其次,我正在尝试:
<?php _e(\'Published \', \'iris\'); ?>
但是当我更改页面语言(qTranslate?lang=dk/?lang=en)时,它从不翻译这个词。不知怎么的,它总是用英语写的。我试过这个,这个很有效:
<?php echo _e("<!--:dk-->Udgivet<!--:en-->Published"); ?>
但它并没有真正使用语言库,我希望有一种方法:)
最合适的回答,由SO网友:brasofilo 整理而成
不太复杂的是使用插件的Quicktags并使用Gettext functions 打印网站中的内容
[:en]English[:pt]Português
Quicktags docs
另一种选择是像qTranslate界面处理帖子标题一样执行:
在元框中为每种语言创建一个自定义字段:
qTrans文档未合并,因此分析代码非常方便:http://plugins.svn.wordpress.org/qtranslate/trunk/qtranslate_utils.php 支持功能qtrans_getSortedLanguages
返回包含站点语言的数组:
array(
[0] => \'es\'
[1] => \'en\'
[2] => \'nl\'
[3] => \'fr\'
[4] => \'de\'
)
这可用于
insert jQuery elements 这将控制现有系统的可见性。以下只是一个概念教授,必须根据需要进行调整。
The result 是否在Page Attributes
显示/隐藏按钮的元框Preview
内部Publish
代谢箱
Code 对于上一个快照:
/**
* Inject jQuery Button to Control Some Element(s) Visibility
*/
add_action( \'admin_footer-post.php\', \'wpse_59056_inject_visibility_checkbox\' );
function wpse_59056_inject_visibility_checkbox()
{
global $current_screen;
// If not a Page, do nothing
if (
\'page\' != $current_screen->id
)
return;
?>
<script type="text/javascript">
jQuery(document).ready( function($)
{
// Define the Checkbox
var radioBtn = $(\'<input type="checkbox" name="rbtnCount" id="rbtnCount" /><label for="rbtnCount"> My Box Visibility</label>\');
// Append to the Page Attributes meta box
radioBtn.appendTo(\'#pageparentdiv .inside\');
// Mark it as checked
$(\'#rbtnCount\').attr(\'checked\', true);
// Watch its behavior
$(\'#rbtnCount\').change( function ()
{
// Show/Hide the "Preview" button inside the Publish meta box
if( $(this).is(\':checked\') )
{
$(\'#preview-action\').show();
}
else
{
$(\'#preview-action\').hide();
}
});
});
</script>
<?php
}
借助StackOverflow
Create dynamically radio button in jquery