Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在wordpress中通过电子邮件通知_Wordpress - Fatal编程技术网

如何在wordpress中通过电子邮件通知

如何在wordpress中通过电子邮件通知,wordpress,Wordpress,当访问者点击链接时,如何通过wordpress中的电子邮件通知该链接已被按下和/或用户ip、城市和国家? 我给了这个链接一个“email link”类。由于链接是HTML,与WordPress直接控制或处理的任何内容都没有关联或集成,所以不能直接使用WordPress。WordPress仅仅是一个结构/过程,通过它,您可以向数据库添加信息,然后在以后检索它 如果你的问题实际上是指更一般的,而不是专门的wordPress意义上的问题,那么答案是多种方式的。例如,您可以创建一些JQuery或JS,在

当访问者点击链接时,如何通过wordpress中的电子邮件通知该链接已被按下和/或用户ip、城市和国家?
我给了这个链接一个“email link”类。

由于链接是HTML,与WordPress直接控制或处理的任何内容都没有关联或集成,所以不能直接使用WordPress。WordPress仅仅是一个结构/过程,通过它,您可以向数据库添加信息,然后在以后检索它

如果你的问题实际上是指更一般的,而不是专门的wordPress意义上的问题,那么答案是多种方式的。例如,您可以创建一些JQuery或JS,在每次单击链接时添加这些信息。但是,您需要与页面标题交互,以尝试获取所有必需的信息

但是,既然已经有了一个自由且可以说是市场领先的工具,为什么还要费心这么做呢

这样做的逻辑过程是使用Google Analytics(或竞争对手的工具),因为它已经收集了此类信息,只需要很少的工作就可以进行设置。如果您需要更具体的“事件”触发数据(例如单击链接),那么您也可以相当轻松地完成此操作

更新

在您的评论中,您明确表示希望在单击链接时向您发送实时电子邮件,因此分析不符合要求。在这种情况下,您需要使用JQuery和AJAX做一些工作

简单地说,您需要做以下事情:

1) 创建一些JQuery来截取所单击链接的url

2) 通过AJAX调用将链接(和标题信息)传递给函数

3) 处理标题数据/发送电子邮件

4) 将用户重定向到从链接传递的url


这里有一个关于在WordPress中创建简单AJAX过程的教程:

类似的内容应该可以让您开始学习

// functions.php
// HTML form markup
function mail_form_stuff() {
    echo '<form action="' . esc_url( $_SERVER['REQUEST_URI'] ) . '" method="post">';
    echo '<p><input type="submit" name="send_the_email_to_admin" value="Click this button"></p>';
    echo '</form>';
}

// make sure the email will allow for html -- not just plain text
add_filter( 'wp_mail_content_type', 'send_the_email_to_admin_content_type' );
function send_the_email_to_admin_content_type() {
  return 'text/html';
}

// if the button is clicked, send the email
function deliver_mail_link_stuff() {
  $admin_email = get_option( 'admin_email' );
  if ( isset($_POST["send_the_email_to_admin"]) ) {
    $_user = wp_get_current_user();
    $_name = esc_html( $_user->user_firstname );
    $_email = esc_html( $_user->user_email );

    $to = $admin_email;
    $subject = "Some person clicked my link";
    $message = 'Hey this person clicked on that button'.'<br>';
    $message .= "the persons email address was: $_email";

    $headers[] = "From: $_name <$_email>" . "\r\n";
    // $headers[] = "Bcc: John Smith <jsmith@gmail.com>" . "\r\n";

    // If everything worked -- display a success message
    if ( wp_mail( $to, $subject, $message, $headers ) ) {
        echo '<p>sent</p>';
    } else {
        echo 'An unexpected error occurred';
    }
    // reset wp_mail_content_type
    remove_filter( 'wp_mail_content_type', 'send_the_email_to_admin_content_type' );
    }
}

function add_short_code_stuff() {
    ob_start();
    deliver_mail_link_stuff();
    mail_form_stuff();
    return ob_get_clean();
}
add_shortcode( 'EMAIL_BUTTON', 'add_short_code_stuff' );

当用户点击我网站上的特定链接时,我希望收到电子邮件通知。我知道analytics可以在dept中告诉我,但它无法向我发送此类通知。@MarkAnderson这不是一个可以通过WordPress直接完成的功能。它根本不知道什么时候点击链接。在这种情况下,您需要使用JQuery或JS进行som工作。我在回答中添加了一些额外的信息。但是如果我有超过这些按钮呢?我想给一个链接起一个类名“email link”,这样它就可以生成电子邮件并通知我访问者点击了链接“a”。对于链接“B”,类可以是“email-link-B”。有什么解决方案吗?而且,这不涉及将访问者发送到所需的uri…我的答案或其他答案对您有帮助吗?如果是,请将适当的答案标记为可接受的解决方案。或者,发布更新,我们将尽力提供帮助。谢谢
echo do_shortcode('[EMAIL_BUTTON]');