在WordPress上路由自定义php

时间:2017-10-08 作者:R1ddler

我是学习WordPress的Laravel开发者。我编写了一些PHP代码,其中显示了一些表、一些HTML和一些get表单。此时,我需要索引页上的文件才能显示它。我想改变这一点,只在索引页上添加一个菜单,其中包含指向我创建的文件的链接。现在我想路由文件,所以当我写它的URL时,我会看到来自该文件的页面。e、 g。mywpsite.com/mygetform 我该怎么做?

2 个回复
最合适的回答,由SO网友:haz 整理而成

如果你来自Laravel,你会讨厌Wordpress路由。

对于我们功能强大的Wordpress网站,我不得不为Laravel ise routes编写一整套路由解决方案,这绝对不是“Wordpress方式”

没有简洁的Wordpress方法可以在代码中添加路由。最好的选择是利用默认路由,在所需的URL处创建一个页面,然后使用自定义页面模板。

下面是方法。

我假设你可以控制你的主题,它位于这里:yoursite/wp-content/themes/your-theme

添加新文件:

yoursite/wp-content/themes/your-theme/mygetform.php
在此文件顶部添加一些Wordpress魔法:

<?php
/**
 * Template Name: Custom Page - My Get Form
 * Description: Here\'s my custom page.
 */
/* include your template header here, if you need/want it. */

/* insert your custom code here */

/* include your template footer here, if you need/want it. */
现在前往yoursite.com/wp-admin 然后导航到“页面>添加页面”。

在您的Page Attributes metabox(通常隐藏在右侧某处)现在您可以选择“Custom Page - My Get Form“”从模板下拉列表中。

现在,它将运行您放入该文件(或包括在内的)的所有PHP。

如果你有表格和东西,你也可以把它包括在这个文件中,这样就行了。Wordpress处理GET/POST表单提交的最有效方法是利用admin POST。php,最好的文档记录在this article.

SO网友:CK MacLeod

同意这些评论,但还是可以为来自某个老练地方并试图学习的人提供答案。

在大多数实际情况下,首选的方法是打开相应的模板文件,作为索引的等效文件。php(在主目录中),它将由您的主题设置(根据the hierarchy): 很可能是在家里。php或索引。php和可能的头版。php,这取决于特定主题和常规设置。这些模板文件将在活动主题的主目录中找到(在wp-content/themes/中)。

由于这个问题意味着新的“索引”页面将没有其他内容,因此理论上,您可以从页眉到页脚删除最终HTML中不需要或不理解的所有内容,并用代码替换,但最有可能的情况是(为什么要使用Wordpress呢?),除了while-if(have\\u posts())与其相关的endif(如果存在)之间的内容之外,您几乎需要保留所有内容。(“循环”,换句话说。)

此外,您还可以现在开始创建child themes 并在那里进行修改。

另一种选择可能是通过短代码或其他一些涉及自定义函数或插件的方法添加代码,可能是添加到设置为主页的页面中。

因为它是WordPress,所以会有其他选择。。。

结束