如何删除使用存档模板加载的页面

时间:2019-04-28 作者:Vivek

我有自定义的帖子类型“project”,它正在加载模板“archive project”。

我已经有一个页面“应用程序”来加载“归档项目”

因此,可以通过两个URL访问相同的页面

www.example.com/project  
www.example.com/applications  
我尝试了一个插件“smart Archive Page Remove”,它对我不起作用。

如何删除www.example.com/project

请帮忙。

1 个回复
最合适的回答,由SO网友:Qaisar Feroz 整理而成

看来你的archive-project.php 正在使用自定义查询显示帖子。通过添加Template Name 在注释块中,以便可以将其分配给applications 页因此www.website.com/applications 加载此模板文件。

www.website.com/project 由于文件名的原因,还使用相同的模板文件archive-project.php. 这就是Wordpress的工作原理。

Wordpress使用其Template File Hierarchy 在前端显示帖子和页面。

对于自定义帖子类型\'has_archive\' => true wordpress使用以下顺序template files 要呈现存档,请执行以下操作:

  1. archive-{post_type}.php – 如果职位类型为project, WordPress将查找archive-project.php
  2. archive.php
  3. index.php
以上文件显示的帖子是使用主查询从db中选择和获取的,因此这里不需要自定义查询。

然而,一些开发人员选择创建Custom Page Template 用于显示帖子的存档。此文件可以有任何有效的文件名,例如。my-awsome-template.php. 但是,应注意避免文件名与标准wordpress模板文件名冲突。e、 g。archive.phparchive-project.php

这些模板文件是通过添加Template Name 在注释块中,类似这样的内容。

<?php
/*
Template Name: My Custom Page
*/
最好选择一个描述模板功能的名称,因为WordPress用户在编辑页面时可以看到该名称。例如,可以命名模板Homepage, Blog, 或Portfolio.

现在,可以将此模板分配给Page > Edit 屏幕
自定义模板的一个特点是使用自定义查询从db usin获取和显示帖子WP_Queryget_posts() 并且通常不使用Wordpress主查询。

The Solution

如何删除www.website。com/项目

您正在使用自定义页面模板显示存档,不想使用wordpress用于显示帖子存档的机制。So设置\'has_archive\' => false 您在哪里注册您的帖子类型project. 还建议重命名archive-project.php 去做别的事。

相关推荐

Updating modified templates

我想调整一些。php模板文件在我的WordPress主题中,我知道正确的过程是将相关文件复制到子主题文件夹中并在那里编辑文件,这样我的修改就不会在将来的主题更新中丢失。但这是否意味着我将无法从主题更新中获益,因为我将文件放在了我的子主题文件夹中?这可能不是一件好事,因为主题更新可能添加了一些有用的特性,甚至修复了我最初需要对代码进行调整的问题!这方面的常见解决方案是什么?有人推荐了一款Diff应用程序——这是人们常用的吗?