Wordpress - 自定义页面的模板层次结构不起作用
Wordpress - template hierarchy for custom page not working
我第一次使用 html5blank
作为 parent 主题构建 Wordpress
网站。我使用 page-slug.php
命名约定设置并使用了我的主页,一切正常。其中一些页面需要 sub-pages,但出于某种原因,我无法使它们正常工作。示例 -
我的主页上有一个标题为 'Agency',在代理页面中我有许多图像,它们充当 link 到 sub-pages 的 (7) 个图像 -
我已经用正确的 link 和页面 parent/child 设置了第一张图片 -
page-agency.php
<div class="row">
<div class="twelve columns agencyproducts">
<p>WHAT PRODUCT ARE YOU INTERESTED IN?</p>
<a href="http://localhost:8888/agency/2k4k-production/"><figure>
<img src="http://localhost:8888/wp-content/uploads/2017/07/production.png" alt="Production">
<figcaption>2K / 4K PRODUCTION</figcaption>
</figure></a>
我像其他页面一样在主题文件中将 sub-page 文件保存为 page-agency-2k4kproduction.php
。当我单击 link 时,我看到 page.php
文件显示了我的 header 和表单模板,但没有显示 sub-page 代码。这是我在 page.php
-
中的内容
page.php
<?php get_header(); ?>
<?php get_template_part('form'); ?>
<?php the_content(); ?>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
在我的 2k4kproduction.php
文件中我有这个 -
page-agency-2k4kproduction.php
<?php get_header(); ?>
<!-- custom code -->
<?php get_template_part('form'); ?>
<?php the_content(); ?>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
我是否遗漏了层次结构过程中的某些步骤?
我不明白为什么主要页面都可以无缝运行,但 sub-pages 却不能。我尝试了其他许可 - page-2k4kproduction.php
、2k4kproduction.php
、page-8.php
,但它们也不起作用。
我是否必须将 sub-page 个文件保存在与主页文件不同的文件中?
后台的页面顺序有区别吗? FWIW 我已经将子页面放在最后一个主页 (8) 的下一个行中,而不是为子页面开始一个新的编号顺序。
真的被这个难住了,我敢肯定它很明显,但我就是看不出来。
WordPress 模板层次结构与 page-$slug.php
完美配合我不知道是什么原因可能是 2k4kproduction
slug 问题。
最好使用 page-template
而不是 page-slug
解决方法,因为如果 slug 发生变化,它将不会显示您的页面。完成 this 自定义页面模板教程。
template-2k4kproduction.php
<?php /* Template Name: 2k4k Production */ ?>
<?php get_header(); ?>
<!-- custom code -->
<?php get_template_part('form'); ?>
<!-- custom code -->
<?php the_content(); ?>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
我第一次使用 html5blank
作为 parent 主题构建 Wordpress
网站。我使用 page-slug.php
命名约定设置并使用了我的主页,一切正常。其中一些页面需要 sub-pages,但出于某种原因,我无法使它们正常工作。示例 -
我的主页上有一个标题为 'Agency',在代理页面中我有许多图像,它们充当 link 到 sub-pages 的 (7) 个图像 -
我已经用正确的 link 和页面 parent/child 设置了第一张图片 -
page-agency.php
<div class="row">
<div class="twelve columns agencyproducts">
<p>WHAT PRODUCT ARE YOU INTERESTED IN?</p>
<a href="http://localhost:8888/agency/2k4k-production/"><figure>
<img src="http://localhost:8888/wp-content/uploads/2017/07/production.png" alt="Production">
<figcaption>2K / 4K PRODUCTION</figcaption>
</figure></a>
我像其他页面一样在主题文件中将 sub-page 文件保存为 page-agency-2k4kproduction.php
。当我单击 link 时,我看到 page.php
文件显示了我的 header 和表单模板,但没有显示 sub-page 代码。这是我在 page.php
-
page.php
<?php get_header(); ?>
<?php get_template_part('form'); ?>
<?php the_content(); ?>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
在我的 2k4kproduction.php
文件中我有这个 -
page-agency-2k4kproduction.php
<?php get_header(); ?>
<!-- custom code -->
<?php get_template_part('form'); ?>
<?php the_content(); ?>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
我是否遗漏了层次结构过程中的某些步骤?
我不明白为什么主要页面都可以无缝运行,但 sub-pages 却不能。我尝试了其他许可 - page-2k4kproduction.php
、2k4kproduction.php
、page-8.php
,但它们也不起作用。
我是否必须将 sub-page 个文件保存在与主页文件不同的文件中?
后台的页面顺序有区别吗? FWIW 我已经将子页面放在最后一个主页 (8) 的下一个行中,而不是为子页面开始一个新的编号顺序。
真的被这个难住了,我敢肯定它很明显,但我就是看不出来。
WordPress 模板层次结构与 page-$slug.php
完美配合我不知道是什么原因可能是 2k4kproduction
slug 问题。
最好使用 page-template
而不是 page-slug
解决方法,因为如果 slug 发生变化,它将不会显示您的页面。完成 this 自定义页面模板教程。
template-2k4kproduction.php
<?php /* Template Name: 2k4k Production */ ?>
<?php get_header(); ?>
<!-- custom code -->
<?php get_template_part('form'); ?>
<!-- custom code -->
<?php the_content(); ?>
<?php get_sidebar(); ?>
<?php get_footer(); ?>