Question

I a créé un groupe d'options suivant un tutoriel.

Mais chaque fois que je tente de sauvegarder les paramètres que je reçois les points suivants:

Vous ne disposez pas des autorisations suffisantes pour accéder à cette page.

Toutes les suggestions pour résoudre ce problème?

(Je ne sais pas si cela aide, mais je suis en utilisant Wordpress 3.1.2)

EDIT:

Je n'ai pas la question de l'autorisation si je place le code directement dans le fichier functions.php dans mon dossier thématique.

J'ai le fichier dans functions/custom-functions.php. Je dois changer l' « en-tête emplacement, » ne sais pas comment:

function mytheme_add_admin() {
    global $themename, $shortname, $options;

    if ( $_GET['page'] == basename(__FILE__) ) {
        if ( 'save' == $_REQUEST['action'] ) {
            foreach ($options as $value)
                update_option( $value['id'], $_REQUEST[ $value['id'] ] );

            foreach ($options as $value) {
                if( isset( $_REQUEST[ $value['id'] ] ) )
                    update_option( $value['id'], $_REQUEST[ $value['id'] ]  );
                else
                    delete_option( $value['id'] );
            }
            header("Location: admin.php?page=functions.php&saved=true");
            die;
        }
        else if ( 'reset' == $_REQUEST['action'] ) {
            foreach ($options as $value)
                delete_option( $value['id'] );

            header("Location: admin.php?page=functions.php&reset=true");
            die;
        }
    }
    add_menu_page($themename, $themename, 'administrator', basename(__FILE__), 'mytheme_admin');
}
Était-ce utile?

La solution

Vous ajoutez la page de menu à l'aide du rôle « administrateur ». Le compte que vous utilisez un administrateur?

Note:

1) Vous devez utiliser une appropriée capacité , plutôt que rôle utilisateur . En général, la capacité appropriée pour l'édition des options thématiques est edit_theme_options.

2) Il y a un bug connu avec WordPress, en ce moment, manage_options est nécessaire pour la forme soumettre sur options.php, qui est utilisé par les paramètres Thème pages. Ceci est seulement un problème pour les rôles utilisateur ci-dessous éditeur, et nous espérons être fixé à 3.2 ou 3.3.

3) Si cela est un thème public, vous devez utiliser add_theme_page() (qui ajoute un sous-menu dans le menu « Apparence »), plutôt que add_menu_page() (ce qui ajoute une page de menu de niveau supérieur).

4) Ce tutoriel est considérablement obsolète.

Autres conseils

Vous devez effectuer deux changements dans votre code ...

  1. Modifier le troisième argument de add_menu_page de "administrator" à "edit_theme_options".
  2. Chage header("Location:") ligne de code ...

header("Location: admin.php?page=" . basename(__FILE__) . "&saved=true");

S'il vous plaît faire changement similaire pour Réinitialiser.

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top