我正在尝试在用户可以输入电话号码的网站上实施一个选项,他们会收到短信。我正在使用Twilio而我正在使用WordPress。
我尝试为此创建一个简单的插件,但是我被卡住了。我看到了短代码,但我的表单没有显示。
插件在WordPress插件文件夹中的设计如下。我将这个插件命名为twilio-sms然后我在项目中包含了Twilio php库并命名为twilio-php:
我的目录结构如下所示
插件文件夹:=> twilio-SMS
twilio-php(图书馆)
sms.php
form.php
在我的项目中,我还有两个文件:form.php显示表单,sms.php应该处理post请求。
sms.php
<?php
if( !defined( 'MY_PATH' ) ) {
define( 'MY_PATH', plugin_dir_path( __FILE__ ) );
}
require_once( MY_PATH . 'twilio-php/Twilio/autoload.php' );
// Your Account SID and Auth Token from twilio.com/console
$sid = 'secret_id';
$token = 'secret_token';
// Use the REST API Client to make requests to the Twilio REST API
$client = new twilio-php\Twilio\Rest\Client;($sid, $token);
// Use the client to do fun stuff like send text messages!
$client->messages->create(
// the number you'd like to send the message to
$_POST['phone'],
array(
// A Twilio phone number you purchased at twilio.com/console
'from' => '+.... My Twilio Number',
// the body of the text message you'd like to send
'body' => "Hey " .$_POST[' name ']. "thiw is my message!"
)
);
form.php
<?php
/*
Plugin Name: Twilio sms
Plugin URI: http://example.com
Description: Send sms using Twilio
Version: 1.0
Author: David
Author URI: http://example.com
*/
function html_form_code() {
echo '<form action="sms.php" method="post">';
echo '<label for="name">Name</label>';
echo '<input type="name" name="name" id="name" placeholder="your name"/><br/>';
echo '<label for="phone">Phone Number</label>';
echo '<input type="tel" name="phone" id="phone" placeholder="+14155551234"/><br/>';
echo '<input type="submit" name="submit" value="Send SMS" />';
echo '</form>';
}
function sl_shortcode() {
ob_start();
html_form_code();
return ob_get_clean();
}
add_shortcode( 'contact_form', 'sl_shortcode' );
?>