由于您根本不熟悉 PHP 代码,因此我将为您提供一些关于 Wordpress API 中编码的速成课程。
首先,您需要了解函数和变量之间的区别。变量是用于表示任意值的单个实体。值可以是任何东西。一个数字、某人的名字或复杂的数据。
函数是执行一系列操作以发回或返回变量或更改给定变量的东西。
<?php
$a = 1; //Number
$b = 'b'; //String *note the quotes around it*
$c = my_function(); //Call to a function called my_function
echo $a; //1
echo $b; //b
echo $c; //oh, hello
function my_function()
{
return 'oh, hello';
}
?>
Wordpress 基于事件驱动编程风格松散地利用自己的动作和过滤系统。
这意味着 Wordpress 正在“监听”某个事件的发生,当它发生时,它会执行一个附加到该事件的函数(也称为回调)。这些是“操作”和“过滤器”。那么有什么区别呢?
动作是做事情
的函数过滤器是返回事情的函数
那么这一切如何适应您的问题呢?
Contact Form 7 有自己的过滤器,它返回表单发送信息的 URL。
那么让我们看一下过滤器挂钩的基础知识
add_filter('hook_name', 'your_filter');
- add_filter 是告诉 Wordpress 它需要侦听特定事件的函数。
- 'hook_name' 是 Wordpress 正在监听的事件。
- 'your_filter' 是触发 'hook_name' 事件时调用的函数或回调。
上一个线程的链接表明您需要使用的挂钩名称是“wpcf7_form_action_url”。这意味着您所要做的就是调用 add_filter,将“hook_name”设置为“wpcf7_form_action_url”,然后将“your_filter”设置为您将设置为回调的函数的名称。
完成后,您只需要定义一个名称与您放置在“your_filter”处的任何内容相匹配的函数,并确保它返回一个 URL 以修改表单操作。
现在问题来了:这将改变你所有的表格。但首先要做的是:看看您是否可以自己获得一些工作代码。只需在functions.php中编写代码,然后告诉我们结果如何。
更新:
您能够如此迅速地获得它的事实真是太棒了,并显示了您为此付出的研究努力。
把所有这些都放在functions.php中
add_filter('wpcf7_form_action_url', 'wpcf7_custom_form_action_url');
function wpcf7_custom_form_action_url()
{
return 'wheretopost.asp';
}
如前所述,这将影响您的所有表格。如果这只应该影响给定页面上的表单,您可以执行以下操作:
add_filter('wpcf7_form_action_url', 'wpcf7_custom_form_action_url');
function wpcf7_custom_form_action_url($url)
{
global $post;
$id_to_change = 1;
if($post->ID === $id_to_change)
return 'wheretopost.asp';
else
return $url;
}
您需要做的就是将 $id_to_change 的值更改为代表您尝试影响的帖子/页面的 ID 的数字。因此,例如,如果您有一个关于页面想要更改操作 URL,您可以在管理仪表板中找到关于页面的 ID 号(只需转到页面编辑器并在您的 URL 中查找 ID number) 并将 1 更改为 ID 号。
希望这对您有所帮助,并祝您好运。