$ wpdb-> сообщения не принимаются Wordpress Pugin - PullRequest
0 голосов
/ 16 февраля 2011

Надеюсь, у вас все хорошо ...

Я здесь сегодня, чтобы найти ответ на мой вопрос ...

Я создал плагин и активировал его, он не создает таблицу и т. Д. Просто простой скрипт 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 ]

2 голосов
/ 16 февраля 2011

Нет такой вещи, как Страница плагина . Приведенный выше код, вероятно, должен быть заключен в функцию и вызываться откуда-то из контекста WordPress, либо его следует использовать в действии или фильтре.

0 голосов
/ 16 февраля 2011

Если вы обращаетесь к странице плагина напрямую, а не из Wordpress, проблема может быть в том, что $ wpdb не инициализируется.Это делается в заголовке WordPress, который обычно включается на странице, если вы находитесь внутри шаблона Wordpress.Попробуйте включить в ваш скрипт wp-blog-header.php примерно так:

include_once(‘wp-blog-header.php’);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...