KANTENNA.COM

Solarized

HOME > WEBプログラム覚書 > [WordPress] テンプレートのごちゃごちゃが限界にきたのでラッパー書いてみた。

[WordPress] テンプレートのごちゃごちゃが限界にきたのでラッパー書いてみた。

[WordPress]テンプレートがごちゃごちゃしてきたらstr_replaceとかでごまかしてきたけど、限界が来たのでラッパーをかいてみた。

初期設定はcaquu/cqt - GitHubをダウンロードしてfuntions.phpに

functions.php
  1.  <?php
  2.  require_once('/path/to/CQT/CQT/CaQuuTools.php');
  3.  CaQuuTools::init();
  4.  ?>

と書いてパスを通します。あとは

PHP
  1.  <?php
  2.  // postオブジェクト作成
  3.  $_posts = CQT_WPLayer::factoryPost(array(998, 834, 995));
  4.  
  5.  foreach ($_posts as $_post) {
  6.   // サムネイルがあれば表示
  7.   try {
  8.   echo $_post->thumnail()->toHTML('<img src="{{{ url }}}" alt="{{{ alt }}}" />', array(
  9.   'alt' => $_post->title
  10.   ));
  11.   } catch (CQT_WPLayer_Exception $e) {
  12.   echo $e->toHTML('{{{ message }}}');
  13.   }
  14.  
  15.   // 投稿へのリンク
  16.   echo $_post->toHTML('<h3><a href="{{{ permalink }}}">{{{ title }}}</a></h3>');
  17.  
  18.   // 投稿した人
  19.   echo '[筆者] ' . $_post->author()->display_name . '<br />';
  20.  
  21.   // 投稿のカテゴリ
  22.   echo '[カテゴリ] ' . $_post->categories()->toHTML('<a href="{{{ link }}}">{{{ name }}}</a>') . '<br />';
  23.  
  24.   // 投稿に付けられたタグ
  25.   echo '[タグ] ' . $_post->tags()->toHTML('<a href="{{{ link }}}">{{{ name }}}</a>');
  26.  
  27.   echo '<hr />';
  28.  }
  29.  
  30.  ?>

のような感じで書けます。結果はCQT_WPLayer::factoryPost() | デザインの汁な感じになります。

single.phpとかなら

PHP
  1.  <?php
  2.  while ( have_posts() ) : the_post();
  3.   // postオブジェクト作成
  4.   $_post = CQT_WPLayer::factoryPost($post)->current();
  5.  endwhile;
  6.  ?>

とするとCQT_WPLayer_Postのメソッドが利用できます。たぶんWordPressに慣れてない人の方がすんなり使えるかも。

WordPress ポケットリファレンス (POCKET REFERENCE)

作者:村上 晴美 | 価格:¥ 2,604

トラックバック(1)

2012年2月 1日 03:57

[WordPress]管理画面のフッタのフィルタとアクション。WEBプログラム覚書

会員制サイトなどで不特定多数の人にログインさせる場合、フッタのバージョン情報は隠しておきたかったり、 こじゃれたメッセージを表示したいときとか使うアクショ...続きを読む

コメント

コメントする
Name
Email Address
URL
TIME LINE
2012
02.23

[Ubuntu]Gimp gimp-painterとショートカットの設定

デフォルトで入ってるGimpにG-PenMixBrushというのを追加すると お絵描きツールとして利用できるみたいなので入れてみた。OSはUbuntu11.10。

2012
02.22

[Ubuntu]動画ダウンロードと検索が簡単にできるGMediaFinder

Youtubeなどから動画を検索、ダウンロードが出来るソフトウェアGMediaFinder。 登録とか広告とか一切ありませんUbuntu版は。Windows版もありますよ。

2012
02.21
2012
02.20

[イラスト]きれいな線のイラストを簡単に描くには?

噂のGumroadを使いたくてTwitterのアカウント作った。タマゴだと友達が出来ないみたいなのでアイコン描こうと思った。 絵を描かなくなって軽く8年は経っていて、トレス台も行方不明だったので初めて下書きから全部デジタルでやってみたんだけど、やばい。

デジタルやばい。

2012
02.15

[WordPress] get_header()とwp_head()を捨てる。

捨てることで何かメリットがあるかと言うと残念ながら特にありませんので、この内容をオススメしてるわけではありません。

2012
02.14

[Eclipse]PDTのデバック構成でURLの自動生成が表示されない。

Linux 版のPDT3.0.2でデバック構成ウィンドウから新規作成するとURLの自動生成が表示されない。

2012
02.13

[PHP]Xdebugでvar_dump()の出力が省略されて困る場合の対応

Xdebugを利用している場合、var_dump()の出力が省略されて困る場合、 xdebug.iniかini_set()で設定する。

2012
02.10

[雑記]縦横がランダムな要素を隙間なく並べるのは無理なのか。

サイトマップ作ったんだけど、やりたかったことが出来なかった。

2012
02.08

[Ubuntu11.10]Winows XPユーザーがUbuntuを使ってみて

Windows XPとUbuntuのデュアルブート環境にしてみておもったこと。