Php 在WordPress页面上添加两次快捷码无效
我为ajax调用创建了一个自定义插件 在页面上添加两次短代码时出现的问题;其中一个不起作用 我试图为每个元素或唯一标识符创建静态id,但它不起作用 我还尝试用一个类包装函数,并用该类的实例调用动作函数,但它也不起作用 我是WordPress和PHP的新手 这是我在自定义插件中的代码示例: PHP文件即ts.PHPPhp 在WordPress页面上添加两次快捷码无效,php,ajax,wordpress,wordpress-plugin-creation,Php,Ajax,Wordpress,Wordpress Plugin Creation,我为ajax调用创建了一个自定义插件 在页面上添加两次短代码时出现的问题;其中一个不起作用 我试图为每个元素或唯一标识符创建静态id,但它不起作用 我还尝试用一个类包装函数,并用该类的实例调用动作函数,但它也不起作用 我是WordPress和PHP的新手 这是我在自定义插件中的代码示例: PHP文件即ts.PHP <?php /* Plugin Name: TS description: A custom plugin to call and handle AJAX request V
<?php
/*
Plugin Name: TS
description: A custom plugin to call and handle AJAX request
Version: 1.0.0
Author: y.w.
*/
function ts()
{
/* creating string variable to hold the content */
$content=''; /* create a string */
$content .='<div id="div_ts_form">';
$content .='<div id="div_ID">';
$content .='<input id="txt_ID" type="text" placeholder="your ID" />';
$content .='</div>';
$content .='<div id="div_btn">';
$content .='<input id="btn_submit" type="submit" name="btn_submit" value="Show Info" />';
$content .='</div>';
$content .='<div id="div_msg" ><mark id="m_msg"></mark></div>';
$content .='</div>';
return $content;
}
add_shortcode('tsform','ts');
/* Include CSS and Script */
add_action('wp_enqueue_scripts','plugin_css_jsscripts');
function plugin_css_jsscripts()
{
// JavaScript
wp_enqueue_script( 'script-js', plugins_url( '/ts.js', __FILE__ ),array('jquery'));
// Pass ajax_url to script.js
wp_localize_script( 'script-js', 'ts_object',
array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
}
/* AJAX request */
## Search record
add_action( 'wp_ajax_searchTSList', 'searchTSList_callback' );
add_action( 'wp_ajax_nopriv_searchTSList', 'searchTSList_callback' );
function searchTSList_callback() {
$return = [];
$msg='';
$ts=array();
if( isset($_POST['tsSubmit']) && $_POST['tsSubmit']=='1')// data submission success
{
/*get information form the post submit */
$ID=($_POST['ID'] ?? '');
/* get data from database using CID or NID */
$path = $_SERVER['DOCUMENT_ROOT'];
include_once $path . '/pioneer/wp-load.php';
include_once $path . '/pioneer/wp-config.php';
$db = new mysqli(DB_HOST, DB_USER,DB_PASSWORD, DB_NAME); //connect to database
// Test the connection:
if (mysqli_connect_errno())// Connection Error
{
$msg=("**Couldn't connect to the database: ".mysqli_connect_error());
$return['success']=0;
$return['message']=$msg;
}
else //connection success
{
//query the database
$sql='';
$sql = "SELECT Full_Name,Type,Status,Note FROM Individual WHERE ID ='" . $ID ;
}
$result = $db->query($sql);
//get the result
$rowsNo=$result->num_rows;
if ( $rowsNo > 0) {
$en_data = array();
while($row = $result->fetch_assoc())// output data of each row
{
$ts[] = array( 'Name' => $row['Full_Name'],'Type' => $row['Type'], 'Status' =>$row['Status'], 'Note' => $row['Note']);
}
$msg .= $rowsNo . ' records are found.'; //record the number of records found
}else {
$msg.='**No records are found!';
}
//close connection to db
$db->close();
/* return info for the user */
$return['success']=1;
$return['message']=$msg;
$return['rows']= $ts;
}
}else // data submission error
{
$msg='**Your data was not submitted ! ';
$return['success']=0;
$return['message']=$msg;
}
echo json_encode($return,JSON_FORCE_OBJECT);
wp_die();
}
jQuery(document).ready(function($){
// AJAX url
var ajax_url = ts_object.ajax_url;
// Search record
$('#btn_submit').click(function(){
var ID = $("#txt_ID").val();
if ( !validateID(ID))
{
return false; //exit process inputs
}
// Fetch filtered records (AJAX with parameter)
var data = {
'tsSubmit':'1',
'action': 'searchTSList',
'ID': ID
};
$.ajax({
url: ajax_url,
type: 'post',
data: data,
success: function(data){
// Add new rows to table
createmsg(data)
}
});
});
// validate ID
function validateID(ID)
{
//blank or empty or null or whitespace
if(!$.trim(ID))
{
$("#div_msg").css('display','block');
$("#m_msg").text('**You must enter your ID !');
return false;
}
//not digit
if(/\D/g.test(ID ))
{
$("#div_msg").css('display','block');
$("#m_msg").text('**You must enter digit ID !');
return false;
}
//not valid len
var validLen= 10;
if(ID.length != validLen)
{
$("#div_msg").css('display','block');
$("#m_msg").text('**You must valid length ID !');
return false;
}
return true;
}
// Add response object
function createmsg(data)
{
var jdata = JSON.parse(data);
if( jdata.success == 1) //submission sucess
{
$("#m_msg").text(jdata.message);
$("#div_msg").css('display','block');
}else //submission failed
{
var mess ='';
mess = '**Your information has not been submitted! ';
$("#div_msg").css('display','block');
$("#m_msg").text(mess);
}
}
});