2014-12-09 10 views
-1

У меня есть плагин, который содержит функцию для вставки/получения данных из БД. Вопрос в том, как я могу использовать 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>'; 
     } 
    } 
?> 

проблема Город выпадающий не может получить значения.

+0

Это звучит как JQuery в настоящее время помещён просто отлично. Где вы видите ошибку? – rnevius

+0

, когда я нажимаю кнопку управления + Shift + J в браузере консоли. и код не работает – Bassem

+0

@webeno, я уже прочитал его, но некоторые моменты не ясны – Bassem

ответ

1

С помощью

wp_enqueue_script($handle, $src, $deps, $ver, $in_footer); 

Чтобы Епдиеие Script в файле плагина

Пример

function my_scripts_method() { 
wp_enqueue_script(
    'jsscript', 
    plugins_url('/js/jsscript.js' , __FILE__), 
    array('jquery') 
); 
} 

add_action('wp_enqueue_scripts', 'my_scripts_method'); 

ссылка- http://codex.wordpress.org/Function_Reference/wp_enqueue_script

+0

. работа, я отправлю свой код, пожалуйста, проверьте его, скажите, почему он не работает. – Bassem

+0

Пожалуйста, проверьте его сейчас – Bassem

+0

hey plz enqueue my_scripts_method() функция вне функции form_creation() i вещь будет работать нормально –

2

Вы явно включаете другой файл сценария/js в другое место в вашей реализации wordpress, но не заставляете его зависеть от jQuery, поэтому он запускается до загрузки jQuery. Поэтому убедитесь, что ваш собственный скрипт, содержащий код jQuery, зависит от него.

Смотрите ниже (обратите внимание array('jquery') внутри функции):

<?php 

function my_scripts_method() { 
    wp_enqueue_script(
     'custom-script', 
     get_stylesheet_directory_uri() . '/js/custom_script.js', 
     array('jquery') 
    ); 
} 

add_action('wp_enqueue_scripts', 'my_scripts_method'); 

?> 

Источник: Function Reference/wp enqueue script - Link a Theme Script Which Depends on jQuery

+0

тоже не работает, я отправлю свой код, пожалуйста, проверьте его, скажите, почему он не работает. – Bassem

+0

, пожалуйста, проверьте код выше – Bassem

Смежные вопросы