siteSidebar(); $isSearch = (strpos($out, 'plugin-search') !== false); $isNav = (strpos($out, 'plugin-navigation') !== false || strpos($out, 'plugin-pages') !== false); // Fixed sidebar order (lower = higher up). Unknown plugins such as // the Hit Counter default to 90, i.e. pinned to the bottom. $priority = 90; if (strpos($out, 'plugin-about') !== false) $priority = 10; // Blog / About elseif ($isSearch) $priority = 20; // Search elseif ($isNav) $priority = 30; // Navigation elseif (strpos($out, 'plugin-categories') !== false) $priority = 40; // Category if ($isSearch) { $sidebarSearchHtml .= $out; } // Mark the navigation / pages plugin so its list can be shuffled // client-side (see the script near the body end). if ($isNav) { $out = '
' . $out . '
'; } $sidebarItems[] = array( 'priority' => $priority, 'index' => $sidebarIndex++, 'search' => $isSearch, 'html' => $out, ); } } // Stable sort by priority, then original order (PHP < 8 usort isn't stable). usort($sidebarItems, function ($a, $b) { if ($a['priority'] === $b['priority']) { return $a['index'] - $b['index']; } return $a['priority'] - $b['priority']; }); $sidebarFullHtml = ''; // all plugins, ordered (used off the homepage) $sidebarNoSearchHtml = ''; // same, minus search (used on the homepage) foreach ($sidebarItems as $item) { $sidebarFullHtml .= $item['html']; if (!$item['search']) { $sidebarNoSearchHtml .= $item['html']; } } // The hero (and the relocated search) only appear on the blog front page. $heroVisible = ($WHERE_AM_I === 'home' && Paginator::currentPage() == 1); ?>
viewing a single page/post // "home" -> viewing the front page if ($WHERE_AM_I == 'page') { include(THEME_DIR_PHP.'page.php'); } else { include(THEME_DIR_PHP.'home.php'); } ?>