Tag : Code

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” 相当)

デフォルトではフォントサイズが大きすぎたので、これでスッキリした。

Progression4 × gaforflash

progression4でGoogle Analytics for Flashを使ってみる

ちょっと使う機会があったのでメモ。
一応、ちゃんと取得出来ているので良しとしておこう。。。

// IndexScene.as

package
{
	import com.flashdynamix.utils.SWFProfiler;
	import com.google.analytics.GATracker;

	public class IndexScene extends SceneObject
	{
		private var _tracker:GATracker;
		private var _swfPath:String;

		public function IndexScene( name:String = null, initObject:Object = null )
		{
			// google analytics
			_tracker = new GATracker( container, "UA-xxxxxxxx-x", "AS3", false );
			manager.addEventListener( ProcessEvent.PROCESS_COMPLETE, onProcessComplete );

			// localhost じゃない場合は swf のパスを取得
			if ( _tracker.config.domainName != "localhost" )
			{
				var _array:Array = manager.stage.loaderInfo.url.split( "/" );
				_swfPath = ( ( _array.length > 4 ) ? "/" : "" ) +  _array.slice( 3, _array.length - 1 ).join( "/" ) + "/";
			}
		}

		// PROCESS_COMPLETE
		private function onProcessComplete( e:ProcessEvent ):void
		{
			if ( _swfPath )
			{
				// google analytics
				var _pathArray:Array = e.targetScene.sceneId.path.split( "/" );
				_tracker.trackPageview( _swfPath + _pathArray.slice( 2, _pathArray.length ).join( "/" ) );
			}
		}
	}
}

■コンストラクタで GATracker を生成して、 イベントリスナーを登録する。(16、17行目)
GATracker の第1引数に DisplayObject を指定し、第2引数に Google Analytics のIDを指定。
第3引数に mode を指定(今回は “AS3″)、第4引数はデバッグの ON/OFF。
第5引数以降はまたの機会に。。。
シーンの遷移後にトラッキングを実行したいのでイベントタイプは ProcessEvent.PROCESS_COMPLETE。

■シーン遷移時にトラッキングを実行(34行目)
_tracker.trackPageview(“/hogehoge”); でトラッキングを実行。

■参考サイト
Google Analytics Tracking for Adobe Flash 関連ドキュメントの日本語訳

それにしても、やっぱり便利すぎるProgression

Delete “.DS_Store”

.DS_Storeファイルなどを再帰的に削除するコマンド

find . -name ".DS_Store" -print -exec rm {} \;

たまに使うのに、よく忘れるのでメモ。
カレントディレクトリ以下の「.DS_Store」を再帰的に削除。

勉強がてら、コマンドを分解してみよう。

find . -name ".DS_Store"

“find . -name” なので、カレントディレクトリ以下のファイル名が「.DS_Store」を検索。

find . -name ".DS_Store" -print -exec <command> {} \;

“find” のアクションの “-print” で検索結果を標準出力する。
“find” のアクションの “-exec” で検索後に <comamnd> を実行。
“{}” を使用すると検索結果を引数にして <comamnd> を実行。

find . -name ".DS_Store" -print -exec rm {} \;

まとめると、検索結果を “-print” で標準出力し、それを引数にして “rm” で削除。

こんな感じであってるかな?

■参考サイト
Linuxコマンド集 INDEX

全然関係ないけど、[bash]のコードカラーリングはキレイだ。