da probam ovdje (mada ne polažem puno nade u uspjeh al' ajde, potez očajnika...

Treba mi neko ko poznaje PHP, ako nisi taj, don't go any further...

Sajt sam preveo na 4 jezika uz pomoć plugina WPML (WordPress Multilingual).
Radi se tome da plugin "ne vidi" neki tekst koji sam ubacio.
Radi se o tekstu na home page-u, koji ide uz slideshow.
Tema (sohohotel) ima na homepage-u i neke "blokove" (3 kolone sa tekstom) koje WPML isto nije vidio,
dok nisam pronašao rešenje na netu koje je odradio neki programer.
Evo o kakvom kodu se radi:
Code:
/* ------------------------------------------------
Display Three Blocks
------------------------------------------------ */
?>
<!-- BEGIN .content-wrapper -->
<div class="content-wrapper clearfix">
<!-- BEGIN .clearfix -->
<div class="clearfix">
<!-- BEGIN .one-third -->
<div class="one-third clearfix">
<?php if ($smof_data['homepage_block_title_1'] ) { ?>
<h3 class="title-style1"><?php _e($smof_data['homepage_block_title_1'],'qns'); ?><span class="title-block"></span></h3>
<?php } ?>
<?php echo do_shortcode($smof_data['homepage_block_content_1']); ?>
<?php if ($smof_data['homepage_block_button_1'] ) { ?>
<p><a href="<?php _e($smof_data['homepage_block_link_1'],'qns'); ?>" class="button1"><?php _e($smof_data['homepage_block_button_1'],'qns'); ?></a></p>
<?php } ?>
<!-- END .one-third -->
</div>
/* ------------------------------------------------
Display Three Blocks
------------------------------------------------ */
?>
<!-- BEGIN .content-wrapper -->
<div class="content-wrapper clearfix">
<!-- BEGIN .clearfix -->
<div class="clearfix">
<!-- BEGIN .one-third -->
<div class="one-third clearfix">
<?php if ($smof_data['homepage_block_title_1'] ) { ?>
<h3 class="title-style1"><?php _e($smof_data['homepage_block_title_1'],'qns'); ?><span class="title-block"></span></h3>
<?php } ?>
<?php echo do_shortcode($smof_data['homepage_block_content_1']); ?>
<?php if ($smof_data['homepage_block_button_1'] ) { ?>
<p><a href="<?php _e($smof_data['homepage_block_link_1'],'qns'); ?>" class="button1"><?php _e($smof_data['homepage_block_button_1'],'qns'); ?></a></p>
<?php } ?>
<!-- END .one-third -->
</div>
Ovo je kood za jedan blok teksta, ima još 2 ovakva bloka, ali nisu bitni za suštinu, pa ih neću ubacivati, da ne zauzmaju previše prostora.
Uglavnom, ovo je originalni kod koji ide uz temu, i u ovom slučaju WPML ne vidi tekst koji se ubaci u ove "blokove" i on se ne mogu prevesti.
Rešenje koje sam našao na netu izgleda ovako:
Code:
<?php
$homepage_block_content_1 = do_shortcode($smof_data['homepage_block_content_1']);
_e($homepage_block_content_1, 'admin_texts_theme_sohohotel');
[/i] ?>
<?php
$homepage_block_content_1 = do_shortcode($smof_data['homepage_block_content_1']);
_e($homepage_block_content_1, 'admin_texts_theme_sohohotel');
[/i] ?>
i nakon ove izmjene kooda, WPML je u stanju da "vidi" tekst koji je ubačen u ove "blokove" i moguće ih je prevesti na drugi jezik.
(sada dolazimo do suštine ovog mog pisanija)
Tekst koji se ubaci u slideshow teme je takođe nemoguće prevesti, jer ga WPML "ne vidi", treba napraviti neku izmjenu u koodu kao što je uradjeno u prethodnom primjeru.
Ja sam probao nešto sam da odradim, tražeći neku logiku u svemu ovome, ali džabe kad ne poznajem PHP (ako je ovo uopšte php, šta li je....)
Kood slideshow-a izgleda ovako:
Code:
/* ------------------------------------------------
Display Slideshow
------------------------------------------------ */
if ($smof_data['slideshow_display']) { ?>
<!-- BEGIN #slider -->
<div id="slider">
<?php if ($smof_data['homepage_slider']) { ?>
<div class="slider">
<ul class="slides">
<?php $slides = $smof_data['homepage_slider']; ?>
<?php foreach ($slides as $slide) { ?>
<li>
<?php if ( $slide['link'] ) { echo '<a href="' . $slide['link'] . '" target="_blank" class="slide-link">'; } ?>
<img src="<?php echo $slide['url']; ?>" alt="" />
<?php if ( $slide['description'] ) {
echo '<div class="slider-caption-wrapper"><div class="slider-caption">' . $slide['description'] . '</div></div>';
} ?>
<?php if ( $slide['link'] ) { echo '</a>'; } ?>
</li>
<?php } ?>
</ul>
</div>
<?php } else { ?>
<p><?php _e('No Slides','qns'); ?></p>
<?php }
/* ------------------------------------------------
Display Slideshow
------------------------------------------------ */
if ($smof_data['slideshow_display']) { ?>
<!-- BEGIN #slider -->
<div id="slider">
<?php if ($smof_data['homepage_slider']) { ?>
<div class="slider">
<ul class="slides">
<?php $slides = $smof_data['homepage_slider']; ?>
<?php foreach ($slides as $slide) { ?>
<li>
<?php if ( $slide['link'] ) { echo '<a href="' . $slide['link'] . '" target="_blank" class="slide-link">'; } ?>
<img src="<?php echo $slide['url']; ?>" alt="" />
<?php if ( $slide['description'] ) {
echo '<div class="slider-caption-wrapper"><div class="slider-caption">' . $slide['description'] . '</div></div>';
} ?>
<?php if ( $slide['link'] ) { echo '</a>'; } ?>
</li>
<?php } ?>
</ul>
</div>
<?php } else { ?>
<p><?php _e('No Slides','qns'); ?></p>
<?php }
DA LI NEKO KO POZNAJE PROGRAMIRANJE može da "provali" šta treba dodati u koodu SLIDESHOW-a da bi ga WPML "vidio" (bazirano na prethodnom primjeru)?
Pozdrav i hvala na vremenu i pomoći svakako!
[Ovu poruku je menjao marko 0401 dana 11.12.2015. u 16:49 GMT+1]