WordPress,电子邮件页面的某些部分

时间:2015-10-12 15:29:47

标签: php html wordpress

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

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

我确实尝试了以下内容:

<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 -->

2 个答案:

答案 0 :(得分:0)

  

有没有人有任何想法如何做到这一点,也许只通过电子邮件发送某个类的内容?

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链接上,从而将其放入您正在使用的任何电子邮件客户端的正文字段中。

答案 1 :(得分:0)

嗯,这可能适合你:

的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