public function template_redirect()
{
if (is_attachment()) {
global $posts;
if (!empty($posts) && isset($posts[0]->post_mime_type)) {
$this->mime_type = explode('/', $posts[0]->post_mime_type);
}
add_filter("{$this->mime_type[0]}_template", array($this, 'query_template'));
add_filter("{$this->mime_type[1]}_template", array($this, 'query_template'));
add_filter("{$this->mime_type[0]}{$this->mime_type[1]}_template", array($this, 'query_template'));
}
}