很抱歉这个简单的问题,(嘿,轻松代表!)但是我从1天开始就是PHP的新手。我必须创建一个wordpress插件/小部件。我在标题中排队了jquery:
jQuery('.court').click(function () {
alert(jQuery(this).attr('id'));
});
并创建了一个打算在插件中单击的类。
<?php
interface IDatabase {
function connect();
function readCSV();
}
class Db implements IDatabase
{
private $connection;
private static $instance;
private function __construct()
{
$host = "localhost";
$user = "root";
$pass = "";
$name = "cart";
$this->connection = new mysqli($host, $user, $pass, $name);
if(mysqli_connect_error()) {
trigger_error("Failed to conencto to MySQL: " . mysqli_connect_error(),
E_USER_ERROR);
}
}
public function connect()
{
if (self::$instance == null) {
self::$instance = new Db();
}
return self::$instance;
}
public function query($sql)
{
$result = $this->connection->query($sql);
$records = array();
while ($row = $result->fetch_assoc()) {
$records[] = $row;
}
return $records;
}
}
$db1 = Db::connect();
$query = $db1->query("SELECT * FROM user_info");
foreach($query as $row=>$val)
{ echo '<tr>';
echo '<td>'.$val['id'].'</td>';
echo '<td>'.$val['username'].'</td>';
echo '<td>'.$val['email'].'</td>';
echo '<td>'.$val['password'].'</td>';
echo '</tr>';
}
class csv implements IDatabase{
public function readCSV($f){fclose($f);}
$f = fopen("http://localhost/csv/cr.csv", "r");
while (($line = fgetcsv($f)) !== false) {
echo "<tr>";
$data = count($line);
foreach ($line as $cell) {
echo "<td>" . htmlspecialchars($cell) . "</td>";
}
echo "</tr>\n";
}
?>
简单的东西,如果我将代码放在页脚中(除了一些JQ之外没有别的东西)它可以工作。如果它在插件中,它不起作用。 Javascript提醒(&#39;热潮&#39;);在插件中工作。
为了在插件中使用jquery,我缺少什么?我显然不想把它放在页脚里,因为它不会打包在那里。
答案 0 :(得分:1)
我必须创建一个wordpress插件/小部件。你是从Scratch编写一个插件吗?如果是这样;尝试在插件的主文件中的任何位置添加以下代码:
<?php
function myPluginScripts() {
wp_enqueue_script( 'jquery-my-plugin', get_site_url() . "/wp-includes/js/jquery/jquery.js", array(), '');
// IN THIS FUNCTION, YOU CAN ADD OTHER JS FILES AS WELL LIKE SO
// UNCOMMENT THE LINE BELOW & CHANGE THE VALUES IF YOU NEED TO
// wp_enqueue_script( 'my-plg-js', 'path/to/my-plg.js', array('jquery'), '');
}
add_action('wp_enqueue_scripts', 'myPluginScripts');
答案 1 :(得分:0)
您需要使用wp_enqueue_script
并明确指定您的脚本作为对jquery的依赖。然后WordPress将确保您的脚本稍后加载,因此可以使用jQuery
对象。