it-swarm.com.de

Fehler: Optionsseite nicht gefunden

Dieser Fehler ist wirklich bekannt und jeder, auf den ich schaue, ist einer, den ich nicht tue:

<form method="post" action="options.php">

oder ich registriere meine Optionen nicht, was in der folgenden Klasse nicht der Fall ist:

class CoreTheme_AdminPanel_Admin implements AisisCore_Interfaces_Admin{

    public function __construct(){
        add_action('admin_menu', array($this, 'menu_setup'));
        add_action('admin_init', array($this, 'register_settings'));

        add_option('success_message', false);
    }

    public function init(){}

    public function menu_setup(){
        add_menu_page(
            __('Aisis', 'aisis'), 
            __('Aisis', 'aisis'), 
            'edit_themes', 
            'aisis-core-options', 
            array(
                $this, 
                'build_template'),  
                get_template_directory_uri() . '/images/block.png', 
                31
            );

        add_submenu_page(
            'aisis-core-options', 
            __('Aisis BBPress Options', 'aisis'), 
            __('Aisis BBpress Options', 'aisis'), 
            'edit_themes', 
            'aisis-core-bbpress', 
            array(
                $this, 
                'build_template'
            )
        );

        add_submenu_page(
            'aisis-core-options', 
            __('Aisis Packages', 'aisis'), 
            __('Aisis Packages', 'aisis'), 
            'edit_themes', 
            'aisis-core-packages', 
            array(
                $this, 
                'build_template'
            )
        );

        add_submenu_page(
            'aisis-core-options', 
            __('Aisis Update', 'aisis'), 
            __('Aisis Update', 'aisis'), 
            'edit_themes', 
            'aisis-core-update', 
            array(
                $this, 
                'build_template'
            )
        );
    }

    public function register_settings(){
        register_setting(
            'aisis_options', 
            'aisis_sitedesign', 
            array(
                $this, 
                'option_validator'
            )
        );
    }

    public function build_template(){
        $template = AisisCore_Factory_Pattern::create('CoreTheme_Templates_Builder');
        $template->render_template(CORETHEME_ADMIN_TEMPLATES . 'coretheme.phtml');
    }

    public function option_validator($input){
        $option = get_option('aisis_core');
        $option = $input;
        update_option('success_message', true);
        return $option;
    }
}

warum erhalte ich diesen Fehler? Meine Einstellungen sind registriert, das Formular wird gerendert, alles scheint in Ordnung zu sein.

1
TheWebs

Das Aktionsattribut im Formular-Tag leitet Sie zur Optionsseite weiter. Du brauchst aber auch ein verstecktes Feld mit dem Plugin Slug. Normalerweise ist es ein verstecktes Feld, das wie folgt aussieht: <input type="hidden" value="/wp-admin/options.php?page=[plugin-slug]" name="_wp_http_referer"> wobei [plugin-slug] durch Ihren Plugin-Slug ersetzt wird.

0
Ralf912