qtranslate slug bugfixing

Some of my customers need their website to be multilingual. For these cases, i like to use the plugin qtranslate. As awesome as it is, it is lacking the support of multilingual slugs for seo-friendly permalinks.

But now i found a plugin that solves this problem: enter qtranslate slugs. It adds the much needed possibility to give e.g. the english version of a page or post a different slug than the german version.

Still, there were two problems that bugged me:

  • The alternate language versions of the page are still inserted in the header by qtranslate, not knowing about the new slug versions and by that wrong
  • The searching only works in the default language. If you try to use the search feature in a different language, you see the front page. (Maybe this is only true with certain settings. I use a static front page and the ‚directory mode‘ of qtranslate -> domain.com/lang-code/

To solve this problem, i tweaked the plugin a tiny bit and added a function to it.
Carlos, if you read this, maybe you could implement these changes in the next update? Thanks 😉

Change #1:

In the function ‚filter_request‘ (qtranslate-slug.php line 772) insert at the start, directly after the global vars, the following two lines:

if(isset($query['s'])){
return array('s' => $query['s']);
}

Change #2:

Add the following code at the end of the plugin file:

UPDATE: Google needs now all of the languages, so i deleted the if-clause.


remove_action('wp_head','qtrans_header');
add_action('wp_head','qtranslate_slug_header_extended');
function qtranslate_slug_header_extended(){
global $qtranslate_slug;
global $q_config;
if(is_404()) return;
foreach($q_config['enabled_languages'] as $language) {
echo '<link hreflang="'.$language.'" href="'.$qtranslate_slug->get_current_url($language).'" rel="alternate" />'."\n";
}

I hope these changes can help someone who has the same problem as me 😉

CU, Kuchen und Kakao

Advertisements

Zurück in die Zukunft – ääähm, Arbeit

Hallo,da bin ich wieder. Nach 4 Tagen Ostsee (Samstag Regen, Sonntag Regen, Montag Nieselregen, Dienstag sonnig, dafür zurückfahren müssen und zuhause – Regen 😦 ) sitze ich wieder am Schreibtisch und hab noch ne 3-Tage-Woche vor mir. Das WordPress-Plugin, das ich letztes Mal angekündigt habe, muss noch ein bisschen warten – ein paar kleine Schönheitskorrekturen sind noch nötig. Aber das kommt ganz bald, ganz bestimmt, und so …

Warum fällt einem eigentlich immer soviel Zeug ein, was man mal auf Arbeit machen müsste, wenn man im Urlaub ist und grundsätzlich gar nicht über Arbeit nachdenken müsste/sollte/wollte? Verrücktes Backofenzeug!

Naja, back to work halt. Später mehr.

Kuchen und Kakao

Kurzurlaub – Ab an die Ostsee

Hurra! Ich reiß jetzt noch ein paar Stunden hier auf Arbeit ab, dann gehts nach Hause, Koffer packen, und dann morgen ganz früh ab an die Ostsee aufn Campingplatz. Den Kurzurlaub von 4 Tagen gönnen wir uns – die letzte Chance auf ein bisschen Ruhe vor der Hochzeit.

Ansonsten habe ich beschlossen, nachdem ich diesen Blog vor circa 2 Jahren eingerichtet hab, ihn endlich auch zu nutzen. Hier wird es in Zukunft also hoffentlich ein bisschen voller werden 😉

BTW: Hab ein hübsches kleines WordPress-Plugin geschrieben, mehr dazu bald hier!

Pirobox Extended V.1.0 wp-plugin – Bugfixing

Some time ago, i was in search of a good Lightbox clone with some requirements – slim, good-loking, draggable, with the possibility to show two different zoom-sizes – and found pirobox. Some time after that, i needed to use it in wordpress, and was happy to find that there exists a plugin.

Unfortunately, the plugin produced some bugs when used together with other plugins that use also the jquery library. So i took the liberty to rewrite the main plugin file (called pirobox_ext_wp.php).

Now it makes use of the wordpress built-in activation hooks and librarys. Also got the size a little smaller. If pirolab reads this: maybe you can use it for the next version of the WordPress Plugin.

<?php
/*
Plugin Name: Pirobox Extended for WP V.1.0
Plugin URI: http://wordpress.org/extend/plugins/pirobox-extended-for-wp-v10/
Description: This plugin automatically add the and rel="gallery" to images linked in a post, if the script finds more then 1 image, creates automatically  an image gallery.
The plugin adds all necessary files to make it work. You also have the option to call any kind of file with  pirobox extended,all you have to do is follow the instructions on the page <a href="http://www.pirolab.it/pirobox/">Pirobox</a> !! ENJOY
Author: Diego Valobra
Author URI: http://piroblog.pirolab.it/
Version: 1.1
*/
add_action('init', 'pirobox_init');
add_action('wp_head', 'pirobox_head');

function pirobox_init() {
$piro_path = WP_PLUGIN_URL.'/pirobox-extended-for-wp-v10';
wp_enqueue_script('jquery');
wp_enqueue_script('jquery-ui-draggable');

//You can choose your style here below, the default style is "/css_pirobox/style_1/style.css"
wp_enqueue_style( 'pirobox', $piro_path.'/css_pirobox/style_1/style.css');
//wp_enqueue_style( 'pirobox', $piro_path.'/css_pirobox/style_2/style.css');

wp_enqueue_script('pirobox-js', $piro_path.'/js/pirobox_extended_feb_2011.js','jquery');
}

function pirobox_head() {
global $post;
?>
<!-- pirobox extended options, speed , opacity background, image scroll, true = fixed, false = relative -->
<script type="text/javascript">
jQuery(document).ready(function($) {
jQuery('a[href$="jpg"], a[href$="bmp"], a[href$="gif"], a[href$="jpeg"], a[href$="png"]').addClass('pirobox_gall_<?php echo $post->ID; ?>').attr('rel','gallery');
jQuery.piroBox_ext({
piro_speed :700,
bg_alpha : 0.5,
piro_scroll : true,
piro_drag :false,
piro_nav_pos: 'bottom'
});
});
</script>
<!-- end options -->
<?php
}
?>

The jquery-plugin itself is my new best friend regarding lightboxes. If you want to take a look, you find all the info at http://www.pirolab.it/pirobox/ .

Pan-Dämlich oder Der tödliche Todestod des Todes!

Schon wieder müssen wir alle sterben, diesmal an der tödlichen Schweinegrippe. Es fehlt an Tamiflu oder wie der Schrott heißt, und überall kann man lesen, dass die WHO die zweithöchste Pandämie-Stufe, nämlich Stufe 5 ausgerufen hat. Leider schreibt keiner, was „Stufe 5“ überhaupt bedeutet oder ob man sich jetzt schlimme Sorgen machen muss, wenn man sich allabendlich mit wildfremden Leuten in der Disko anhustet.

Leute, hört BITTE auf Bild zu lesen oder euch sonst wie verrückt machen zu lassen. Es ist eine GRIPPE! Daran stirbt man nicht sofort, und auch nicht nach 1 Woche sicher. Über 90% der infizierten hüpfen nach einer oder 2 Wochen wieder fröhlich durch die Gegend. Oder wie viele von euch sind vor 3 Jahren an der letzten „Ausrottungsseuche“ Vogelgrippe gestorben?

Ich bleibe ruhig. Allerdings werde ich erstmal nicht mehr ins Sausalitos gehen; schließlich kommt die Grippe aus Mexiko, und man muss es ja nicht drauf anlegen…..
😉