Skip to content

exclude_other_terms excludes all terms if post_type is not translated #43

@GoogleCodeExporter

Description

@GoogleCodeExporter
Had a post type that is not translated.

From inside the admin, on the post_edit page, the taxonomy pane was empty. 
I tracked back the problem to its source. The function Exclude_other_terms was 
returning all the terms from the taxonomy because it couldn’t figure out  the 
$this_lang variable.

in the post_edit.php page, the code

}elseif(isset($_GET['post'])){
            $icl_post_type = isset($_GET['post_type']) ? 'post_' . $_GET['post_type'] : 'post_'. $wpdb->get_var("SELECT post_type FROM {$wpdb->posts} WHERE ID = '".$wpdb->escape($_GET['post'])."'");
            $element_lang_details = $this->get_element_language_details($_GET['post'],$icl_post_type);
            $this_lang = $element_lang_details->language_code;

doesn’t find the $this_lang.

Simple fix, after the series of IF:ELSE IF, add on line 3281

if ($this_lang =='') $this_lang = $this->get_default_language();

So the variable isn't null.

But if you want to take a look inside the methods to return the right 
$this_lang anyway, please be my guest.

I’ll be waiting to see the response to this issue to tell our client if she 
can or not update the plugin from now on.

Thanks,

Charles

Original issue reported on code.google.com by charless...@gmail.com on 24 Jan 2011 at 10:07

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions