WordPressのテンプレートを作り替えてみました。
今まで、中身をみてみようかなと思ってみたものの、なんか面倒でほったらかしにしていたのですが、
自分で書いた文章も自分でみたいわけですが、一覧形式の表示がなく、管理画面からみていたのですが、
少々面倒でもあったので、テンプレートもみてみることにしてみました。

しかし、最初にぶつかったのが、あのPHPのコードとHTMLが入り交じったもので、
非常に自分的にはみにくかったので、部分的にHTML_Template_Sigmaを使って、
HTMLとコードを分けてみました。

まだまだ途中ですが、TOP(HOME)ページと、カテゴリーページだけを対応してみました。
HTMLの方は、以下のような感じにして、できるだけ素のHTMLに近い形をとっています。

<!-- BEGIN WP_IF_HAVE_POST -->
		<h1 class="homeTitle"><span>最近の投稿</span></h1>
		<!-- BEGIN WP_WHILE_POSTS -->
			<div class="Post-inner article">
				<div class="PostMetadataHeader">
					<h2 class="PostHeaderIcon-wrapper">
						<a href="{the_permalink}"  rel="bookmark"><span class="PostHeader">
						{the_title}
						</span></a>
					</h2>
				</div>
			</div>
			<div class="articleInfo">
				<img src="func_bloginfo('template_url')/images/PostDateIcon.png" width="18" height="18" alt="PostDateIcon" align="left" />
				<span>{the_time}</span>
			</div>
	   <!-- END    WP_WHILE_POSTS -->
<!-- END    WP_IF_HAVE_POST -->

ここで、PHPのプログラムの方は以下のように、
HTMLテンプレートのBEGIN\ENDコメントの名称のWP_WHILE_POSTS で自動的にblock_wp_while_postsのメソッドが実行されるようにしています。

function block_wp_while_posts($block_name){
	while(have_posts()){
		the_post();
		$vars = $this->getPlaceholderList($block_name);
		foreach($vars as $varname){
			$value = $this->get_wp_var($varname);
			$this->setVariable($varname,$value);
		}
		$this->parse($block_name);
	}
}
function get_wp_var($varname){
	switch($varname){
		case 'the_title':
			$val = the_title('','',false);
			return $val;
		case 'the_permalink':
			return get_permalink();
		case 'the_time':
			return get_the_time(__('Y/n/j', 'kubrick'));
	}
}

まだまだ強引な実装のレベルですが、少しずつWordPressのテンプレートが作りやすくなっていくかなと、対応しています。
ただ、いざ触ってみると、いろいろとWordPressに関して「あれ?」というというところも出てきました。

お仕事のご依頼・相談を承ります
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら

Leave a Reply

お仕事のご依頼・相談
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら
ソフトウェア&ライブラリ




ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
執筆書籍
本、雑誌等

WEB記事:CodeZine
執筆記事はこちら
カレンダー
2011年2月
« 1月   3月 »
 123456
78910111213
14151617181920
21222324252627
28  

カスタム検索
RSS
Add to Google < !–adsense–>
アーカイブ
カテゴリ
にほんブログ村 IT技術ブログへ