如何使用wp重写来隐藏表单操作URL?

时间:2014-07-07 作者:Bryan Willis

我正在制作一个小部件,它构建了一个多步骤表单,可以从第三方插件检索xml数据(http://xmlplugin.com/geoquote.php). 虽然这个插件已经可以使用了,但它对wordpress一点也不友好。

在里面widget.php 我有一个php,它显示如下表单:

<form method="POST" action="<?php echo plugins_url( \'step2.php\' , __FILE__ ) ?>" name="Calculate" onsubmit="return checkInput(this)">
然后在页面上以html格式呈现表单,如下所示:

<form method="POST" action="http://example.com/wp-content/plugins/geoquote_plugin/views/step2.php" name="Calculate" onsubmit="return checkInput(this)">
提交步骤1时,步骤2的url为:

http://example.com/wp-content/plugins/geoquote_plugin/views/geoquote_step2.php
有没有办法将步骤二的URL重写为如下内容:

http://example.com/quote/step2.php
即使在html中不可能,最好不要/wp-content/plugins/geoquote_plugin/ 提交步骤1并重定向到steop 2后,显示在url中。我知道我可以更改wp内容文件夹和plugins文件夹的名称,但我宁愿重写它,使插件作为wordpress插件适用于任何网站。每个步骤都是写入单独文件的表单。如果不重写预构建插件的每个文件,我如何重写URL?

我试过了,但没有任何效果:

RewriteRule ^/quote/step-2$ http://example.com/wp-content/plugins/geoquote_plugin/views/geoquote_step2.php [QSA,NC,L]

1 个回复
SO网友:quyet

您可以使用自定义wordpress模板,而不是使用固定的php文件

创建自定义模板文件并为其命名,例如自定义模板名称为step2。php和Step2

/*
    Template Name: Step2
*/
自定义模板文件的内容与step2上的文件内容相似。php

或者您可以使用ajax进行请求,但仍然无法隐藏文件路径step2。php

结束

相关推荐

Custom Feed URLs

我正在为我的一个帖子类型创建一个自定义提要,并允许用户设置该提要的名称。http://www.mysite.com/feed/userdefinedname现在,我还想让用户不仅可以显示该CPT中的所有帖子,还可以按类别过滤它们。目前情况是这样的:http://www.mysite.com/feed/testcategory然而,如果我能将其结构如下,我会非常喜欢它:http://www.mysite.com/feed/userdefinedname/testcategory这可能吗?下面是生成这些基于类