Tag : WordPress

4 years, 2 months ago 0

WordPress allows you to use custom text editors with the function wp_editor. There is one very annoying issue, which is cause in combination with qTranslate plugin. It means, while you are using qTranslate and in the same time for example in admin you have custom wp_editor ‚s, you are not able to insert any files (uploads neither images) in the wp_editor.

There is fix available. Editing file

[YOUR_SITE_ROOT]/wp-content/plugins/qtranslate/qtranslate_javascript.php

and make the block on line 238 look following:

$q_config['js']['qtrans_wpActiveEditorOverload'] = "
	jQuery('.wp-editor-wrap').unbind('mousedown');
	jQuery('.wp-editor-wrap').mousedown(function(e){
		/*wpActiveEditor = 'qtrans_textarea_'+this.id.slice(3, -5);*/
		 var sliced = this.id.slice(3, -5);
            if (sliced == 'content'){
 	            wpActiveEditor = 'qtrans_textarea_content';
            } else {
                wpActiveEditor = sliced;
            }
});
";
8 years, 2 months ago 0
Posted in: WordPress

Problém

Chceme zobrazit nějaký konkrétní obsah na stránce a všech jejích potomcích. Například obrázek, který bude shodný pro všechny stránky, které tématicky zapadají do jedné kategorie webu. To znamená na rodičovské stránce a zároveň všech jejích podstránkách.

Řešení

Nejdříve je třeba vyrobit funkci, která zjistí kořenového rodiče podstránky. Tu vložíme do souboru functions.php. Vypadat bude následovně:

 

function get_root_parent($page_id)
{
    global $wpdb;
    $parent = $wpdb->get_var("SELECT post_parent FROM $wpdb->posts WHERE post_type='page' AND ID = '$page_id'");
    if ($parent == 0)
        return $page_id;
    else
        return get_root_parent($parent);
}


Rekurzivně projde všechny rodiče až po toho posledního, kořenového.

A nakonec v místě, ve kterém chceme v šabloně zobrazovat obsah zavoláme s příslušným IDčkem nějakou podobnou konstrukci

 

<?php if ($post->ID == 4 || get_root_parent($post->ID) == 4) { ?>
// obsah
<?php } ?>