2011-09-03 111 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