【问题标题】:How to create a button in WordPress that emails the URL of the current page?如何在 WordPress 中创建一个通过电子邮件发送当前页面 URL 的按钮?
【发布时间】:2016-05-12 17:46:12
【问题描述】:

如何制作一个按钮,当按下该按钮时,会在 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");
}

【问题讨论】:

  • 如果你不想要的插件是免费的,你可以看看他的代码,这样弄的,很有启发:)

标签: php ajax wordpress


【解决方案1】:

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();
 }

【讨论】:

  • @Александр-Рейдзан 我已经编辑了动态获取 ajax url 的答案。请检查。
猜你喜欢
  • 1970-01-01
  • 2015-08-31
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 2012-09-10
  • 1970-01-01
  • 2012-11-17
相关资源
最近更新 更多