So here’s my code, using the qTranslate plugin:
query_posts(array('post_type' => 'uk_blog', 'numberposts' => 2));
$i = 0; while(have_posts()): the_post($post);?>
<div class="third-column"<?php if ($i == 1) echo ' style="margin-right:0;"';?>>
<h2><a href="<?php get_permalink($post->ID);?>"><?php the_title();?></a></h2>
<div class="inner">
<?php $length = strlen(get_the_content());
echo nl2br(substr(strip_tags(get_the_content()), 0, 500));
if ($length > 500){
echo '...<br /><a href="' . get_permalink($post->ID) . '">Read more</a>';
}
?>
</div>
</div>
<?php $i++; endwhile;?>
The post titles (using the_title();) are actually appearing in all languages at the same time, ie: English titleFrench titleSpanish title.
Viewing the HTML source shows that the qTranslate tags that define which bit of a string is for which language are being directly outputted. IE the HTML source is
<!--:en-->English title<!--:--><!--:fr-->French title<!--:-->
The posts are from a custom post type.
Any ideas why this might be?
Thanks for reading!
Hi Will also try this:
Add this to your functions.php
And then:
Have no Idea what version of qTranslate and WP you have so you may even use __() to get the correct title or _e() to echo it.
I’ve experienced issues like this with qTranslate, and the first thing you should do definitely is to make sure that you are using
the_title()
or thethe_title
filter, as suggested by Daniel Sachs.Since your widget is already calling
the_title()
that’s clearly not the case. On a few occasions (specifically while updating WordPress or qTranslate) I have had to edit the posts in order for them to display correctly. Try to edit the affected post, switch between the tabs and try deleting and reinserting the titles into the respective fields. Weirdly enough, that has solved problems like this for me.Try using