「MultiSite」タグアーカイブ
WordPress に承認フローを追加するには
Revisionary プラグインが良さそう。
・インストールすると revisor(改訂者)という権限が追加される。
・revisor が修正したものはレビュー待ちになる。
・管理者が承認したものが表示される。
・承認前は前のリビジョンが表示される。
・アクションによってメール送信する機能もある。(Peter’s Collaboration E-mails とかを使わなくても良い。)
一応、エラい人が承認できるレベルで半分ぐらい日本語訳した言語ファイルを置いておくので
/plugins/revisionary/languages にアップロードして使ってください。
revisionary-ja
Multisiteの一覧を表示する
Multisiteの一覧を表示する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<ul> <?php global $wpdb, $blog_id; $sites = wp_get_sites(array( 'network_id' => $wpdb->siteid, 'public' => null, 'archived' => null, 'mature' => null, 'spam' => null, 'deleted' => null, 'limit' => 100, 'offset' => 0, )); foreach ($sites as $site) { $my_name = get_blog_details($site['blog_id']); echo '<li><a href="' . $my_name->siteurl . '">' . $my_name->blogname . ' (' . $my_name->post_count . ")</a><br />\n" . get_blog_option($my_name->blog_id, 'blogdescription') . "</li>\n"; } ?> </ul> |
実行結果はここ – 左下のボックス。
※ ちなみに Multisite 設定の WordPress じゃないとハングする(笑)
参考:
wp_get_sites, get_blog_details, get_blog_option
複数のWordPressサイトを1つのサイトから管理
WordPress を Multisite 設定で運用すると、単一ドメインのサブディレクトリかサブドメインでしか管理できない。
次に求めるのは当然、複数の異なるドメイン(サーバ)の WordPress を一か所から一括管理する方法。
これができると複数のWordpressを持っている場合、各段にやりやすくなるので調べてみた。
ManageWP
ASPサービスであるManageWPサイトにログインして管理画面から操作する。
Wordpress には ManageWP Worker プラグインをインストールする。
トライアルはあるが基本有料。また、管理情報をサイトに残すのはちょっと怖い。
有料
無料を信条にしているので却下するが、こんなのもあるという紹介。
InfiniteWP
サイトから InfiniteWP の管理画面をダウンロードして、PHP + MySQL 環境にインストールして使う。
Wordpress には InfiniteWP Client プラグインをインストールする。
有償のアドオンもあるが基本的部分はフリーで使える。
InfiniteWP 管理画面が英語のみ、ソースを見ても多言語化の対策などは見られなかった。
英語に堪能な人はお勧め。まあまあ使える。
MainWP
MainWP Dashboard も MainWP Client も WordPress プラグインで構成される。
有償のアドオンもあるが基本機能はフリー。
多言語化されているが、日本語未対応。
プラグインなので、頑張れば日本語化できる。
今のところ一押し。
その後の顛末(MainWPの日本語化)
続きを読む 複数のWordPressサイトを1つのサイトから管理
WordPress を MultiSite で動かす
WordPress をマルチサイトで動かすと、一つの WordPress エンジンで、複数のサイトが運営できる。
設定手順
- wp-config.php を開いて、”編集が必要なのはここまでです” の前ぐらいに define(‘WP_ALLOW_MULTISITE’, true); を追記する。
- 管理画面で「ツール」→「ネットワークの設定」が新しく追加されるので、必要な情報を入れてインストール。
- wp-config.php と .htaccess を修正しろと指示がでるのでその通りに直す。
wp-config.php
123456define('MULTISITE', true);define('SUBDOMAIN_INSTALL', false);define('DOMAIN_CURRENT_SITE', 'サイトのIPアドレス');define('PATH_CURRENT_SITE', '/サイトのサブディレクトリ/');define('SITE_ID_CURRENT_SITE', 1);define('BLOG_ID_CURRENT_SITE', 1);
.htaccess
12345678910111213RewriteEngine OnRewriteBase /wp/RewriteRule ^index\.php$ - [L]# add a trailing slash to /wp-adminRewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]RewriteCond %{REQUEST_FILENAME} -f [OR]RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - [L]RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]RewriteRule . index.php [L] - ログインし直すと、上のメニューに「参加サイト」 ができている。
「サイトネットワーク管理者」で設定するのがサイト全体の設定。
各々のサイトの情報は個別のサイトのダッシュボードで設定する。
ここら辺が混同しやすので注意。
後は、サイトを追加していく。
- テーマ、プラグインについては予めサイトネットワーク管理者がインストールしたものしか使えない。
- プラグインをネットワークで有効にしておくと、各々のサイトで最初からプラグインが有効にされ、サイトからは見えなくなる。
- 情報は同じデータベースに、プリフィックス_サイトID_テーブル名 という形で保持される。
これを究極につきつめると WordPress.com の様になるわけだな。なるほど。
ただし、自分一人でマルチサイトを使う分には問題ないが、他の人にも開放する場合は、インストールするプラグインにはかなり気を使う必要がありそう。