【问题标题】:Wordpress - Function parameters not passing inWordpress - 函数参数未传入
【发布时间】:2013-03-29 20:43:13
【问题描述】:

我正在尝试编写一个在我发布新帖子后向我的用户发送电子邮件的函数。这是我目前所拥有的:

require_once('db.php');

$sql="SELECT email FROM table";

$result = sqlsrv_query($sqlsrvconnection, $sql);

$emailList="";

while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)){
    $emailList.=", ".$row['email'];
}

add_action('save_post', 'email_members');

function email_members( $post_id, $emailList )  {

    if ( !wp_is_post_revision( $post_id ) ) {

        $to      = 'example@test.com';
        $subject = 'the subject';
        $message = "email list consists of: ".$emailList;
        $headers = 'From: webmaster@example.com' . "\r\n" .
            'Reply-To: webmaster@example.com' . "\r\n" .
            'X-Mailer: PHP/' . phpversion();

        mail($to, $subject, $message, $headers);

}

}

在我的函数中,我尝试传入 $emailList 变量,但我无法用它做任何事情。我传递错了吗?挂钩到另一个 wp 操作时是否不允许这样做?

【问题讨论】:

  • 可能会问这是什么?它看起来不连贯..您是否要从用户表中获取电子邮件?看起来你让事情变得更简单更复杂然后需要即:像这样的sql查询..我错过了什么吗?你能详细说明你的目标吗?
  • @DavidChase 我正在从与 WP 数据库分离的预先存在的数据库中选择电子邮件。否则我会使用 wpdb。

标签: wordpress email hook php


【解决方案1】:

我发现我的函数在其他地方被调用(使用 save_post 操作)。因此,该函数无权访问 $emailList 变量。我在函数中移动了所有东西(除了 add_action()),一切都很好!

add_action('save_post', 'email_members');

function email_members( $post_id, $emailList )  {

    require_once('db.php');

    $sql ="SELECT email FROM table";

    $result = sqlsrv_query($sqlsrvconnection, $sql);

    $emailList="";

    while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)){
        $emailList.=", ".$row['email'];
    }

    if ( !wp_is_post_revision( $post_id ) ) {

        $to      = 'example@test.com';
        $subject = 'the subject';
        $message = "email list consists of: ".$emailList;
        $headers = 'From: webmaster@example.com' . "\r\n" .
            'Reply-To: webmaster@example.com' . "\r\n" .
            'X-Mailer: PHP/' . phpversion();

        mail($to, $subject, $message, $headers);

    }

}

【讨论】:

    猜你喜欢
    • 2013-11-12
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 2013-03-01
    • 2012-07-16
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    相关资源
    最近更新 更多