У меня есть несколько полей на сайте свойств, захватывая ценность на английском языке и в зависимости от значения, переводя его (если выбран другой язык, отличный от английского).
Этот фрагмент кода отлично работает:
<?php if(get_post_meta($post->ID,'prop_parking',true) && $prop_parking): $prop_parking_meta = get_post_meta($post->ID,'prop_parking',true); if ($prop_parking_meta == 'Yes') { $prop_parking_meta = '<!--:en-->Yes<!--:--><!--:es-->Sí<!--:--><!--:ru-->да<!--:-->'; } elseif ($prop_parking_meta == 'No') { $prop_parking_meta = '<!--:en-->No<!--:--><!--:es-->No<!--:--><!--:ru-->нет<!--:-->'; } ?> <li> <p><?php echo PROP_PARK_CSTM;?>:</p><p> <?php _e( $prop_parking_meta ); ?></p> </li> <?php endif; ?>
Я возвращаюсь Yes
на заданном языке, но в этом поле я этого не делаю (я просто вижу Yes
или No
):
<?php if(get_post_meta($post->ID,'prop_garage',true) && $prop_garage): $prop_garage_meta = get_post_meta($post->ID,'prop_garage',true); if ($prop_garage_meta == 'Yes') { $prop_garage_meta = '<!--:en-->Yes<!--:--><!--:es-->Sí<!--:--><!--:ru-->да<!--:-->'; } elseif ($prop_garage_meta == 'No') { $prop_garage_meta = '<!--:en-->No<!--:--><!--:es-->No<!--:--><!--:ru-->нет<!--:-->'; } ?> <li> <p><?php echo PROP_GARG_CSTM;?>:</p><p> <?php _e( $prop_garage_meta ); ?></p> </li> <?php endif; ?>
Является ли это чем-то очевидным? 🙁 Благодаря!
Я не знаю, почему эта проблема иногда возникает в qTranslate, но есть два варианта решения этой проблемы:
используя нотацию короткого кода
$prop_garage_meta = '[:en]Yes[:es]Sí[:ru]да';
применение the_content
$prop_garage_meta = apply_filters( 'the_content', '<!--:en-->Yes<!--:--><!--:es-->Sí<!--:--><!--:ru-->да<!--:-->' );