$ wpdb->不受Wordpress插件接受的帖子

时间:2011-02-16 02:48:45

标签: wordpress plugins

希望你们都做得很好......

我今天在这里寻找我的问题的答案......

我创建了一个插件并激活它,它不会创建一个表等只是简单的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功能的自动完成功能并且是否安全?

非常感谢!

2 个答案:

答案 0 :(得分:2)

没有插件页面这样的东西。上面的代码可能应该包含在一个函数中,并从WordPress上下文中的某个地方调用,或者应该在动作或过滤器中使用。

答案 1 :(得分:0)

如果您直接访问插件页面而不是从Wordpress中访问,则问题可能是$ wpdb未初始化。这是在WordPress标题中完成的,如果您在Wordpress模板中,它通常包含在页面中。尝试在脚本中包含wp-blog-header.php,如下所示:

include_once(‘wp-blog-header.php’);