从外部PHP页面获取管理员电子邮件地址

时间:2012-11-28 作者:Brock

我正在设置一个“内置”联系人表单,我需要从外部php页面获取管理员的电子邮件地址。

例如,我的表单action="path/to/process_form.php"

在此范围内proces_form.php 我有几个选择。

$msg = "Form Contents: \\n\\n";
foreach ($this->fields as $key => $field)
    $msg .= "$key :  $field \\n";

$to = \'[email protected]\';
$subject = \'New Form Submission\';
$from = $this->fields[\'email\'];
我的目标是从该页面动态获取管理员电子邮件地址,并填充$to = \'\' 地区

任何帮助都将不胜感激!

3 个回复
SO网友:Stephen R

基本上,您要做的是在WordPress站点中创建一个单独的页面,而不是在WordPress本身中创建,但您希望提取WordPress数据。

有一种“骗子”方法和官方认可的方法来做你想做的事。

“骗子”方法是调用wp load。php从单独的php文件中删除。这将加载WP数据库的内容,并允许您访问WP函数。许多人认为这更容易,但我不建议这样做,因为它会在某些设置中导致问题。

官方的做法是从WordPress本身开始。具体来说,通过钩住template_redirect 操作您可以将您喜欢的任何URL重定向到您想要的任何PHP文件,同时仍然可以访问WP,因为您是从WP中运行的。

然后使用get_userdata() 获取用户的电子邮件地址。

SO网友:TomC

How about this:

<?php
// Connect to WP 
require(\'/path/to/wp-blog-header.php\'); 
global $wpdb;

$admin_email = get_option( \'admin_email\' ); ?> 

$msg = "Form Contents: \\n\\n";
foreach ($this->fields as $key => $field)
    $msg .= "$key :  $field \\n";

$to = $admin_email;
$subject = \'New Form Submission\';
$from = $this->fields[\'email\'];

?>
SO网友:s_ha_dum

你不能include 它没有执行,看起来这将是一个问题。

除非您可以编辑“外部php页面”并以更方便的方式设置变量,否则您可能会被困于读取文件并从中正则化电子邮件。这种方法的问题是,您无法控制文件,因此文件可能会更改,代码可能会中断。它可能是内存密集型的,速度也很慢。如果有必要,我只会那样做。

最好的解决方案是在其他地方设置电子邮件值,可能是一个常量,并且忘记尝试提取电子邮件地址。查看“外部php页面”的代码会有所帮助。

结束

相关推荐

如何为多站点网络定制wp-signup.php?

我在google上搜索定制wp-signup.php 但没有发现运气。我需要的是:用户将注册</在注册过程中,用户将首先付款(如贝宝或信用卡)</用户成功付款时创建子域我的问题是:如何在中添加付款字段wp-signup.php? 我对wordpress真的很陌生。任何指南或链接都对我有很大帮助。登记表如下:用户名、电子邮件地址给我一个网站、付款、注册按钮