Yurufuwa007

Post on 11-Jul-2015

2.328 views 0 download

Transcript of Yurufuwa007

WordPressの管理画面を カスタマイズして、

運用しやすくしよう!

第7回ゆるふわ勉強会

プロフィール

twitter:@regret_raym Yuu

プロフィール

今までの発表のおさらい

本日の内容

1. 効率よく運用するために

2. なぜカスタマイズが必要なのか

3. 実際にやってみる

効率よく運用するために

担当者別にユーザを用意 • 担当者が複数いる場合は、それぞれ

にユーザアカウントを用意しよう。

• 複数アカウントにより、柔軟な管理・運用が行える。

担当者別に合わせた権限設定 • 誰に公開・編集権限があるのか?

• 権限レベルを適切に設定することで、ミスを防ぐことができる。

ユーザ権限 • WordPressでは、デフォルトで下記の権

限が用意されています。

管理者 すべての権限

編集者 記事の投稿・編集とカテゴリの管理など

投稿者 記事の投稿と編集

寄稿者 記事の編集と閲覧

購読者 記事の閲覧のみ

何でも設定できる管理者権限を全員に与えてしまうと、うっかりデータ削除されてしまうなど…

サイトごとに沿ったユーザ権限を設定して、効率のよい運用システムを作ろう

DEMO

なぜカスタマイズが必要なのか

WordPressはブログなので、デフォルトのままだと使わない機能もあったりする。

ウェブサイトは日々の運用が一番重要。で、なおかつ大変なので、使いやすいCMSにすることが大事。

操作方法はシンプルが一番。 カスタマイズしておけば マニュアルの作成と、 レクチャーのコスト削減!

WordPressを カスタマイズするには?

PHPが書ければ 何でもできます

PHPが分からなくても! • WordPressはプラグインが豊富な

ので、もちろんカスタマイズのためのプラグインも。

• 利用するユーザ数も多いため情報がたくさんある。つまりググる。

それでも覚えておくといいこと • WordPressのコアファイルを直接

弄るのはNG

• カスタマイズするのであればどういう仕組みなのかを理解しておくのが大事。

読んでおいたほうがいいもの • WordPressをカスタマイズするな

ら覚えておきたいアクションフックとフィルターフック

http://webdesignrecipes.com/wordpress-action-hook-and-filter-hook/

• WordPress カスタマイズベーシック – コピペプログラマーからの脱出

http://2012.osaka.wordcamp.org/timetable/305-1/

WordPressの カスタマイズで出来る事

ユーザを迷わせないために • サイトに使わない機能などは、非表

示にしておこう

サイトによっては、使わないメニューもいくつか。

アップデート通知 • アップデート通知を管理者以外のア

カウントには表示させない

アップデートするときは、サイト構成次第で注意が必要!

一般設定に項目追加

一般設定にあらかじめ項目を追加しておくとか

実際にやってみよう

「ゆるふわ株式会社」 http://biz.yuru-fuwa.com/

飛ぶ鳥を落とすところからステルスマーケティングまで、WEBの可能性を余すところなく使いきるエコロジーなweb制作会社です。

管理画面はこんな感じ

ダッシュボードの削除

functions.phpに書く

ダッシュボードの削除 function ex_remove_dashboard_widgets() { global $wp_meta_boxes; //グローバル変数 } add_action( 'wp_dashboard_setup', 'ex_remove_dashboard_widgets‘ );

ダッシュボードの削除 function ex_remove_dashboard_widgets() { global $wp_meta_boxes; // ここに処理を書く } add_action( 'wp_dashboard_setup', 'ex_remove_dashboard_widgets‘ );

ダッシュボードの削除 function ex_remove_dashboard_widgets() { global $wp_meta_boxes; //unset(指定した変数を破棄)を使ってWordPressブログの表示を削除 unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary‘]); } add_action( 'wp_dashboard_setup', 'ex_remove_dashboard_widgets‘ );

ダッシュボードの削除 当日きていた、まがりん先生にアドバイス頂きました。

ダッシュボードの削除

remove_all_actions('wp_dashboard_setup'); function hmr_dashboard_widgets() { remove_meta_box( 'dashboard_right_now', 'dashboard', 'normal' ); } add_action( 'wp_dashboard_setup', 'hmr_dashboard_widgets' );

ダッシュボードの削除

アップデート通知の非表示

functions.phpに書く

アップデート通知の非表示

if (!current_user_can('edit_users')) { function wphidenag() { remove_action( 'admin_notices', 'update_nag‘ ); } add_action('admin_menu','wphidenag'); }

アップデート通知の非表示 if (!current_user_can('edit_users')) { function wphidenag() { remove_action( 'admin_notices', 'update_nag‘ ); } add_action('admin_menu','wphidenag'); }

アップデート通知の非表示 if (!current_user_can('edit_users')) { function wphidenag() { remove_action( 'admin_notices', 'update_nag‘ ); } add_action('admin_menu','wphidenag'); }

管理者権限以外に適応

アップデート通知の非表示 if (!current_user_can('edit_users')) { function wphidenag() { remove_action( 'admin_notices', 'update_nag‘ ); } add_action('admin_menu','wphidenag'); }

アップデート通知の非表示 if (!current_user_can('edit_users')) { function wphidenag() { remove_action( 'admin_notices', 'update_nag‘ ); } add_action('admin_menu','wphidenag'); }

お知らせを消す関数

アップデート通知の非表示 if (!current_user_can('edit_users')) { function wphidenag() { remove_action( 'admin_notices', 'update_nag‘ ); } add_action('admin_menu','wphidenag'); }

アップデート通知の非表示 if (!current_user_can('edit_users')) { function wphidenag() { remove_action( 'admin_notices', 'update_nag‘ ); } add_action('admin_menu','wphidenag'); }

admin_menuに フック

といったように、 ユーザー権限に応じて 管理画面での表示をカスタマイズしていきます

プラグインを使う

WP Total Hacs

http://wordpress.org/extend/plugins/wp-total-hacks/

DEMO

ご清聴 ありがとうございました。