web-dev-qa-db-ja.com

すべてのユーザーと管理者のための管理者編集パネルとメタボックス位置と可視性の設定

My WP 3.3の設定には、いくつかの投稿タイプとAdvanced Custom Fieldsプラグイン(多くのメタボックスを作成する)を含むカスタマイズされた編集パネル、およびSEOメタボックスパネル、ScribuのPosts2Posts接続などのプラグインが含まれます。

問題は、これらのパネルの外観の順序がしばしば非常にランダムであることです(たとえAdavanced Custom Fieldsが何らかの順序を提供していても、他のプラグインがそれを持っていないのでメタボックスを変更したいかもしれません)。投稿の種類に応じた掲載順位).

現在、Wordpressでは、適切な権限を持つ各管理者またはユーザーが、編集パネルにメタボックスを自分の望むとおりに配置することができます。しかし... ...すべての管理者が自分でアレンジする必要があります。デフォルト/固定の順序を用意したり、EVERYBODYのパネル位置を設定するのに特にsuperadminまたは1人の管理者に任せる方法はありませんか?

私は少なくとも4人の管理者と数人の編集者/作者を持っています...彼らのアカウントのEACHでログインするパネルを設定する必要はありません...それは愚かで時間がかかり、そしてワードプレスに精通していないユーザにとっては混乱します。

私の場合に役立つ可能性のあるプラグインまたはコードスニペットはありますか?

ありがとうございました

10
unfulvio

Remove_meta_boxを使ってデフォルトのメタボックスを削除し、add_meta_boxを使って別の位置に追加し直すことができます。

add_action('do_meta_boxes', 'wpse33063_move_meta_box');

function wpse33063_move_meta_box(){
    remove_meta_box( 'postimagediv', 'post', 'side' );
    add_meta_box('postimagediv', __('Featured Image'), 'post_thumbnail_meta_box', 'post', 'normal', 'high');
}

上記の答えは次のスレッドからです。 WPメタボックスのデフォルトの位置を変更するにはどうすればいいですか?

更新

主な欲求不満が純粋に利用可能なメタボックスの数であり、各ユーザーがすべてのボックスを必要としているとは思わない場合、functions.phpファイルに追加された以下のコードを使用してより低いユーザーロールまたはすべてのロールからそれらを隠すことができます。注 - このメソッドはメタボックスを隠すだけで、無効にしたり削除したりすることはありません。

//Hide Post Page Options from all except Administrator
if (!current_user_can('administrator')){
function hide_post_page_options() {
global $post;
$hide_post_options = "<style type=\"text/css\"> #wptotwitter_div, wpseo_meta, #al2fb_meta, #misc-publishing-actions .misc-pub-section label, #misc-publishing-actions .misc-pub-section #post-status-display, #misc-publishing-actions .misc-pub-section .edit-post-status, #visibility.misc-pub-section, .al2fb_post_submit, #slugdiv, #edit-slug-box, #screen-options-link-wrap { display: none; }</style>";
print($hide_post_options);
}
add_action( 'admin_head', 'hide_post_page_options'  );
}

//Hide Post Page Options from ALL users
function hide_all_post_page_options() {
global $post;
$hide_all_post_options = "<style type=\"text/css\"> #taxonomy-category li.hide-if-no-js, #commentstatusdiv, #wypiekacz_sectionid, #postexcerpt, #trackbacksdiv, #postcustom, #yarpp_relatedposts { display: none !important; }</style>";
print($hide_all_post_options);
}
add_action( 'admin_head', 'hide_all_post_page_options'  );

基本的には、div idまたはクラスをカンマで区切って入力するだけです。あらゆる種類のメタボックスや領域を隠すことができることを示すために、私はそこに立ち入ったばかりです。

#wptotwitter_div - WP to Twitter plugin
#wpseo_meta - Wordpress SEO by Yoastplugin
#al2fb_meta, .al2fb_post_submit - Add Link to Facebookplugin
#misc-publishing-actions .misc-pub-section label, #misc-publishing-actions .misc-pub-section #post-status-display, #misc-publishing-actions .misc-pub-section .edit-post-status, #visibility.misc-pub-section - Default Wordpress Publish Status and Visibility
#slugdiv, #edit-slug-box - The post slug
#screen-options-link-wrap - The "Screen Options" tab at the top of the page
#taxonomy-category li.hide-if-no-js - The "Most Used" categories tab
#commentstatusdiv - The comments on the post
#wypiekacz_sectionid - Wypiekacz plugin
#postexcerpt - Post excerpt
#trackbacksdiv - Trackbacks
#postcustom - Custom post fields
#yarpp_relatedposts - Yet Another Related Posts Plugin

(SEは見出しを表すために#を使用しているので、例を「コード」に入れています)

私はあなたにこれを捨てると思いました、あなたのように、私はすべてのメタボックスに非常にイライラしたので、結局のところ私はそれが不要なボックスの膨大な数であったと思います。私のウェブサイトの「作者」にとっては、タイトル、コンテンツ、下書きとして保存、今すぐ公開または投稿予定、タグ、カテゴリ、注目の画像など、非常に合理化されています。

7
Travis Pflanz

Adminimize pluginを調べましたか?

ユーザーロールごとにメタボックスを有効化/無効化したり、位置を設定したりできます。それを設定するには少し時間がかかります、そしてドキュメントはきちんとしていますが、きちんとしていますがあなたが説明していることを扱うことができるべきです。

1
JCL1178