首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >页面链接结构

页面链接结构
EN

WordPress Development用户
提问于 2017-06-26 00:28:03
回答 3查看 648关注 0票数 1

我正试图从头开始创建一个定制的WordPress主题。如您所见,我的文件结构如下所示--主题文件夹中的footer.php、header.php、index.php、about.php和contact.php:

我已经完成了主页(index.php),现在我正在尝试创建这些其他页面并链接到它们。但是,当我从主页访问这些页面时,唯一能让它们链接的方法是通过这个长长的、丑陋的链接结构:

我在想我是不是走错路了。如果我在WordPress中创建新页面而不是通过FTP手动创建页面,这是否允许我更改permalink结构,以便我可以拥有new.gatewaywebdesign.com/contact.php而不是new.gatewaywebdesign.com/wp-content/themes/gatewaywebdesign/contact.php

我继续尝试在contact仪表板中创建一个WordPress页面,但它不允许我在站点名称之后删除index.php

还有其他关于编辑/修整链接结构的建议吗?谢谢

EN

回答 3

WordPress Development用户

发布于 2017-06-26 01:46:20

正如@Milo在他的答复中提到的那样,您不能也不应该直接调用模板文件。这是一个安全风险,您将无法再访问WordPress的引擎,因此您不能使用像the_permalink这样的函数。

若要将模板部件包括在home.php中或任何您希望的地方,可以使用get_template_part()

代码语言:javascript
复制
get_template_part( 'relative/path/to/template' );

不包括.php。它将自动添加。因此,如果您的about.php位于/theme/my-theme/folder/中,而您的home.php位于/theme/my-theme/中,则应以下列方式使用此函数:

代码语言:javascript
复制
get_template_part( 'folder/about' );

这将包括about.php,无论您在哪里使用代码。现在,您可以在您的WordPress中完全访问about.php,并且不需要任何丑陋的URL。

更新

若要添加页面,请创建名为page-whatever.php的空白php文件。然后将以下内容添加到其标题中:

代码语言:javascript
复制
<?php 
/**
 * This is the template for Pages
 *
 * @package YourPackage
 */

get_header();

get_template_part('path/to/portfolio');

现在,您可以在后端看到新的页面模板,同时添加一个页面(在“页面模板”下拉菜单下)。

票数 2
EN

WordPress Development用户

发布于 2017-06-26 01:29:43

主题PHP文件永远不会直接链接或加载。您可以通过管理界面创建页面,其内容驻留在数据库中,WordPress根据请求的类型将传入的请求映射到适当的主题文件-- home、归档、单个post、单个页面等。查看模板层次获得更多信息,了解每种类型的请求都使用了哪些主题文件。

index.php出现在permalinks中的问题是分开的。您通常需要一个启用了mod_rewrite的服务器来实现完整的“漂亮”Permalinks。现在,您已经得到了所谓的PATHINFO,或“几乎漂亮”的permalinks。请阅读使用Permalink页面,以获得关于每个需求的更多信息。

票数 1
EN

WordPress Development用户

发布于 2017-06-26 07:43:53

如果您希望在//site.com/contact/上有不同的模板,那么您需要创建一个页面,将这个permalink设置为它,并创建名为page-contact.php的模板文件。

这就是工作方案的工作方式:

  1. 搜索特定的模板(例如我们的page-contact.php)
  2. 搜索通用模板(例如page.phpsingle.php等)
  3. 使用index.php

因此,如果它找不到第一,它会转到第二,然后下降到index.php。只要看看如何构建WP模板层次结构

票数 1
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/271322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档