【问题标题】:How to reuse parts of WordPress site e.g. header, footer, part of header for multiple WordPress sites?如何重用 WordPress 网站的部分内容,例如页眉,页脚,多个 WordPress 网站的页眉的一部分?
【发布时间】:2011-11-20 00:24:59
【问题描述】:

我正在寻找在我的一个 WordPress 中重用页眉和页脚导航链接(当然是带有样式)的解决方案几个其他 WordPress 网站的网站。

请注意,我试图在 WordPress 网站之间共享页眉和页脚,而不是 from WordPress site to a PHP page。 我所指的站点位于同一台服务器上。我有以下目录结构:

example.com/ #main site is here
   some-other-site/
      wp-admin/
      wp-content/
      wp-include/
      ...
   wp-admin/
   wp-content/
   wp-include/
   ...

如果可能的话,我非常感谢有关如何实现这一目标和最佳实践的一些指导,因为我还是 WordPress 的新手。 我有一些想法,但我不确定哪一个是最佳编程实践或每种方法需要多少努力(用于成本效益分析)

1) 在主站点的functions.php 中编写一个自定义的get_header() 函数以允许提取导航链接 file_get_contents() 从 wp-content/themes/my-theme/inc/footer.php 获取导航链接 在其他网站/我使用

define('WP_USE_THEMES', false);
require($_SERVER['DOCUMENT_ROOT'] . '/wp-blog-header.php');

目前,我得到"<a href="<?php bloginfo('siteurl'); ?>/articles/category/editorial_team">Background</a>" 作为输出,所以它对我还不起作用。

我找到了one similar topic,但这个问题对我来说有点不清楚,使用绝对网址的解决方案不是一个好习惯,I was told

2) 将这些导航链接公开为 Web 服务。我感觉 web 服务在这里甚至不相关,但我还是把它放在这里以防万一。

3) 使用多站点设置或为我所有的 WordPress 站点创建一个网络。虽然这似乎是最好的方法,但它似乎相当复杂,而且我的主站点目前在网络中设置实际上存在问题。我怀疑是否有必要克服这种复杂情况才能实现我的目标。

据我所知,WordPress 网络中的站点共享某些数据库,因此我非常害怕丢失主站点中的部分或全部巨大数据。

如果您足够好,指出在 WordPress 站点之间共享 CSS 样式表和 Javascripts 文件的最佳实践肯定是相关的 :)

更新
我决定了

  • 尽量坚持wordpress多站点
  • 放弃了上面提到的不良实践层次结构 - 嵌套的 WordPress 目录

【问题讨论】:

  • 据我了解,Eric,您有一个主站点。我们将其称为“domain.com”。在 www.domain.com 的主文件夹中,您设置了一个 WP 博客。所以去 www.domain.com 向我们展示您的 WordPress 博客(自定义主题等)。在您的主站点文件夹中,您还有其他文件夹,即具有整个 WordPress 文件夹结构的 domain.com/site2/如果这是正确的......为什么?
  • 你的理解是绝对正确的。这是我接管的现有结构,我没有机会弄清楚背后的所有原因。我的解释是,我们在不同的国家有不同的域名。对于新加坡,我们有主要的博客和论坛和交易网站等。因此论坛和交易设置在新加坡博客的文件夹中,因为它们与其他国家无关:)
  • 此外,只要您知道自己在做什么,使用绝对 URL 并没有错。您链接的博客文章说不要,因为作者直接复制了一个站点,并且对链接/等仍然转到另一个站点(使用绝对路径后)感到惊讶。 AKA,他不知道自己在做什么。
  • 我明白了。这是一个非常尴尬的情况,考虑到您可以只使用 WP 中的类别并过滤掉显示的类别... 无论如何: 你有一个 header.phpfooter.php 文件,它的结构是你想要的,并且您要在每个 wordpress 博客上重复使用这两个文件 - 根目录和子目录?
  • 是的,冯克利。我想重用部分 header.php 和 footer.php 例如一些#navigation div(请注意,header.php 和 footer.php 不是格式良好的 xhtml,即在没有关闭的情况下打开
    )在每个 wordpress 博客、root 和 child :)

标签: javascript css header wordpress-theming footer


【解决方案1】:

如果您想在父级和所有子级 wordpress 博客中包含整个 header.phpfooter.php 文件,那么不上传副本的唯一方法是使用绝对路径,或创建嵌套为您想要包含它的每个区域单独的相对路径。

您的网站层次结构的布局方式通常被认为是……糟糕的做法。也许我误解了其背后的原因,但我建议与网站所有者一起评估当前情况并提出替代方案(具有一些主要优势 - 用户体验和结构)。

【讨论】:

  • 哇,哇。在您的上一条评论中,您说I would like to reuse part of header.php and footer.php e.g. some #navigation div。您只想包含每个文件的某些部分?
  • 是的,只有其中的某些部分,Vonkly :) 我有充分的理由不使用上面提到的整个 header.php 或 footer.php :)
  • 嗯..您想要的是查看文件并仅提取某些代码和文本行。这是不可能的。
  • 使用上面的方法 1) 并将链接更改为绝对链接,它实际上可以满足我的需要。看来我必须选择 WordPress 网络,因为目前它仍然有很多硬编码。非常感谢 :)
猜你喜欢
  • 2017-12-02
  • 1970-01-01
  • 2017-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
  • 2017-09-10
相关资源
最近更新 更多