Wordpress:register_activation_hook没有'在我的插件上工作

时间:2014-11-01 14:09:56

标签: php wordpress plugins

我正在创建一个新的插件测试,当我在我的wordpress插件区域激活时,没有任何反应......

有没有人有同样的问题? 我没有任何错误信息,只是没有发生......

提前致谢。

<?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 } ?>

1 个答案:

答案 0 :(得分:0)

register_activation_hook的回调只执行一次,即激活时。它通常用于添加选项或创建数据库表。

注册插件设置和菜单应该在单独的功能中完成,连接到(admin)init。

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