如何在WordPress中创建一个通过电子邮件发送当前页面的URL的按钮?

时间:2016-05-12 17:46:12

标签: php ajax wordpress

如何按下按钮,在WordPress上发送当前页面的电子邮件链接?我知道有一个插件,但我想知道如何自己做。

这样的事情:

$(function(){
    $('button').click(function(){
        $.ajax({
            data: 'action',
            url: '...'
        }).done(function( response ){
            $('button').html('Thank you');
        })
    })
})

和PHP:

if( $_POST['action'] =='action'){
    mail("joecool@example.com", "My Subject", "text");
}

1 个答案:

答案 0 :(得分:2)

的functions.php

wp_register_script( 'myscript', path/to/script.js, array( 'jquery' ));
wp_localize_script( 'myscript', 'ajaxobj', array('ajaxurl' => admin_url().'admin-ajax.php') );
wp_enqueue_script( 'myscript');

的script.js

$(function(){
     $('button').click(function(){

     var admin_url = ajaxobj.ajaxurl;

     $.ajax({
         type:'POST',
         data: {action: 'mail_func', name: 'danish'},
         url: admin_url
     }).done(function( response ){
         $('button').html('Thank you');
     })
 })
})

和PHP(functions.php)

 add_action( 'wp_ajax_mail_func', 'mail_func_callback' );
 add_action( 'wp_ajax_nopriv_mail_func', 'mail_func_callback' );

 function mail_func_callback(){
     $Name= $_POST['name']; //danish
     wp_mail( $to, $subject, $message, $headers, $attachments );
     die();
 }