静态/动态页面上的Wordpress方式URL


The Wordpress way URL on static / dynamic pages

我想添加一个菜单或页脚,就像在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,大约是[页面名称。

做。