• 解決済 dada3

    (@dada3)


    お世話になっております。
    以下のページを参考に、ユーザー権限が寄稿者でも画像をアップロード出来るようにしてみました。

    http://www.softel.co.jp/blogs/tech/archives/2133
    http://wordpress.org/support/topic/allow-contributor-to-upload-media?replies=17#post-1438467

    しかし、それだと運用上あまりよろしくない事がわかり、その設定を取り消したいのですが、functions.phpに記述したコードを消しても、「メディアを追加」ボタンが消えません。

    if (current_user_can(‘contributor’) && !current_user_can(‘upload_files’)) {
    add_action(‘admin_init’, ‘allow_contributor_uploads’);
    }
    function allow_contributor_uploads() {
    $contributor = get_role(‘contributor’);
    $contributor->add_cap(‘upload_files’);
    }

    どのようにすればよろしいでしょうか・
    よろしくお願いいたします。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • テーマを切り替えてみる。
    ブラウザのキャッシュをクリアしてみる。

    ‘add_cap()’の実行で権限がデータベースに保存されたので、逆のことをするといいです。

    Function Reference/add cap – WordPress Codex

    権限削除は’remove_cap()’を使うみたいです。

    Function Reference/remove cap – WordPress Codex

    トピック投稿者 dada3

    (@dada3)

    返信が遅くなりましてすいません。
    頂いた情報を調べてみたのですが、どのように記述したらよいか分かりませんでした。
    http://xov.jp/e/21/
    こちらのサイトも参考にさせていただいたのですが、記述方法を教えて頂く事は出来ませんでしょうか?
    PHPについて勉強不足で申し訳ありません。

    functions.phpに記述したコードを消しても

    データベースに残ってしまいますよね。そのことは理解の上で

    ユーザー権限が寄稿者でも画像をアップロード出来るようにしてみました。

    という事でしょう。

    popup さんの提案もそれを踏まえての情報です。
    データベースのバックアップは最低限とって行われたことでしょう。
    記述方法がわからない場合、バックアップ時点に戻るのが最善ですよね。

    条件分岐をなくして誰がアクセスしても実行されるようにしてます。
    ‘init’なので、管理画面でもサイトへのアクセスでもどちらでも実行されます。
    データベースが変更されたら必要なくなるので、実行後は削除してください。

    add_action( 'init', 'disable_contributor_uploads' );
    function disable_contributor_uploads() {
        $contributor = get_role( 'contributor' );
        $contributor->remove_cap( 'upload_files' );
    }

    カスタム投稿タイプ追加のように削除すれば無効になるコードも、権限追加・削除のように設定変更をデータベースに書き込むコードもあります。
    digit@maetelさんも書いてますが、作業前にデータベースのバックアップを取って置くとすぐに戻せて便利です。

    トピック投稿者 dada3

    (@dada3)

    皆様いろいろとご指導いただきまして有難うございました。
    頂いた情報をもとに無事に対応出来ました。
    有難うございました。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「寄稿者が画像をアップロードできるようにした設定を取り消したい」には新たに返信することはできません。