After plugin update, issue reappear.
— HERE IS A FUNCTIONAL AND TEMPORARILY FIX FOR USERS —
I have to put the “.php” extension in the shortcode template tag to it works as follow :
[wpdm_category ... template="link-template-default-ext.php" ...]
— END OF FIX —
I think there is something not optimised in this part of code :
wp-content/plugins/download-manager/libs/class.Package.php from line 1060
$ltpldir = get_stylesheet_directory().'/download-manager/'.$type.'-templates/';
$pthemeltpldir = get_template_directory().'/download-manager/'.$type.'-templates/';
if(!file_exists($ltpldir) || !file_exists($ltpldir.$template))
$ltpldir = WPDM_BASE_DIR.'tpls/'.$type.'-templates/';
if (file_exists($ltpldir . $template)) $template = file_get_contents($ltpldir . $template);
else if (file_exists($pthemeltpldir . '/' . $template)) $template = file_get_contents($pthemeltpldir . '/' . $template);
else if (file_exists($ltpldir . $template . '.php')) $template = file_get_contents($ltpldir . $template . '.php');
else if (file_exists($pthemeltpldir . $template . '.php')) $template = file_get_contents($pthemeltpldir . $template . '.php');
else if (file_exists($ltpldir. $type . "-template-" . $template . '.php')) $template = file_get_contents($ltpldir. $type . "-template-" . $template . '.php');
else $template = file_get_contents(wpdm_tpl_path($default[$type], $ltpldir));
If a dev can have a look on this part to improve it.
I suggest to replace above code by something like this :
$directories = [
get_stylesheet_directory().'/download-manager/'.$type.'-templates/',
get_template_directory().'/download-manager/'.$type.'-templates/',
WPDM_BASE_DIR.'tpls/'.$type.'-templates/'
];
$getTemplateContent = function() use ($directories, $template, $type, $default) {
foreach ($directories as $dir) {
if (file_exists($dir . $template)) {
return file_get_contents($dir . $template);
}
if (file_exists($dir . '/' . $template)) {
return file_get_contents($dir . '/' . $template);
}
if (file_exists($dir . $template . '.php')) {
return file_get_contents($dir . $template . '.php');
}
if (file_exists($dir . $type . "-template-" . $template . '.php')) {
return file_get_contents($dir . $type . "-template-" . $template . '.php');
}
}
return file_get_contents(wpdm_tpl_path($default[$type], $dir));
};
$template = $getTemplateContent();
Best regards.
-
This reply was modified 4 years, 8 months ago by
Joffrey.