既然你不熟悉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的利用鬆散的基礎上的Event-Driven Programming風格自己的行動和過濾系統。
這是什麼意思是說,Wordpress正在「偵聽」某個事件發生,當它發生時,它執行附加到該事件(也稱爲回調)的函數。這些是「操作」和「過濾器」。那有什麼區別?
操作是做的東西
篩選功能返回的東西
那麼,如何這一切適合你的問題的功能?
聯繫表單7有其自己的過濾器,返回信息將通過其形式發送到的URL。
所以在Filter Hook
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中編寫代碼,並讓我們知道它的結果。
UPDATE:
,你能這麼快得到它事實上是美好的,並顯示出你正在投入這項研究工作的量。
把所有這一切都在的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值更改爲一個數字,它代表的標識您試圖影響的Post/Page。因此,如果 - 例如 - 您有一個關於頁面,您想要更改操作URL,則可以在管理控制檯中找到關於頁面的ID號(只需轉到頁面編輯器並在您的URL中查找該ID號碼),並將1改爲任何ID號碼。
希望這可以幫助你,並祝你好運。
鏈接到前一個主題?你有什麼嘗試?所以不會爲你編寫代碼,儘管它可以幫助你處理你已經寫入的代碼 – FelipeAls
[你試過了什麼?](http://whathaveyoutried.com) – maiorano84
我很抱歉,我是一個設計WP在我之前建立的網站。看到聯繫表格7已經安裝並設置了各種表格,我添加了一個新表格並且收到了電子郵件通知。但是我需要將新表單的數據發送到與默認不同的.asp。在線搜索後,似乎可以通過向CF7,add_filter(wpcf7_form_action_url,________)和function.php文件中的其他設置添加代碼來完成此操作?我已經找到了無數的PHP代碼如何重定向的網址,但沒有任何關於PHP來更改表單動作的URL ...道歉在黑暗中重新:這.. – user1102824