一日中私を悩ませてきたこの問題があります、そして私はあなたが私を助けてくれることを望みました。私は現在、投稿タイプとしてツアーデートをサポートするために、Wordpress用のプラグインを開発しています(バンドのWebサイト用です)。ツアー日程については、会場を知る必要があるため、分類法の会場を作成しました。メタデータを分類法に追加したいので、Wordpressデータベースにテーブルを追加してみました。これは私がこれまでに得たものです:
global $scooby_db_version;
$scooby_db_version = '0.1';
new Venue();
class Venue {
function __construct(){
add_action('plugins_loaded', array(&$this, 'install'));
}
function install(){
global $scooby_db_version;
global $wpdb;
if(get_site_option('scooby_db_version') != $scooby_db_version){
$table_name = $wpdb->prefix."term_meta";
$sql = "
------- Taxonomy Meta -------
CREATE TABLE $table_name (
meta_id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
term_id bigint(20) unsigned NOT NULL DEFAULT '0',
meta_key varchar(255) DEFAULT NULL,
meta_value longtext,
PRIMARY KEY (meta_id),
INDEX term_id (term_id),
INDEX meta_key (meta_key)
);";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
add_option('scooby_db_version', $scooby_db_version);
}
}
}
これは何もしません。オプションテーブルにエントリがあるため、1回は機能したようですが、更新されません。関数がまったく呼び出されていないように見えますが、呼び出されたとき(したがって、db-entry)、テーブルは作成されませんでした。
この方法でプラグインの作業を続けることができないため、私はこれに本当に不満を感じています。何が悪いのか理解できますか?関数を呼び出さないのか、データベースを更新しないのですか?