J'ai configuré certaines options de thème en utilisant ce guide utile comme modèle . Je souhaite donner à mes rédacteurs la possibilité de mettre à jour ces options de thème. J'ai donc accordé la possibilité edit_theme_options mentionnée ici .
Cependant, lorsque vous êtes connecté en tant qu'éditeur, je peux voir la page des options, mais lorsque je vais la sauvegarder, je reçois le message 'Cheatin euh?' message. J'ai vérifié la page wp-admin/options.php et le code est le suivant:
if ( !current_user_can('manage_options') )
wp_die(__('Cheatin’ uh?'));
Il semble donc que vous ne pouvez pas modifier les options sans la fonctionnalité manage_options, ce qui est logique. Je me demande comment vous différenciez les options générales des options de thème. Y a-t-il quelque chose que j'ai raté?
Vous devriez publier vos données (via <form action="" ...>
dans la page d’options de votre thème, plutôt que dans le fichier wp-admin/options.php. Ce dernier concerne les éléments sous Paramètres.
Aussi, je ne veux pas jeter la saleté à quelqu'un en particulier, mais toujours suivre les conseils que vous lisez sur le web avec un grain de sel. Cet article sur le même site, à titre d'exemple, offre un très mauvais conseil:
http://themeshaper.com/customize-blog-posts-touching-theme-files/
function myblog_shareontwitter($content) {
print $content; ?>
<p><a href="http://Twitter.com/home?status=Currently reading <?php the_permalink(); ?>" title="Click to send this page to Twitter!" target="_blank">Share <em><?php the_title() ?></em> on Twitter</a></p>
<?php }
add_filter('the_content', 'myblog_shareontwitter');
Le code ci-dessus est complètement cassé: "the_content" est un filtre, WP s'attend à ce que $ contenu soit renvoyé plutôt qu'à un écho, et WP (sans parler des plugins) attend que $ contenu reste immobile être autour après que cette fonction est appelée. De plus, the_title () retournera des ordures si vous n’êtes pas dans la boucle; Cela pose problème car la génération automatique d’un extrait en dehors de la boucle appellera "the_content".