希望你们都做得很好......
我今天在这里寻找我的问题的答案......
我创建了一个插件并激活它,它不会创建一个表等只是简单的PHP脚本。
<?php
/*
Plugin Name: F
Plugin URI: h
Description: T
Author: D
Author URI: h
*/
$server = "localhost";
$user = "admin";
$password = "";
$db = "wordpress";
$con = mysql_connect($server,$user,$password);
if (!$con) {
die("database connection error");
} else
{
mysql_select_db($db, $con);
$results = mysql_query("SELECT ID, post_title FROM wp_posts "
. "WHERE "
. "post_status = 'publish' "
);
while($row = mysql_fetch_array($results))
{
echo $row['post_title'];
}
}
自动填充代码如下
$("#imageSearch").autocomplete("<?php echo bloginfo('wpurl')."/wp-content/plugins/foxycomplete/"; ?>foxycomplete.php", {
dataType: "json",
parse: function(data) {
return $.map(data, function(row) {
return {
data: row,
value: row.title,
result: $("#imageSearch").val()
}
});
}
}).result(function(e, item) {
location.href = link(item);
});
});
这是有效的,但我很确定这不是正确的方法。我无法使用wp函数是插件脚本,这似乎不安全,容易被黑客攻击...
任何人都可以请求帮助我如何获取一个php文件来提供可以访问wop功能的自动完成功能并且是否安全?
非常感谢!
答案 0 :(得分:2)
没有插件页面这样的东西。上面的代码可能应该包含在一个函数中,并从WordPress上下文中的某个地方调用,或者应该在动作或过滤器中使用。
答案 1 :(得分:0)
如果您直接访问插件页面而不是从Wordpress中访问,则问题可能是$ wpdb未初始化。这是在WordPress标题中完成的,如果您在Wordpress模板中,它通常包含在页面中。尝试在脚本中包含wp-blog-header.php,如下所示:
include_once(‘wp-blog-header.php’);