【问题标题】:Make special pages from WordPress theme?从 WordPress 主题制作特殊页面?
【发布时间】:2013-06-18 03:35:23
【问题描述】:

我试图弄清楚某个 WordPress 是如何设置的。我想要一个特殊的页面,我可以在其中进行 WP 调用并与主题进行交互,而不会影响其他任何内容。

我只是制作 test.php 并将其放入我的主题文件夹中,但这不起作用。

【问题讨论】:

  • 我不知道该选择什么作为选择的答案 - 其中许多都有效。
  • 从投票开始 :) 比选择您使用的答案,如果有些相同:给他们中的第一个。

标签: php wordpress


【解决方案1】:

@Eliran 提供了一种可能的选项,但您也可以在 WP 的后端添加一个页面,只需确保它具有 slug 'test',并将您的 'test.php' 文件名更改为 'page-test .php'。如果您担心公众看到这一点,请将管理员中的页面可见性设置为“私有”。

编辑:

为了进一步加深您的理解,您应该查看 WordPress 确定抓取哪个文件以呈现特定 URL 的方式。一开始这可能会让人很困惑,所以如果你不熟悉它,请耐心等待,但它是设计 WP 主题的核心。我将链接到示例,如果您向下滚动一点,则会有一个图表以及文本,将帮助您了解 WP 是如何“思考”的。 http://codex.wordpress.org/Template_Hierarchy#Examples

【讨论】:

    【解决方案2】:

    你可以在这里看到:Page Templates

    您需要做的就是创建一个名为page-{custom-name}.php 的页面并将其添加到主题文件夹中。

    并在这个 php 文件中添加:

    /*
    Template Name: My Custom Page
    */
    

    要使用此页面,您需要转到 wp-admin,添加/编辑页面并选择它:

    在 php 文件中,您所做的一切都是经典的 wordpress。 所有这一切都给你一个自定义页面模板。

    【讨论】:

      【解决方案3】:

      把它放在你的根文件夹中。当您查看它时,您会查看 www.mywebsite.com/test.php

      【讨论】:

      • 为什么它可以访问 WP 和主题的函数和变量?
      • 当然,如果你想把它放在你的主题文件夹中,URL 就是:mysite.com/wp-content/themes/myTheme/test.php 所以你可以这样做。或者只包含文件。
      【解决方案4】:

      这可能是其他方法,但我更愿意使用rewrite API 和自定义查询变量来创建自定义路由。

      可以在here找到有关该主题的先前答案

      基本思想是添加一个新的 url 规则,使用 parse_request 过滤器捕获查询变量,并且可能会做一个死或重定向以防止加载默认的 wordpress 模板。

      我更喜欢这个而不是主题模板,因为使用模板您需要为每个新网址创建一个页面,如果该页面被酸删除,该功能将停止工作。

      【讨论】:

        【解决方案5】:

        哪些页面不是:

        • 页面不是帖子,也不是从更大的小说作品中摘录的。它们不会循环浏览您博客的主页。如有必要,可以使用 WordPress 插件更改默认设置。
        • 页面不能与类别关联,也不能分配标签。页面的组织结构仅来自其层次结构的相互关系,而不来自标签或类别。
        • 页面不是文件。它们像帖子一样存储在您的数据库中。
        • 虽然您可以将模板标签和 PHP 代码放入页面模板文件中,但如果没有 Exec-PHP 之类的 WordPress 插件(其 Read 会覆盖代码过滤过程),则无法将它们放入页面或发布内容中。
        • 页面未包含在您网站的供稿中。
        • 页面和帖子可能会以不同于人类或搜索引擎的方式吸引注意力。
        • 如果需要,可以将页面(或特定帖子)设置为静态首页,并为最新的博客帖子设置单独的页面,通常名为“博客”。

        More About Pages.

        WordPress 添加新页面,您必须登录到管理员/后端,然后从页面菜单中添加新页面。在这种情况下,您可以为页面选择模板,也可以为该页面创建自定义页面模板。

        您可以阅读Createing a new page in WordPress.custom Page template in WordPress

        【讨论】:

        • 我指的是网页,而不是 WP 数据库中的页面。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-17
        • 1970-01-01
        • 1970-01-01
        • 2017-08-17
        相关资源
        最近更新 更多