我想添加一个菜单或页脚,就像在Wordpress或任何其他CMS中一样。
这真的不适用于 PHP 包含,因为如果网站文件在子目录中,则路径有问题。如您所知,普通的静态菜单看起来像
<nav>
<ul>
<li><a href="about.php">About</a></li>
</ul>
</nav>
但 CMS 菜单看起来像
<nav>
<ul>
<li><a href="/about/">About</a></li>
</ul>
</nav>
而且在所有页面上,所以路径没有问题如果您尝试使用静态/动态页面,则必须添加路径或URL,并且看起来非常丑陋或不
<?php
define('WEB_ROOT', '../'); // relative path to /
?>
...
<nav>
<ul>
<li><a href="../../solution/">Solution</a></li>
or
<li><a href="https://example.com/solution/">Solution</a></li>
or
<li><a href="<?php echo WEB_ROOT; ?>solution">Solution</a></li>
</ul>
</nav>
我认为这是一个坏主意,而且非常丑陋。那么如何解决这种问题,也许像上面一样在 PHP 中添加一个 Web 根目录,但看起来不是很好,所以你还有其他想法吗?并且该解决方案也应该适用于CSS和JS,不仅适用于静态内容,因此所有样式都相同,菜单看起来就像其他页面一样,即使它在子目录中
通常在Wordpress中,我使用站点URL来生成完整的URL:
site_url('/about');
至于JS/CSS文件,这取决于你把它们放在哪里。如果文件位于特定主题中,请使用:
get_template_directory();
你可以使用它...在"a"标签 href=" 中,使用以下命令:
echo home_url('index.php/about');
或者删除索引.php,大约是[页面名称。
做。