ローカル環境での管理画面にアクセスできない!

とあるサイトをWordPressも含めてまるごとMANP環境にDLしてデータベースも移行し。
DBの必要項目をローカル環境に合わせて起動確認。
サイトの動きに関しては問題はないけどログインをしようとすると。

wp-adminを叩いた際にリダイレクトされてログイン画面に遷移するはずがリダイレクトのURLが表示されたまま画面が停止する。

http://wordpress.local6/wp/wp-login.php?redirect_to=http%3A%2F%2Fwordpress.local6%2Fwp%2Fwp-admin%2F&reauth=1

クッキーの問題かと思い削除するも効果なし。
セカンダリブラウザでアクセスするも同様の症状なのでクッキー関係ではなく。
データベースのsiteurlやhomeもちゃんと変更済み。

う〜〜〜んと悩んだが。
もしかしてWordPressのバージョンが古すぎるのか?と思い至り。

最新のWordPressを手動で更新して無事にログイン。
ちなみにDL元のphpは5.3のCGIモードだった。
移管先は7.2モジュールになるから
私も5.2で放置していたからどっこいどっこいだけど普通はこういうところは更新しないよねぇ・・・。

任意の状況で404を返す。

function page_not_found_404() {
	$post_type = "post_type"
	if( is_post_type_archive($post_type) || $post_type == get_post_type() ) {
		if(!is_user_logged_in()){
			status_header(404);
			include(TEMPLATEPATH . '/404.php');
			exit();
		}
		return;
	}

}
add_action('template_redirect', 'page_not_found_404');

当たり前だけどインクルードを使っているのでテーマフォルダの中に404.phpがないと機能しないからね。

WordPressのRSSの時間帯について[RSS]

デフォルトでそのまま出すと9時間ほどずれるから

date_default_timezone_set( 'Asia/Tokyo' );

これをfunctionsにいれ
設定からタイムゾーンを東京にしてね。

最初の画像を取得!

むー?

global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+?src=[\'"]([^"]+)[\'"].*?>/i', $post->post_content, $matches);//"
$first_img = str_replace( "http://hoge.com", "",$matches[1][0]);
if(empty($first_img)){
$first_img = "/p_sample.jpg";
}
echo $first_img;

これはすばらしい。
まーべらすまーべらす

下はだめ

$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);