Ist es möglich, Code in eine spezielle Funktion zu verpacken, die nur ausgeführt wird, wenn das Plugin zum ersten Mal aktiviert wird?
Ich habe einen Datenbankcode, den ich bei der Plugin-Aktivierung ausführen muss, aber der Code muss danach nicht erneut ausgeführt werden.
Ja, das ist möglich. Sie können einen Plugin-Aktivierungs-Hook registrieren, der nur ausgeführt wird, wenn das Plugin aktiviert wird. Ich habe ein altes Plugin ausgegraben, das ich für einen Beispielcode geschrieben habe:
class MyPlugin
{
//constructor for MyPlugin object
function MyPlugin() {
register_activation_hook(__FILE__,array(&$this, 'activate'));
}
function activate()
{
//initialize some stored plugin stuff
if (get_option('myplugin_data_1') == '') {
update_option('myplugin_data_1',array());
}
update_option('myplugin_activated',time());
//etc
}
}
http://codex.wordpress.org/Function_Reference/register_activation_hook
Die Funktion register_activation_hook (eingeführt in WordPress 2.0) registriert eine Plugin-Funktion, die ausgeführt werden soll, wenn das Plugin aktiviert wird.
Denken Sie auch daran, dass Sie, sobald Ihr Plugin von Ihnen selbst/Benutzer deaktiviert wurde, alle Tabellenoptionen entfernen können, die Sie in der wp-Datenbank gespeichert haben. Ich habe kürzlich einen kleinen Beitrag darüber geschrieben und über die Funktion wp register_deactivation_hook() gesprochen.
http://www.martin-gardner.co.uk/how-to-get-your-wordpress-plugin-to-drop-table-from-the-database/
<?php
register_deactivation_hook( __FILE__, ‘pluginUninstall’ );
function pluginUninstall() {
global $wpdb;
$thetable = $wpdb->prefix."your_table_name";
//Delete any options that's stored also?
//delete_option('wp_yourplugin_version');
$wpdb->query("DROP TABLE IF EXISTS $thetable");
}
?>
13943100cookie-checkCode zum Plugin hinzufügen, der nur bei der ersten Aktivierung ausgeführt wird?yes