Php 在WordPress页面上添加两次快捷码无效

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

我为ajax调用创建了一个自定义插件 在页面上添加两次短代码时出现的问题;其中一个不起作用

我试图为每个元素或唯一标识符创建静态id,但它不起作用

我还尝试用一个类包装函数,并用该类的实例调用动作函数,但它也不起作用

我是WordPress和PHP的新手

这是我在自定义插件中的代码示例: PHP文件即ts.PHP

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