Я пытаюсь научиться писать плагин для WordPress, ставя перед собой цель написать сгенерированный пользователем плагин глоссария после того, как я спросил людей в Twitter, что было бы полезно (ну, я могу также использовать свой опыт обучения, чтобы быть полезным для больше, чем я).
В любом случае, при установке плагин устанавливает таблицу базы данных и добавляет к ней некоторые тестовые данные. Затем, когда отображается содержимое, цикл foreach меняет каждую фразу и заменяет ее плавающим блоком DHTML.
Проблема, однако, в том, что я не могу понять, что происходит с register_activation_hook
; это может быть вызвано, и SQL не работает, или это не может быть вызвано (так или иначе у меня нет дополнительной таблицы в базе данных после того, как я активирую плагин).
Крюк выглядит так:
register_activation_hook(__FILE__, "bot_install");
И код bot_install, как этот
function bot_install()
{
global $wpdb;
$table = $wpdb->prefix."sh_gloss";
$structure = "CREATE TABLE $table (
id INT(9) NOT NULL AUTO_INCREMENT,
phrase VARCHAR(80) NOT NULL,
desc VARCHAR(255) NOT NULL,
UNIQUE KEY id (id)
);";
$wpdb->query($structure);
// Populate table
$wpdb->query("INSERT INTO $table(phrase, desc)
VALUES('Scott Herbert', 'Rockstar Programmer')");
}
ОК, так что, во-первых, пожалуйста, прости запись в базе данных эго, это только для тестирования ...
Во-вторых, есть ли что-то, что я должен был увидеть, что я пропустил?
И в-третьих (и самое главное), как я могу отладить "bot_install"? Могу ли я просто добавить заявления вроде:
echo "in xxxx";
или это испортит заголовки (так как я предполагаю, что весь этот код запускается перед основным выводом).