HOME>WEBプログラム覚書>[WordPress] テンプレートのごちゃごちゃが限界にきたのでラッパー書いてみた。
[WordPress] テンプレートのごちゃごちゃが限界にきたのでラッパー書いてみた。
[WordPress]テンプレートがごちゃごちゃしてきたらstr_replaceとかでごまかしてきたけど、限界が来たのでラッパーをかいてみた。
初期設定はcaquu/cqt - GitHubをダウンロードしてfuntions.phpに
functions.php
<?php
require_once('/path/to/CQT/CQT/CaQuuTools.php');
CaQuuTools::init();
?>
と書いてパスを通します。あとは
PHP
<?php
// postオブジェクト作成
$_posts = CQT_WPLayer::factoryPost(array(998, 834, 995));
foreach ($_posts as $_post) {
// サムネイルがあれば表示
try {
echo $_post->thumnail()->toHTML('<img src="{{{ url }}}" alt="{{{ alt }}}" />', array(
'alt' => $_post->title
));
} catch (CQT_WPLayer_Exception $e) {
echo $e->toHTML('{{{ message }}}');
}
// 投稿へのリンク
echo $_post->toHTML('<h3><a href="{{{ permalink }}}">{{{ title }}}</a></h3>');
// 投稿した人
echo '[筆者] ' . $_post->author()->display_name . '<br />';
// 投稿のカテゴリ
echo '[カテゴリ] ' . $_post->categories()->toHTML('<a href="{{{ link }}}">{{{ name }}}</a>') . '<br />';
// 投稿に付けられたタグ
echo '[タグ] ' . $_post->tags()->toHTML('<a href="{{{ link }}}">{{{ name }}}</a>');
echo '<hr />';
}
?>
のような感じで書けます。結果はCQT_WPLayer::factoryPost() | デザインの汁な感じになります。
single.phpとかなら
PHP
<?php
while ( have_posts() ) : the_post();
// postオブジェクト作成
$_post = CQT_WPLayer::factoryPost($post)->current();
endwhile;
?>
とするとCQT_WPLayer_Postのメソッドが利用できます。たぶんWordPressに慣れてない人の方がすんなり使えるかも。
投稿日 |
2012年1月13日 01:37 |
カテゴリ |
PHP |
タグ |
WordPress |
トラックバック URL |
http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1253 |
コメント