首页 文章

Wordpress“PHP内部PHP” - 将qTranslate与Meta Box集成

提问于
浏览
0

对于网站(Wordpress),我想用着名的插件Meta Box显示日期,网站应该用英语和德语提供,插件qTranslate .

德语和英语日期格式不同:德语:dd.mm.y(31.12.16),英语:mm / dd / y(12/31/16) . 因此,要根据访问者选择的语言显示正确的格式,这两个插件需要一起工作 .

这是我在没有任何语言选项的情况下显示日期的方式:

<?php echo rwmb_meta( 'exhibition_meta_beginning' ); ?>

这就是我如何在帖子和页面内容之外的网站上显示翻译文本(如网站导航):

<?php _e("[:en]Current[:de]Aktuell[:]"); ?>

我现在的问题是,如何加入这两个功能 . 如果它有帮助,我可以将exhibition_meta_beginning分成exhibition_meta_beginning_DE和exhibition_meta_beginning_EN,这意味着我必须在创建新实例/帖子时输入两次,一个用德语输入,一个用英语格式输入 .

我还没有找到任何有用的东西 - 是的,有一些提及,并且有一些方法可以使用自定义字段(这是Meta Box的核心基础)和qTranslate,但似乎没有任何工作和我在PHP中的知识是最低限度的 .

元数据的日期(和时间)的输入字段在像这样的单独的PHP文件中定义(标准的Meta Box过程):

array(
        'name'      => 'Beginn der Ausstellung',
        'id'        => $prefix . 'beginn',
        'type'      => 'date',
        'format'    => 'dd.mm.y'
    ),

也没有将双语实现到那里的格式值(它认为它是日期的格式而不是语言标签时[:en] ...出现在那里),也不是像数据所在的部分那样的东西显示(抱歉业余尝试):

<?php __("[:en] echo rwmb_meta( 'exhibition_meta_beginn_EN' )[:de]echo rwmb_meta( 'exhibition_meta_beginn_DE' )[:]"); ?>

谢谢!

1 回答

  • 1

    你可以这样做,

    $en = rwmb_meta( 'exhibition_meta_beginn_EN' );
    $de = rwmb_meta( 'exhibition_meta_beginn_DE' );
    echo __('[:en]'.$en.'[:de]'.$de.'[:]');
    

    或者创建一个基于语言返回值的函数

    function __show_based_on_lang($en, $de) {
        return ( qtranxf_getLanguage() == 'en') ? $en : $de ;
    }
    

    然后使用你可以这样的功能,

    echo __show_based_on_lang( rwmb_meta( 'exhibition_meta_beginn_EN' ), rwmb_meta( 'exhibition_meta_beginn_DE' ) );
    

相关问题