【问题标题】:WordPress, Email certain part of the pageWordPress,通过电子邮件发送页面的某些部分
【发布时间】:2015-10-12 15:29:46
【问题描述】:

我目前正在开发一个页面,该页面需要将内容的某些部分通过电子邮件发送给我自己。

在代码中,是一个循环,它获取所有信息,因此它需要从字面上成为屏幕上文本的副本。

我确实尝试了以下方法:

<a href="mailto:email@emailaddres.com?subject=Test&body=<?php urlencode(the_permalink()) ?>">Email this link to a friend </a>

仅通过电子邮件将页面链接发送给我自己,这将无法使用,因为信息将使用 cookie 保存。

有没有人知道如何做到这一点,也许只通过电子邮件发送某个课程的内容?

编辑

    <script type="text/javascript">
$( document ).ready(function() {
   function getContent() {
  var a = document.getElementsByClassName('email-class');
  var b = "";
  for (var i = 0; i < a.length; i++) {
    b+=a[i].innerHTML;
  }
  return b;
}
});

</script>
        <div id="primary" class="content-area container">
            <main id="main" class="site-main" role="main">

                <div class="row">

                    <div class="col-md-12">


                        <div class="email-class">
                        <h1><?php the_title(); ?></h1>
                        <p><?php echo do_shortcode('[user_favorites user_id="" include_links="true" site_id="" post_types="" include_buttons="false"]');?></p>
                        </div>
<a href="mailto:email@emailaddres.com?subject=Test&body=" onclick="this.href += getContent();">Email this content to a friend </a>


                </div>

            </main><!-- .site-main -->
        </div><!-- .content-area -->

【问题讨论】:

  • 我会推荐你​​,使用 jquery 来获取页面的某些部分,并使用必要的数据向你的脚本发送一个 ajax 请求,然后邮寄!
  • 为什么不创建 PHP 邮件功能并每天或每天发送电子邮件?
  • @GourabNag 这将如何实现,任何链接/教程都会很棒
  • @jdloader 我正在为你写一个答案..

标签: php html wordpress


【解决方案1】:

有没有人知道如何做到这一点,也许只通过电子邮件发送某个课程的内容?

function getContent() {
  var a = document.getElementsByClassName('your-class');
  var b = "";
  for (var i = 0; i < a.length; i++) {
    b+=a[i].innerHTML;
  }
  return b;
}

来自https://stackoverflow.com/a/11666892/1124793

该函数将返回一个包含类 'your-class' 中所有内容的字符串。然后,您可以使用您尝试过的方法将其通过电子邮件发送给自己:

<a href="mailto:email@emailaddres.com?subject=Test&body=" onclick="this.href += getContent();">Email this content to a friend </a>

这会将您从上面从getContent() 获得的内容附加到您最初尝试的 mailto 链接上,因此将其放入您正在使用的任何电子邮件客户端的正文字段中。

【讨论】:

  • 上面好像不行,我觉得是函数的问题,好像只是让页面变白了,可能是PHP错误?
  • 这个答案的代码中没有 PHP,我检查了代码的语法有效性。您是否将“您的班级”更改为您的 wordpress 网站中的现有班级名称?
  • 我放了它,它已经工作了,抱歉,但它没有显示任何信息?
  • 不要将函数 getContent() 放在 $(document).ready 中。放在外面。
【解决方案2】:

好吧,这可能对你有用:

index.php

<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    </head>
    <body>
        <a onclick="send()" id="email_content">Content to be derlivered</a>
        <script>
            $(function(){
                function send(){
                    var inside_html = $("#email_content").html();
                    $.post("send.php", {data: inside_html}, function(data){console.log("success");});
                }
            });
        </script>
    </body>
</html>

send.php

<?php
if(isset($_POST)){
    //reference here for more details in mail() - http://php.net/manual/en/function.mail.php
    $html = $_POST["data"];
    $to = "CHANGE THIS";
    $subject = "CHANGE THIS TOO";
    $body = $html;
    $headers = "FROM: `PLACE-YOUR-EMAIL-ADDRESS-HERE`\n";
    mail($to, $subject, $body, $headers);
}
?>

推荐阅读 - http://api.jquery.com/jquery.post/

http://php.net/manual/en/function.mail.php

【讨论】:

  • 我看腻了,链接根本打不开?
  • 点击链接后查看浏览器控制台,看是否有消息succesd
猜你喜欢
  • 2012-11-17
  • 2023-03-02
  • 1970-01-01
  • 2019-12-25
  • 1970-01-01
  • 1970-01-01
  • 2015-12-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多