Category : WordPress
Multiple sites by WordPress3.0
ワードプレス3で複数サイト管理
WordPress3.0にアップグレードをしたので複数サイトの設定をしてみる。
1.ネットワークの作成
define ('WP_ALLOW_MULTISITE', true);
wp-config.php の適当な場所に上記を追記。
再度、管理画面にアクセスすると、”Tools” メニュー内に “Network” という項目が出来ているのでクリック。
2.ネットワークの有効化
管理画面の指示通りに “wp-config.php”、”.htaccess” を編集すれば、”Super Admin” メニューが出現する。
はずだけど、上手くいかない・・・。
define ('WP_ALLOW_MULTISITE', true);
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
$base = '/blog/';
define( 'DOMAIN_CURRENT_SITE', 'decremented.net' );
define( 'PATH_CURRENT_SITE', '/blog/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
どうやら、”wp-config.php” に上記を追加する場所が違ってたみたい。
/** Sets up WordPress vars and included files. */ require_once(ABSPATH . 'wp-settings.php');
上記の上に追記する必要があるらしい・・・。
define ('WP_ALLOW_MULTISITE', true);
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
$base = '/blog/';
define( 'DOMAIN_CURRENT_SITE', 'decremented.net' );
define( 'PATH_CURRENT_SITE', '/blog/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
/* That's all, stop editing! Happy blogging. */
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');
こんな感じに追加すれば無事に動いた。
Delete CSS from gallery thumbnails
ギャラリーのサムネイルの CSS をクリア
// wp-includes/media.php 824行目辺りから
$output = apply_filters('gallery_style', "
<style type='text/css'>
#{$selector} {
margin: auto;
}
#{$selector} .gallery-item {
float: {$float};
margin-top: 10px;
text-align: center;
width: {$itemwidth}%; }
/*#{$selector} img {
border: 2px solid #cfcfcf;
}*/
#{$selector} .gallery-caption {
margin-left: 0;
}
</style>
中略
WordPress3.0 にアップグレードしていじってた部分が元に戻っちゃったんで、修正ついでにメモ。
ギャラリー挿入時の css がまとめて書いてあるので、そこをコメントアウトしておく。
Change font size of Tag cloud
タグクラウドのフォントサイズ変更
// wp-includes/category-template.php 562行目辺り
// 変更前
function wp_tag_cloud( $args = '' ) {
$defaults = array(
'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45,
'format' => 'flat', 'separator' => "\n", 'orderby' => 'name', 'order' => 'ASC',
'exclude' => '', 'include' => '', 'link' => 'view', 'taxonomy' => 'post_tag', 'echo' => true
);
中略
}
// 変更後
function wp_tag_cloud( $args = '' ) {
$defaults = array(
'smallest' => 77, 'largest' => 123.1, 'unit' => '%', 'number' => 45,
'format' => 'flat', 'separator' => "\n", 'orderby' => 'name', 'order' => 'ASC',
'exclude' => '', 'include' => '', 'link' => 'view', 'taxonomy' => 'post_tag', 'echo' => true
);
中略
}
デフォルトでは font-size が “8〜22pt” で出力されるようになっているので、
“77〜123.1%” で出力されるように変更。(Yahoo UI を基準に考えると “10〜16px” 相当)
デフォルトではフォントサイズが大きすぎたので、これでスッキリした。
A specific class is added to the image
投稿画像に特定のクラスを追加
WordPressで投稿画像に毎回クラスを追加するのは面倒なので、ちょこっとPHPを修正して、
楽をしたいんだけど、アップグレードをする度に上書きされるだろうから、メモ。
// wp-includes/media.php 223行目辺り // 修正前 $class = 'align' . esc_attr($align) .' size-' . esc_attr($size) . ' wp-image-' . $id; // 修正後 $class = 'align' . esc_attr($align) .' size-' . esc_attr($size) . ' wp-image-' . $id . ' photo';
これで、一応、記事中に挿入する投稿画像に「photo」というクラスが追加される。
ひとまず、これで様子をみよう。
EnglishDate Plug-in
日付の英語表記
WordPressは便利でとても良く出来ている。
アップデートも管理画面で通知され、そのままアップデート出来る。すこぶる便利。
でも、良くできているが故の融通の効かなさもある・・・。
もともと英語表記のものを、日本語にローカライズしているので、
日付の表記も「2010年1月」って感じになる。
エントリーの日付はテンプレートの記述しだいでなんとでもなるんだけど、
サイドバーのアーカイブはPHPの関数を呼び出すので、いかんともしがたい・・・。
ゴニョゴニョして、直すことは出来るが、アップデートの度に修正する必要があるので不便。
EnglishDateというプラグインを使用すると、ゴニョゴニョしなくても、とりあえずは英語表記になる。
ただ、「2010年 January」という表記になってしまうので、
これを「January 2010」とするためには、もうちょっと、修正が必要。
■wp-includes/general-template.phpの821行目あたり
// 修正前
$text = sprintf(__('%1$s %2$d'), $wp_locale->get_month($arcresult->month), $arcresult->year);
// 修正後
$text = sprintf('%1$s %2$d', $wp_locale->get_month($arcresult->month), $arcresult->year);
上記の方法も結局はアップデートの度に修正が必要・・・。
他に良い方法無いのかな?