У меня есть плагин, который содержит функцию для вставки/получения данных из БД. Вопрос в том, как я могу использовать jquery или связывать любой другой JS внутри плагина wordpress. Я искал и нашел много статей, но это не ясно, пожалуйста, я nead шаги, чтобы добавить файл jquery в моем плагине. belw шаги я попробовал добавьте эти строки в верхней части моей страницы.Использование JQuery внутри плагина wordpress
сво мой код плагина
<?php
/*
Plugin Name: myplugin
Description: form
Version: 4.0
Author: hercal
License: GPL
*/
?>
<?php
function form_creation()
{
global $wpdb;
function my_scripts_method()
{
wp_enqueue_script('fn',plugins_url('/myplugin/fn.js' , __FILE__),
array('jquery')
);
}
add_action('wp_enqueue_scripts', 'my_scripts_method');
?>
<form action=" <?php get_permalink(); ?> " method="post" id="myform">
<table>
<tr>
<td><input type="text" id="txtname" name="txtname" placeholder="Your Name"/> </td>
</tr>
<tr>
<td>
<!-- drop down menu (Country)-->
<select id='select_Country' name="select_Country" >
<option selected="selected" disabled="disabled"> -- Select Country -- </option>
<?php
$query='select Code,Country from _country order by Country';
$result = $wpdb->get_results($query);
foreach($result as $row)
{
echo '<option value='.$row->Code.'>'.$row->Country.'</option>';
}
?>
</select>
</td>
</tr>
<tr>
<td>
<!-- drop down menu (City)-->
<select id="select_city" name="select_city">
<option selected="selected"> -- Select City -- </option>
</select>
</td>
</tr>
<tr>
<td> <input type="submit" id="btnsubmit" value="Submit" name='submit'/> </td>
</tr>
</table>
</form>
<?php } ?>
<?php
if($_POST['submit'])
{
$name=strip_tags($_POST['txtname']);
$country=$_POST['select_Country'];
$city=$_POST['select_city'];
$insertQuery="insert into _customers(Name,Country,City)values('$name','$country','$city')";
$wpdb->query($insertQuery);
}
?>
<?php add_shortcode('test',form_creation); ?>
и ниже fn.js, который находится в C: \ WAMP \ WWW \ тест \ сор-контента \ Plugins \ MyPlugin \ fn.js
<script type="text/javascript">
$(document).ready(function(){
<!-- ajax method to bind the dropdown menu of model-->
$("#select_brand").change(function(){
var id=$(this).val();
var dataString = 'id='+ id;
$.ajax({
type: "POST",
url: "model.php",
data: dataString,
cache: false,
success: function(data)
{
$("#select_Model").html(data);
}
});
});
<!-- ajax method to bind the dropdown menu of city-->
$("#select_Country").change(function(){
var id=$(this).val();
var dataString = 'id='+ id;
$.ajax({
type: "POST",
url: "city.php",
data: dataString,
cache: false,
success: function(data)
{
alert("yes");
$("#select_city").html(data);
}
});
});
});
</script>
и, наконец, код city.php
<?php
if($_POST['id'])
{
global $wpdb;
$id=$_POST['id'];
$query="select id,CountryCode,City from _city where CountryCode='$id'";
$result=$wpdb->get_results($query);
echo '<option selected="selected" disabled="disabled"> -- Select City -- </option>';
foreach ($result as $row)
{
$id=$row->id;
$city=$row->city;
echo '<option value="'.$id.'">'.$city.'</option>';
}
}
?>
проблема Город выпадающий не может получить значения.
Это звучит как JQuery в настоящее время помещён просто отлично. Где вы видите ошибку? – rnevius
, когда я нажимаю кнопку управления + Shift + J в браузере консоли. и код не работает – Bassem
@webeno, я уже прочитал его, но некоторые моменты не ясны – Bassem