Check sidebar conditional tag exists

Return false for non-existent conditional tags. Fixes #993
This commit is contained in:
Nicholas Fox
2014-07-28 13:44:40 +01:00
parent cf91138317
commit f213cc02e6

View File

@@ -30,10 +30,13 @@ class Roots_Sidebar {
}
private function check_conditional_tag($conditional_tag) {
if (is_array($conditional_tag)) {
return $conditional_tag[0]($conditional_tag[1]);
$conditional_arg = is_array($conditional_tag) ? $conditional_tag[1] : false;
$conditional_tag = $conditional_arg ? $conditional_tag[0] : $conditional_tag;
if (function_exists($conditional_tag)) {
return $conditional_arg ? $conditional_tag($conditional_arg) : $conditional_tag();
} else {
return $conditional_tag();
return false;
}
}