2016-04-18 3 views
0

時にデータベースを行うことはできません。私のメインのプラグインファイルでWordpressの - add_option私はMAMPを使用して、私のローカルホスト上のWordpressのプラグインに取り組んでいますregister_activation_hook

、私が最初にこれらの行を持っている:私のadmin.phpで

define ('MY_PLUGIN_PATH', plugin_dir_path(__FILE__)); 

// Include admin.php if admin user 
if (is_admin()) { 
    require_once(MY_PLUGIN_PATH . 'admin/admin.php'); 
} 

私は起動時にデータベースをセットアップするため、これらの行があります。

// Runs when plugin is activated 
register_activation_hook(__FILE__,'clsc_install'); 
// Create new database fields 
function clsc_install() { 
    $clsc_options = array(

     'Login_link'  => 'test1', 
     'Login_string'  => 'test2', 
     'Login_class'  => 'test3', 
     'Logout_link'  => 'test4', 
     'Logout_string'  => 'test5', 
     'Logout_class'  => 'test6', 
     'Account_link'  => 'test7', 
     'Account_string' => 'test8', 
     'Account_class'  => 'test9' 

    ); 
    add_option('clsc_options', $clsc_options, '', 'yes'); 
} 

Iドンプラグインを有効にしたときにデータベースに加えられたオプションは表示されません。

私には何が欠けていますか?あなたは

register_activation_hook(__FILE__,'clsc_install'); 

で間違っているの

答えて

0

register_activation_hookの最初のパラメータは、メインのプラグインファイルであるべきで、admin.phpファイルに__FILE__admin.phpないメインのプラグイン・ファイルを参照してください。

には、register_activation_hook(__FILE__,'clsc_install');をメイン・プラグイン・ファイルに入れるか、最初のパラメータを指定します。

main_plugin_file.php

#main_plugin_file.php 
define ('MY_PLUGIN_PATH', plugin_dir_path(__FILE__)); 

// Include admin.php if admin user 
if (is_admin()) { 
    require_once(MY_PLUGIN_PATH . 'admin/admin.php'); 
} 

register_activation_hook(__FILE__,'clsc_install'); 

OR

定数または変数にmain plugin file pathを宣言しregister_activation_hook最初のパラメータにそれを参照します。

plugin_main_file.php

define ('MY_PLUGIN_PATH', plugin_dir_path(__FILE__)); 
define ('PLUGIN_MAIN_FILE',__FILE__); 

// Include admin.php if admin user 
if (is_admin()) { 
    require_once(MY_PLUGIN_PATH . 'admin/admin.php'); 
} 

admin.php

// Runs when plugin is activated 
register_activation_hook(PLUGIN_MAIN_FILE,'clsc_install'); 
// Create new database fields 
function clsc_install() { 
    $clsc_options = array(

     'Login_link'  => 'test1', 
     'Login_string'  => 'test2', 
     'Login_class'  => 'test3', 
     'Logout_link'  => 'test4', 
     'Logout_string'  => 'test5', 
     'Logout_class'  => 'test6', 
     'Account_link'  => 'test7', 
     'Account_string' => 'test8', 
     'Account_class'  => 'test9' 

    ); 
    add_option('clsc_options', $clsc_options, '', 'yes'); 
} 
+0

あなたのコードが読み取れません。 – Meathanjay

+0

私の答えが役に立ったら、それを受け入れることができます。 – Meathanjay

+0

問題ではありません。私はそれを受け入れた!それは多くの助けになり、完璧な意味を作った!ありがとう@Meathanjay –

関連する問題