2011-09-03 66 views
2

我有我的wordpress網站的簡報形式,應該通過短碼被使用:WordPress的外部PHP文件

<form action="newsletter.php" method="post"> 
... 
</form> 

而簡碼應該是:

[newsletter] 

在我的主題選項我有一個輸入字段來輸入電子郵件地址。該值需要存儲在變量$ newsletter.php到

我怎樣才能'連接'與wordpress get_option newsletter.php爲我的輸入?

newsletter.php:

<?php 
$email = $_POST['news']; 

// --- this should be the option from the wordpress panel ------- 
$to = "[email protected]"; 
// --------------------------------- 


$subject = "newsletter request"; 


$date = date("d-m-Y"); 


$email_message = " Newsletter request : \r\n"; 
$email_message .= " ================================================== \r\n "; 
$email_message .= "This user wants to be notified about your website launch : ".$email."\r\n"; 
$email_message .= " ================================================== \r\n"; 
$email_message .= " Request was sent " .$date. " \r\n"; 

$headers = 'From: '.$email."\r\n"; 


if($email != null && $email != ""){ 

mail($to,$subject,$email_message,$headers); 
} 

header("location:../index.php"); 

?> 

我試圖與REQUIRE_ONCE但是,這是不工作...

+0

也許我不明白,找到但爲什麼你需要要求 - 要求得全自動newsletter.php。如果我錯過了,請更多地解釋你真正想要的。我的意思是你需要哪個文件在哪個文件中。感謝美國廣播公司抱歉,如果我錯過 – ZigZag

+0

$不改變,當我在我的管理面板中更改它...有任何想法,我該怎麼做? – BBee

回答

1

那麼你必須創建一個插件,我給指令,以創建一個簡單的插件。我再說一遍簡單。它不是創建插件的唯一方式,但它對您來說很容易。

plugins文件夾中創建一個文件,並從管理面板做這樣的代碼

/** 
* @package Simple Plugin 
* @version 0.0.1 
*/ 
/* 
Plugin Name: Usman 
Author: Muhammad Usman 
Version: 0.0.1 
*/ 

function showpage($content) 
{ 
    if(stristr($content,'[myplugin]')) 
     { 
     if(isset($_POST['your-field'])) 
     { 
      //Write your code 
      //Save fields or so 

      $content="Form submitted"; 
     } 


    } 

    return $content; 
} 

add_filter("the_content","showpage"); 

激活此插件並創建一個頁面,在內容寫[myplugin]。並將您的表單操作提供給此頁的永久鏈接。

更多細節可以在http://codex.wordpress.org/Writing_a_Plugin

+0

它是否必須是插件,我可以插入我的header.php像if(isset($ _ POST ['your-field'])) { //寫下您的代碼 } ...? – BBee

+0

它不是一個正確的方法。當你接受所有的字段或拒絕時,你將無法處理正確的消息。還有其他問題,畢竟這不是一種有效的方式,創建插件會更容易。 – Usman

相關問題