web-dev-qa-db-ja.com

テーマオプション編集機能の問題

私はテンプレートとしてこの 役に立つガイドを使っていくつかのテーマオプションを設定しました 。私は私の編集者にこれらのテーマオプションを更新するオプションを与えたいので、ここで述べたように edit_theme_options機能を認めました

しかし、エディタとしてログインしたときにはオプションページが表示されますが、保存すると 'Cheatin uh?'というメッセージが表示されます。メッセージ。 wp-admin/options.phpページをチェックしました。コードは次のとおりです。

if ( !current_user_can('manage_options') )
wp_die(__('Cheatin’ uh?'));

そのため、manage_options機能なしでオプションを編集することはできません。これは理にかなっています。それはあなたが一般的なオプションとテーマのオプションをどのように区別するのか疑問に思います。私が逃した何かがありますか?

1
Pabline

あなたはあなたのデータを投稿するべきです(wp-admin/options.phpファイルではなく<form action="" ...>を通してあなたのテーマオプションページへ。後者はSettingsの下のもののためです)。

また、私は特に誰かに汚れを投げかけようとしているわけではありませんが、常にあなたが塩の粒であなたがウェブ上で読むというコツを取ってください。例として、同じサイトでのこの投稿は非常に悪いアドバイスを提供します。

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');

上記のコードは完全に壊れています: "the_content"はフィルタで、WPは$ contentがエコーされるのではなく返されることを期待し、WP(プラグインはもちろん)その後も$ contentが続くことを期待します関数が呼び出されます。さらに、the_title()はループに入っていなければゴミを返します。これは、ループの外で抜粋を自動的に生成すると "the_content"が呼び出されるという点で問題があります。

1