wordpress模板page.php正在custom.php上使用

时间:2016-04-06 20:53:59

标签: php wordpress templates wordpress-theming

我正在wordpress上创建一个网站和主题。我无法与您共享该网站,因为它受客户密码保护。

有一个关于slug 职业的职业页面,它成功地使用了自定义模板career.php over page.php。

然而,与slug 联系的联系页面使用page.php而不是contact.php

我的常用网页工作正常,使用about.php作为模板,但现在它也使用了page.php。

任何想法为什么?

2 个答案:

答案 0 :(得分:0)

检查基本文档:

  

页面模板是一种特定类型的模板文件   应用于特定页面或页面组。

     

由于页面模板是特定类型的模板文件,因此这里是   页面模板的一些显着特征:

     

页面模板仅适用于页面,不适用于任何其他内容类型   (如帖子和自定义帖子类型)。页面模板用于更改   页面的外观和感觉。页面模板可以应用于a   单页,页面部分或一类页面。页面模板   通常具有高水平的特异性,针对个体   页面或页面组。例如,名为的页面模板   page-about.php比模板文件page.php或更具体   index.php因为它只会影响一个slug为“约”的页面。如果是   页面模板有一个模板名称,WordPress用户编辑页面   控制将用于呈现页面的模板。

https://developer.wordpress.org/themes/template-files-section/page-template-files/page-templates/

祝你好运

答案 1 :(得分:0)

将您的页面(您想要"联系人"正在使用)重命名为page-contact.php

根据评论中的问题添加

您没有使用"已定义"页面模板,因此它不会像在body元素中那样显示,但还有其他方法。您可以在functions.php文件中添加以下代码,这将添加' page-contact'作为身体类中的附加类,您可以在css中使用它(而不是'页面 - 模板 - 联系人')。

add_filter( 'body_class', 'add_slug_body_class' );
function add_slug_body_class( $classes ) {
    global $post;
    $classes[] = $post->post_name;
    return $classes;
}

希望这有帮助。