2014-11-01 44 views
0

我創建一個新的插件測試,當我在我的WordPress插件激活區域,沒有任何反應......的WordPress:register_activation_hook犯規」工作在我的插件

有沒有人有同樣的問題? 我沒有任何錯誤信息,只是沒有發生...

在此先感謝。

<?php 
/* 
Plugin Name: My Admin 
Plugin URI: 
Description: Seu admin personalizado. 
Version: 0.1.4 
Author: Vinícius Lourenço 
Author URI: 
Text Domain: my-admin 
Domain Path: /languages 
*/ 

register_activation_hook(__FILE__, 'ativar'); 

function ativar(){ 
    add_action('admin_menu','vilourenco_create_menu'); 
} 


function vilourenco_create_menu(){ 
    add_menu_page('Menu de Opções','ViLourenco Settings','administrator', 'admin_fera' , 'vilourenco_menu_page','dashicons-format-status'); 
    add_action('admin_init','vilourenco_register_settings'); 
} 


function vilourenco_register_settings(){ 
    register_setting('vilourenco-options', 'nome'); 
    register_setting('vilourenco-options', 'idade'); 
    register_setting('vilourenco-options', 'cidade'); 
} 

function vilourenco_menu_page(){ 
    ?> 
<div class="wrap"> 
<?php screen_icon(); ?> 
<h2>Vinicius Plugin</h2> 

<?php if(isset($_GET['settings-updated'])) : ?> 
    <div class="updated"> 
     <p>Configurações salvas com sucesso!</p> 
    </div> 
    <?php endif; ?> 

<form method="post" action="options.php"> 
    <?php settings_fields('vilourenco-options'); ?> 
    <?php do_settings_sections('vilourenco-options'); ?> 
    <table class="form-table"> 
    <tr valign="top"> 
    <th scope="row">Nome</th> 
    <td><input type="text" name="nome" value="<?php echo esc_attr(get_option('nome')); ?>" /> </td> 
    </tr> 

    <tr valign="top"> 
    <th scope="row">Idade</th> 
    <td><input type="text" name="idade" value="<?php echo esc_attr(get_option('idade')); ?>" /> </td> 
    </tr> 

    <tr valign="top"> 
    <th scope="row">Porte</th> 
    <td><input type="text" name="cidade" value="<?php echo esc_attr(get_option('cidade')); ?>" /></td> 
    </tr> 
</table> 

<?php submit_button(); ?> 

</form> 
</div> 

<?php } ?> 
+0

你的日誌的內容是什麼?你怎麼能認爲這個問題來自於psoted的代碼? – 2014-11-01 14:22:51

回答

0

register_activation_hook的回調僅執行一次,即處於激活狀態。它通常用於添加選項或創建數據庫表。

註冊插件設置和菜單應該在掛接到(admin)init的單獨函數中完成。

http://codex.wordpress.org/Function_Reference/register_activation_hook

+0

太棒了!謝謝@diggy! 現在我使用add_action()來設置這個函數,register_activation_hook只用於像你說的特定任務。 – 2014-11-01 15:00:36