<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>WPCMS.jp &#187; post</title>
	<atom:link href="http://wpcms.jp/tag/post/feed/" rel="self" type="application/rss+xml" />
	<link>http://wpcms.jp</link>
	<description>WordPressをCMSとした企業サイトやポータルサイト、Webサービス開発方法やTipsなど。 ファーストエレメントが運営する、WordPressに特化した技術系ブログ。</description>
	<lastBuildDate>Sat, 24 Dec 2011 15:54:27 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://wpcms.jp/tag/post/feed/" />
		<item>
		<title>cforms IIで送信失敗する時。</title>
		<link>http://wpcms.jp/202/</link>
		<comments>http://wpcms.jp/202/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 14:01:15 +0000</pubDate>
		<dc:creator>みやざわ</dc:creator>
				<category><![CDATA[運営Tips/注意点]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[インストール]]></category>
		<category><![CDATA[キャッシュ]]></category>
		<category><![CDATA[コンソール]]></category>
		<category><![CDATA[フォーム]]></category>
		<category><![CDATA[メッセージ]]></category>

		<guid isPermaLink="false">https://sv69.xserver.jp/~fe01/wordpress4cms.net/202/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>※「cforms II」を「cform II」と誤って書いていたので表記を直しました。iTunesをiTuneと書いているみたいで恥ずかしいですね(^^;;;</p>
<p><strong>WordPress</strong>に多機能でキレイな<strong>メールフォーム</strong>を簡単に追加できる<strong>プラグイン</strong>「<a href="http://www.deliciousdays.com/cforms-plugin/" target="_blank">cforms II</a>」を触っていて、ちょっとトラブルにハマったのでメモ。プラグインの詳細は別途紹介したいと思います。</p>
<p>■遭遇したこと：<br />
メールが送信できない。「少々お待ちください」のメッセージで止まってしまう。</p>
<p>■原因：<br />
プラグインをインストールした後、WordPressの階層を変えたため。</p>
<p>プラグインをインストール時のWPの位置）</p>
<div class="code">/wp/</div>
<p>その後変えたWPの位置）</p>
<div class="code">/</div>
<p>※ドメイン直下</p>
<p><span id="more-202"></span><br />
　<br />
■起きていたこと：<br />
/cforms/lib_ajax.php の取得に失敗。プラグインインストール時にcforms IIが自動でlib_ajax.phpへのパスを/cforms/js/cforms.jsの６行目に設定してくれていたものが、そのまま残っていた。<br />
つまり、インストール時に</p>
<div class="code"><span style="color: #ff9800">/wp/</span>wp-content/plugins/cforms/lib_ajax.php</div>
<p>と自動的に設定されたが、WPの階層を変えてもその部分はそのままだったため、ファイルが見つからずにエラー。</p>
<p>■行った作業：<br />
/cforms/js/cforms.jsの６行目</p>
<div class="code"><span style="color: #ff9800">/wp/</span>wp-content/plugins/cforms/lib_ajax.php</div>
<p>を</p>
<div class="code">/wp-content/plugins/cforms/lib_ajax.php</div>
<p>に修正して上書きアップロード。</p>
<p>ブラウザの<span style="color: #ff9800">キャッシュを空</span>にして再起動。</p>
<p>以上</p>
<p>■ひとこと：<br />
cforms IIのインストール直後に、管理画面＞cforms IIに何やら注意書きのような以下のメッセージがちゃんと出てたんですよね…問題なく送れてたのでほとんど見てませんでした。</p>
<div class="code">WordPressのルートディレクトリは/wpのようです。cformsはその設定をしかるべく自動調整を試みますが、もしAjax（フォーム送信やCAPTCHAリセット）で問題が生じるならcformsプラグインフォルダーにあるjs/cforms.jsファイルを開き、sajax_uriの値をチェックしてください。（ファイルを変更後、ブラウザのキャッシャを空にしてください。）</div>
<p>WPのディレクトリ変更後はメッセージも表示されなくなって、すっかり頭から抜けておりました。おまけに、ちょうどサーバ側のPHPのバージョンを４から５に変えたりしたので、そっちか？？と悩んでみたり。。といっても30分程度のことでしたが。</p>
<p>Firefoxのアドオン「<a href="https://addons.mozilla.org/ja/firefox/addon/1843" target="_blank">Firebug</a>」のコンソールで確認すると上記ファイルが「404」と表示されて気がつきました。</p>
<p>サイト公開直前にWPの階層を変えた時などは要注意ですね。</p>
<p>※あと、ロリポップ（レンタルサーバ）では初期状態ではPOSTメソッドが許可されていないために送信失敗するようです。<a href="http://wordpressgogo.com/plugin/plugin_cforms.html" target="_blank">こちらをご参照ください→</a><br />
※日本語翻訳ファイルも上記サイトで配布されています。</p>
]]></content:encoded>
			<wfw:commentRss>http://wpcms.jp/202/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://wpcms.jp/202/" />
	</item>
		<item>
		<title>Google Chart APIで動的にグラフ生成</title>
		<link>http://wpcms.jp/199/</link>
		<comments>http://wpcms.jp/199/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 08:58:58 +0000</pubDate>
		<dc:creator>みやざわ</dc:creator>
				<category><![CDATA[カスタマイズ/ハック]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[テーブル]]></category>
		<category><![CDATA[フォント]]></category>
		<category><![CDATA[文字化け]]></category>

		<guid isPermaLink="false">https://sv69.xserver.jp/~fe01/wordpress4cms.net/199/</guid>
		<description><![CDATA[WordPress内のデータをGoogle Chart APIで動的にグラフ作成。 ふと急にGoogle Chart APIを使ってみたくなり、WordPress内のデータを使って動的にGoogle Chart APIで [...]]]></description>
			<content:encoded><![CDATA[<p><strong>WordPress</strong>内のデータを<strong>Google Chart API</strong>で動的にグラフ作成。</p>
<p>ふと急にGoogle Chart APIを使ってみたくなり、WordPress内のデータを使って動的にGoogle Chart APIでグラフを出力するテストをしてみた。</p>
<p>とりあえず、カテゴリごとの記事の割合をグラフにしてみる…こういう目的ならタグクラウドで十分な気もするけど、将来的に応用できそうなので、メモということで。</p>
<p>※先に言ってしまうと、Google Chart APIはまだ日本語対応が十分でなく、ひらがなとカタカナしか表示できません…しかもフォントも微妙。カテゴリースラッグにアルファベット入れてあれば下のコード内のnameの代わりにslagに差し替えて即使えます。</p>
<p><span id="more-199"></span><br />
　<br />
<img src="http://wpcms.jp/wp/wp-content/themes/wpcms/_images/chart-1.png" border="0" alt="Google Chart API" width="450" height="190" /><br />
※漢字が文字化け…<a href="http://groups.google.com/group/google-chart-api/browse_thread/thread/164582d016c9eb39/48971c461618faa3?lnk=gst&amp;q=character#48971c461618faa3" target="_blank">こちらの開発メンバーによるコメント</a>では「取り組んでるけど、簡単じゃないよ」とのことです。。。</p>
<p>【追記 2008-12-11】<br />
今は漢字に対応しているようですよ。試していませんが→<br />
<a href="http://www.revulo.com/blog/20080713.html" target="_blank">Google Chart API で漢字を含む日本語が通るようになった</a>  れぶろぐ</p>
<p><span style="text-decoration: line-through;">ということで日本語はまだ使えないですが、</span>以下解説。</p>
<p>■やっていること：<br />
Google Chart APIは、imgタグのsrcにパラメータ付きのURLを埋め込んでやるだけで簡単にグラフ画像を取得できます（ユーザー登録など不要）。なので、そのURLのパラメータをつくってあげます。カテゴリごとの記事数を取得して、記事の総数に対するパーセンテージを割り出し、APIの書式に従って出力します。</p>
<p>■ソース：<br />
ver.2.3以上（2.5で確認）</p>
<div class="code">＜?php<br />
global $wpdb; </p>
<p><span style="color:#FF9800;">//記事の総数を取得のため</span><br />
$allposts = new WP_Query(&#8220;showposts=-1&#8243;);</p>
<p>$sql = &#8220;SELECT * FROM &#8221; .$wpdb-&gt;terms .&#8221; t &#8220;;<br />
$sql.= &#8221; LEFT JOIN &#8220;.$wpdb-&gt;term_taxonomy .&#8221; tt ON t.term_id = tt.term_id &#8220;;<br />
$sql.= &#8221; WHERE tt.taxonomy != &#8216;link_category&#8217; &#8220;;<br />
$sql.= &#8221; GROUP BY t.term_id &#8220;;<br />
$sql.= &#8221; ORDER BY tt.count DESC &#8220;;<br />
$mycat = $wpdb-&gt;get_results($sql);</p>
<p><span style="color:#FF9800;">//カテゴリごとの記事数のパーセンテージを記事総数から割り出してカンマ区切りで並べる。<br />
//同時に、対応するカテゴリ名を「|」区切りで並べる。<br />
//カウントが0のカテゴリは拾わない。</span><br />
for($i = 0; $i &lt; count($mycat); $i++){<br />
if ( $mycat[$i]-&gt;count != 0 ){<br />
if ($i != 0 ){<br />
$count = $count .&#8221;,&#8221;;<br />
$cat_list = $cat_list .&#8221;%7C&#8221;;<br />
}<br />
<span style="color:#FF9800;">//post_countで記事総数を取得</span><br />
$count = $count .round($mycat[$i]-&gt;count / $allposts-&gt;post_count *100 );<br />
$cat_list = $cat_list .$mycat[$i]-&gt;name;<br />
}<br />
}</p>
<p>$url =&#8221;＜img src=&#8217;http://chart.apis.google.com/chart?&#8221;;<br />
$url.=&#8221;cht=p&#8221;;<br />
$url.=&#8221;&amp;chtt=Google%20Chart%20TEST&#8221;;<br />
$url.=&#8221;&amp;chs=450&#215;190&#8243;;<br />
$url.=&#8221;&amp;chd=t:&#8221; . $count; <span style="color:#FF9800;">// ←カテゴリごとのパーセンテージを挿入</span><br />
$url.=&#8221;&amp;chco=0000ff&#8221;;<br />
$url.=&#8221;&amp;chl=&#8221; .$cat_list; <span style="color:#FF9800;">// ←それぞれのカテゴリ名をラベルとして挿入</span><br />
$url.=&#8221;&#8216; alt=&#8217;Google Chart TEST&#8217; /＞&#8221;;</p>
<p>echo $url;</p>
<p>?＞</p></div>
<p>■ver2.2以前（ME2.2.3で動作確認）※テーブル構造が違うため</p>
<div class="code">＜?php<br />
global $wpdb; </p>
<p><span style="color:#FF9800;">//記事の総数を取得のため</span><br />
$allposts = new WP_Query(&#8220;showposts=-1&#8243;);</p>
<p>$sql = &#8220;SELECT * FROM &#8221; .$wpdb-&gt;categories;<br />
$sql.= &#8221; ORDER BY category_count DESC &#8220;;<br />
$mycat = $wpdb-&gt;get_results($sql);</p>
<p><span style="color:#FF9800;">//カテゴリごとの記事数のパーセンテージを記事総数から割り出してカンマ区切りで並べる。<br />
//同時に、対応するカテゴリ名を「|」区切りで並べる。<br />
//カウントが0のカテゴリは拾わない。</span><br />
for($i = 0; $i &lt; count($mycat); $i++){<br />
if ($mycat[$i]-&gt;category_count != 0){<br />
if ($i != 0 ){<br />
$count = $count .&#8221;,&#8221;;<br />
$cat_list = $cat_list .&#8221;%7C&#8221;;<br />
}<br />
<span style="color:#FF9800;">//post_countで記事総数を取得</span><br />
$count = $count .round($mycat[$i]-&gt;category_count / $allposts-&gt;post_count *100 );<br />
$cat_list = $cat_list .$mycat[$i]-&gt;cat_name;<br />
}<br />
}</p>
<p>$url =&#8221;＜img src=&#8217;http://chart.apis.google.com/chart?&#8221;;<br />
$url.=&#8221;cht=p&#8221;;<br />
$url.=&#8221;&amp;chtt=Google%20Chart%20TEST&#8221;;<br />
$url.=&#8221;&amp;chs=450&#215;190&#8243;;<br />
$url.=&#8221;&amp;chd=t:&#8221; . $count; <span style="color:#FF9800;">// ←カテゴリごとのパーセンテージを挿入</span><br />
$url.=&#8221;&amp;chco=0000ff&#8221;;<br />
$url.=&#8221;&amp;chl=&#8221; .$cat_list;  <span style="color:#FF9800;">// ←それぞれのカテゴリ名をラベルとして挿入</span><br />
$url.=&#8221;&#8216; alt=&#8217;Google Chart TEST&#8217; /＞&#8221;;</p>
<p>echo $url;</p>
<p>?＞</p></div>
<p>以上</p>
<p>■結果：<br />
出力した結果は先の図…文字化けしています。カテゴリごとの記事のパーセンテージが円グラフになり、それぞれに対応するカテゴリ名がラベルとして出力されます。グラフの形や色などパラメータについてはこちらの<a href="http://code.google.com/apis/chart/" target="_blank">Developer&#8217;s guide</a>にいろいろ解説されています。</p>
<p>カスタムフィールドに設定した値を集計してあげれば、いろいろ応用できそうですね。ページごとのアクセス数の推移などもプラグインを併用すれば比較的簡単にグラフ化できそうです。そしてログインしたクライアントにのみ表示する、など。</p>
<p>参考記事）<br />
<a href="http://www.mattcutts.com/blog/pacman-graph-in-google-chart-api/" target="_blank">Google Hacks: Pacman graph with Google Charts</a> Matt Cutts: Gadgets, Google, and SEO (2008/4/24)<br />
<a href="http://blog.livedoor.jp/dankogai/archives/50963768.html" target="_blank">WEB API &#8211; Google Code Chart キター</a> 404 Blog Not Found (2007/12/7)</p>
]]></content:encoded>
			<wfw:commentRss>http://wpcms.jp/199/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://wpcms.jp/199/" />
	</item>
		<item>
		<title>帰ってきた「Customizable Post Listings」</title>
		<link>http://wpcms.jp/198/</link>
		<comments>http://wpcms.jp/198/#comments</comments>
		<pubDate>Sun, 06 Apr 2008 07:02:13 +0000</pubDate>
		<dc:creator>みやざわ</dc:creator>
				<category><![CDATA[お知らせ/日記/その他]]></category>
		<category><![CDATA[2006年]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[アップデート]]></category>
		<category><![CDATA[コミュニティ]]></category>
		<category><![CDATA[デザイン]]></category>
		<category><![CDATA[プラグイン]]></category>
		<category><![CDATA[写真]]></category>

		<guid isPermaLink="false">https://sv69.xserver.jp/~fe01/wordpress4cms.net/198/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>「<strong>Customizable Post Listings</strong>」「Get Custom Field Values」「Auto-hyperlink URLs」など、有名なWordPressのプラグインを開発してきた<a href="http://coffee2code.com/" target="_blank">coffe2code</a>がリニューアルされ、上記プラグインを始めとする多数の新しいプラグインの発表とアップデートが行われ「ている」ところです。</p>
<p>というのは今、</p>
<p><span id="more-198"></span><br />
coffe2codeの管理人でありプラグイン開発者のScott Reilly氏が3/31から始めた「14日間１日１プラグインリリース+アップデート」の最中だからです。<br />
参考記事：<a href="http://coffee2code.com/archives/2008/03/30/14-days-of-plugins/" target="_blank">14 Days of Plugins</a></p>
<p>３年前の2005年3月、同じ趣旨で「<a href="http://coffee2code.com/archives/2005/03/23/7-days-of-plugins/" target="_blank">7 Days of Plugins</a>」という取り組みが行われ、WordPressコミュニティを大いに湧かせたようです。その時は結果として７日間で10個の新プラグインのリリースと過去リリースしたすべてのプラグインのアップデートを達成したようです。</p>
<p>今回は、やるからには前回以上のことを、ということでプロジェクトの内容を&#8221;２倍&#8221;にして取り組んでいます。最終的には「最低でも」14個の新プラグインのリリースと過去の20個のプラグインのアップデートが行われるということです。</p>
<p>&#8212;<br />
自分の中では何よりも「ScottがWordPressコミュニティにかえってきた！」という印象の方が強いです。というのは、2006年あたりからプラグインのリリースやアップデートは止まっていてサイトのデザインも一部崩れたり、ちょっと寂しい感じでしたよね。「WordPressから離れちゃったのかな」って。</p>
<p>Customizable Post Listings（最近の投稿/ランダム表示など）やCustomizable Comment Listings（最近のコメント表示など）、Author Images（投稿者の写真を表示）など、いくつもお世話になってきました。まだマルチループをうまく使えない頃はあっちこっち使いまくっていたような。。</p>
<p>情報源）<br />
<a href="http://lorelle.wordpress.com/2008/04/05/scott-reilly-two-weeks-of-wordpress-plugin-releases-and-updates/" target="_blank">Scott Reilly: Two Weeks of WordPress Plugin Releases and Updates</a>　Lorelle On WordPress（2008/4/5）</p>
]]></content:encoded>
			<wfw:commentRss>http://wpcms.jp/198/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://wpcms.jp/198/" />
	</item>
		<item>
		<title>記事ごとに違うサイドバーを読込む。</title>
		<link>http://wpcms.jp/191/</link>
		<comments>http://wpcms.jp/191/#comments</comments>
		<pubDate>Thu, 06 Mar 2008 11:38:44 +0000</pubDate>
		<dc:creator>みやざわ</dc:creator>
				<category><![CDATA[カスタマイズ/ハック]]></category>
		<category><![CDATA[else]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[サイドバー]]></category>
		<category><![CDATA[テンプレート]]></category>

		<guid isPermaLink="false">https://sv69.xserver.jp/~fe01/wordpress4cms.net/191/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>※アクセスログの検索キーワードを参考に記事</p>
<p><strong>WordPress</strong>サイトで、特定の<strong>記事ごと</strong>orカテゴリごとに<strong>違うサイドバー</strong>を読込む。</p>
<p>例）<br />
会社概要のページ…記事IDが「１」とする<br />
製品案内のページ…記事IDが「２」とする<br />
　→ sidebar-page.php<br />
スタッフブログ(カテゴリ)…カテゴリIDが「３」とする<br />
　→ sidebar-blog.php<br />
その他<br />
　→ sidebar.php</p>
<p>以上のように記事やカテゴリ毎に別のサイドバーを表示させるには？</p>
<p><span id="more-191"></span><br />
　<br />
※あらかじめ上記ファイル名でそれぞれのサイドバーを作っておく。</p>
<p>■対象テンプレート：<br />
index.php<br />
single.php<br />
page.php<br />
他</p>
<p>■方法：<br />
デフォルトテーマのテンプレートの場合、最後のほうにある</p>
<div class="code">＜?php get_sidebar(); ?＞</div>
<p>を下記のように修正</p>
<div class="code">＜?php<br />
if($post->ID == &#8217;1&#8242; || $post->ID == &#8217;2&#8242;) {<br />
　include(&#8216;sidebar-page.php&#8217;);<br />
} elseif($cat == &#8217;3&#8242;) {<br />
　include(&#8216;sidebar-blog.php&#8217;);<br />
} else {<br />
　get_sidebar();　※sidebar.phpが読込まれます<br />
}<br />
?＞</div>
<p>わかりやすくするために単純に書きましたが、is_single()やis_page()などコンディショナルタグも併用しないと思わぬ結果になることがあると思います。工夫してみてください。</p>
<p>■補足：<br />
sidebar-page.phpの中でさらに「会社概要」と「製品案内」でサイドバーの内容を変えるには、コンディショナルを使って同様に分岐処理。</p>
<div class="code">＜?php<br />
if($post->ID == &#8217;1&#8242;) {?＞<br />
－－－HTMLやPHP－－－<br />
＜?php } elseif($post->ID == &#8217;2&#8242;) {?＞<br />
－－－HTMLやPHP－－－<br />
＜?php } else {?＞<br />
－－－空欄など－－－<br />
＜?php }<br />
?＞</div>
<p>また記事IDの代わりに記事スラッグを使って判断させても良いと思います。</p>
<div class="code">＜?php<br />
if($post->post_name == &#8216;profile&#8217;) {?＞<br />
（以下同様）</div>
<p>以上</p>
]]></content:encoded>
			<wfw:commentRss>http://wpcms.jp/191/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://wpcms.jp/191/" />
	</item>
		<item>
		<title>検索結果の件数を表示</title>
		<link>http://wpcms.jp/190/</link>
		<comments>http://wpcms.jp/190/#comments</comments>
		<pubDate>Wed, 05 Mar 2008 10:09:00 +0000</pubDate>
		<dc:creator>みやざわ</dc:creator>
				<category><![CDATA[カスタマイズ/ハック]]></category>
		<category><![CDATA[post]]></category>

		<guid isPermaLink="false">https://sv69.xserver.jp/~fe01/wordpress4cms.net/190/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>※アクセスログの検索キーワードをヒントに記事</p>
<p><strong>WordPress</strong>の記事一覧（検索結果、カテゴリ一覧、トップページ等）にて、<strong>記事の件数</strong>を表示する。</p>
<p>■書式:<br />
$wp_query->found_posts</p>
<p>■記述例:</p>
<div class="code">＜?php if (have_posts()) : ?＞<br />
＜p＞「＜?php echo wp_specialchars($s, 1); ?＞」の検索結果 ＜?php echo <span style="color:#FF6500;">$wp_query->found_posts</span>; ?＞ 件＜/p＞<br />
＜?php while (have_posts()) : the_post(); ?＞<br />
&#8212;ループ&#8212;<br />
＜?php endwhile; ?＞</div>
<p>■結果:<br />
<img src="http://wpcms.jp/wp/wp-content/themes/wpcms/_images/found_posts.png" width="316" height="176" border="0" align="" alt="found_posts.png" /></p>
<p>【追記】<br />
wordpress 2.0系での記事件数表示</p>
<p><span id="more-190"></span><br />
　<br />
■カテゴリページ</p>
<div class="code">$counter = new WP_Query(&#8220;<span style="color:#FF9800;">posts_per_page=-1</span>&#038;cat=$cat&#8221;);<br />
echo <span style="color:#FF9800;">count(</span>$counter->posts<span style="color:#FF9800;">)</span> .&#8221; 件&#8221;;</div>
<p>※posts_per_page=-1を指定してあげないと、ページ分割された後の数が表示されてしまう（たとえば10件など）</p>
<p>■トップページ（全件）</p>
<div class="code">$counter = new WP_Query(&#8220;showposts=<span style="color:#FF9800;">-1</span>&#8220;);<br />
echo $counter-><span style="color:#FF9800;">post_count</span> .&#8221; 件&#8221;;</div>
<p>■検索結果</p>
<div class="code">$s_word = wp_specialchars(<span style="color:#FF9800;">$s</span>,1);<br />
$counter = new WP_Query(&#8220;posts_per_page=-1<span style="color:#FF9800;">&#038;s=$s_word</span>&#8220;);<br />
echo count($counter->posts) .&#8221; 件&#8221;;</div>
<p>以上</p>
]]></content:encoded>
			<wfw:commentRss>http://wpcms.jp/190/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://wpcms.jp/190/" />
	</item>
		<item>
		<title>自分（Author）のコメントだけ背景色を変える。</title>
		<link>http://wpcms.jp/183/</link>
		<comments>http://wpcms.jp/183/#comments</comments>
		<pubDate>Thu, 31 Jan 2008 13:32:42 +0000</pubDate>
		<dc:creator>みやざわ</dc:creator>
				<category><![CDATA[カスタマイズ/ハック]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[カスタマイズ]]></category>
		<category><![CDATA[スタイルシート]]></category>
		<category><![CDATA[データベース]]></category>

		<guid isPermaLink="false">https://sv69.xserver.jp/~fe01/wordpress4cms.net/183/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><strong>WordPress</strong>の<strong>コメント</strong>欄についてのカスタマイズ。</p>
<p>■目的：<br />
WordPressブログのコメント欄にて、ブログオーナー（記事のAuthor）が書いたコメントだけ、背景色（その他CSS）を変えて、他のコメンターと区別できるようにする。</p>
<p>■現状：<br />
そのコメントが記事投稿者のものかどうか確認するには、そのコメント投稿者名と記事の投稿者名を照らし合わせる必要がある。</p>
<p><span id="more-183"></span><br />
　<br />
■方法：<br />
１．スタイルシートにAuthorコメント用の設定を追加する。</p>
<div class="code">.<span style="color:#FF6500;">authcomment</span> {<br />
background-color: #B3FFCC !important;<br />
}</div>
<p>２．/wp-content/themes/使用中のテーマ/comments.php を開き、</p>
<div class="code">＜li id=&#8221;comment-＜?php comment_ID() ?＞&#8221;＞</div>
<p>このような部分を見付け、下記のように追記。</p>
<div class="code">＜li id=&#8221;comment-＜?php comment_ID() ?＞&#8221;<span style="color:#FF6500;">＜?php<br />
if (1 == $comment->user_id)<br />
$oddcomment = &#8220;authcomment&#8221;;<br />
echo &#8216;class=&#8221;&#8216; . $oddcomment; ?＞&#8221;</span>＞</div>
<p>例：テーマ「EasyAll」の場合15行目</p>
<p>以上。</p>
<p>■解説：<br />
もしコメントのユーザーIDが「1」だったら、そのコメントを囲むdivに「class=&#8221;authcomment&#8221;」が付加される。この場合の「ユーザーID」とは、WordPressブログの登録ユーザーのID。未登録のユーザーが投稿したコメントのuser_idは「0」になる。phpMyadminでMySQLのデータベースのwp_○○○_commentsをのぞくと、「user_id」という欄に「0」が並び、自分が返信した記事のコメントにだけ「1」が入っている。</p>
<p>しかし登録ユーザーでも未ログイン状態で投稿すると「0」になってしまう（はず）なので注意。</p>
<p>また、ユーザーIDが「4」だったら、上記のコードのif (<span style="color:#FF6500;">1</span> == は「<span style="color:#FF6500;">4</span>」になる。</p>
<p>情報源）<br />
<a href="http://www.mattcutts.com/blog/highlight-author-comments-wordpress/" target="_blank">How to highlight author comments in WordPress</a> Matt Cutts: Gadgets, Google, and SEO (2008/1/31)<br />
※リンク先の緑色のコメント欄がブログオーナー＝記事オーサーのコメント。</p>
<p>元ネタはこちらのようです→</p>
<p>http://wordpress.org/support/topic/145946#post-657081</p>
]]></content:encoded>
			<wfw:commentRss>http://wpcms.jp/183/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://wpcms.jp/183/" />
	</item>
		<item>
		<title>記事数に応じたアフィリエイト表示</title>
		<link>http://wpcms.jp/182/</link>
		<comments>http://wpcms.jp/182/#comments</comments>
		<pubDate>Mon, 28 Jan 2008 14:23:45 +0000</pubDate>
		<dc:creator>みやざわ</dc:creator>
				<category><![CDATA[カスタマイズ/ハック]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[アフィリエイト]]></category>
		<category><![CDATA[サイドバー]]></category>
		<category><![CDATA[レイアウト]]></category>

		<guid isPermaLink="false">https://sv69.xserver.jp/~fe01/wordpress4cms.net/182/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><strong>WordPress</strong>に限らずブログなどの動的なWebページでは、本文とサイドバーのレイアウト上のアンバランスが生じることがよくありますね。それを軽減するためのTipsになれば。。</p>
<p>■目的：<br />
カテゴリ一覧や検索結果などで<span style="color:#FF6500;">記事数が少ない場合のみ</span>、<strong>アドセンス</strong>や<strong>アフィリエイト</strong>広告を記事リストの最後に表示する。</p>
<p>■現状：<br />
検索結果が１件しかなかった場合など、サイドバー側はひたすら長く続き、本文側は空白が続く、という見た目よろしくない状態。かといって、検索結果が少なかった場合を想定して本文側に広告を挿入すると、記事数が多かった場合には本文側が膨らむ…。</p>
<p><span id="more-182"></span><br />
■方法：<br />
本文側の記事ループ下に下記を挿入。<br />
「現在のページ内の記事数が３件より少ない」場合のみ、広告を表示する。</p>
<div class="code">＜?php if(<span style="color:#FF6500;">$wp_query-＞post_count ＜ 3</span>): ?＞<br />
&#8212;アドセンス、その他アフィリエイト&#8212;<br />
＜?php endif; ?＞</div>
<p>以上</p>
<p>■解説：<br />
$wp_query は、言ってみれば今ループで展開中のクエリを指し、post_countで展開中のループの数を得ることができます。なので、post_countが３より少なければ以下実行、となります。</p>
<p>記事ごとの文字数もバラバラだろうし、これだけでは解決しないかもしれませんが、マシにはなりますよね？</p>
<p>■補足：<br />
サイドバー側を囲っても同じことですね。５件以上だったらサイドバーのアドセンスを表示する、とか。組み合わせればもっとフレキシブルに。</p>
]]></content:encoded>
			<wfw:commentRss>http://wpcms.jp/182/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://wpcms.jp/182/" />
	</item>
		<item>
		<title>最終更新日時を表示</title>
		<link>http://wpcms.jp/179/</link>
		<comments>http://wpcms.jp/179/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 10:25:02 +0000</pubDate>
		<dc:creator>みやざわ</dc:creator>
				<category><![CDATA[カスタマイズ/ハック]]></category>
		<category><![CDATA[post]]></category>

		<guid isPermaLink="false">https://sv69.xserver.jp/~fe01/wordpress4cms.net/179/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>■目的：<br />
記事の投稿日ではなく、最終更新日時を表示する。</p>
<p>■現状：<br />
通常の記事のループで使われる投稿日時のタグは、<a href="http://codex.wordpress.org/Template_Tags/the_date" target="_blank">the_date()</a> または<a href="http://codex.wordpress.org/Template_Tags/the_time" target="_blank">the_time()</a>。the_dateは、同じ日付の記事が複数ある場合は、最初の記事にしか日付が表示されない。その変わりに the_time(&#8216;Y/m/d&#8217;)とすれば各記事ごとに日時を表示できる。</p>
<p>では投稿日時ではなく、最終更新日時を表示したい時は？</p>
<p><span id="more-179"></span><br />
■方法：</p>
<div class="code">echo $post-＞post_modified</div>
<p>とすると</p>
<div class="code">2007-01-28 16:54:38</div>
<p>このままでも悪くないけど長いので、これを加工して</p>
<div class="code">2007/01/28</div>
<p>とするには、</p>
<div class="code">＜?php<br />
echo <span style="color:#FF6500;">str_replace(&#8220;-&#8221;, &#8220;/&#8221; , substr(</span>$post->post_modified<span style="color:#FF6500;">, 0, 10))</span>;<br />
?＞
</div>
<p>■解説：<br />
PHPの「<a href="http://jp2.php.net/manual/ja/function.substr.php" target="_blank">substr</a>」関数で日付部分…先頭から10文字分を抜き出す。<br />
１つ目の引数が対象となるデータ<br />
２つ目の引数が開始位置（１文字目は 0）<br />
３つ目の引数が抜き出す文字数</p>
<p>↓</p>
<p>結果）2007-01-28</p>
<p>PHPの「<a href="http://jp2.php.net/manual/ja/function.str-replace.php" target="_blank">str_replace</a>」関数で年月日の区切りを「-」から「/」に文字変換する。<br />
１つ目の引数が変換前の文字列<br />
２つ目の引数が変換後の文字列<br />
３つ目の引数が対象となるデータ</p>
<p>↓</p>
<p>結果）2007/01/28</p>
<p>以上</p>
<p>【追記】<br />
ver2.1以降では「<a href="http://codex.wordpress.org/Template_Tags/the_modified_date" target="_blank">the_modified_date</a>」「<a href="http://codex.wordpress.org/Template_Tags/the_modified_time" target="_blank">the_modified_time</a>」というテンプレートタグが使えるようですね。知りませんでした(^^;;<br />
上記内容はver2.0.x用ということで。。</p>
<p>【追記２】<br />
ループ外に、サイトの最終更新日時を表示。</p>
<div class="code">＜?php echo get_lastpostmodified(); ?＞</div>
<p>すべての記事の中で更新日時（post->post_modified_gmt）が最新の値を返してくれます。必要に応じて前出の加工を。ちなみにget_lastpostdate()もあります。<br />
※ME2.0.9で確認</p>
]]></content:encoded>
			<wfw:commentRss>http://wpcms.jp/179/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://wpcms.jp/179/" />
	</item>
		<item>
		<title>プロフィール「自己紹介」欄でHTMLタグを使う。</title>
		<link>http://wpcms.jp/178/</link>
		<comments>http://wpcms.jp/178/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 06:24:07 +0000</pubDate>
		<dc:creator>みやざわ</dc:creator>
				<category><![CDATA[カスタマイズ/ハック]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[カウント]]></category>
		<category><![CDATA[サイドバー]]></category>
		<category><![CDATA[プラグイン]]></category>
		<category><![CDATA[プロフィール]]></category>

		<guid isPermaLink="false">https://sv69.xserver.jp/~fe01/wordpress4cms.net/178/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>2.0.10と2.2.3で確認した内容です。もしかしたらプラグインなどあるのかもしれませんが探してないです。</p>
<p>■目的：<br />
管理画面＞ユーザー＞プロフィール＞自己紹介 欄で入力した＜br ／＞などHTMLタグを、テンプレートタグ the_author_description() で呼び出した時にも有効にする。</p>
<p>■現状：<br />
自己紹介欄に入力した内容は the_author_description() で公開できるが（ただしループ内：ループ外での場合は文末参照）、改行などのすべてのHTMLタグが無効となってしまう。データベースに入る前にHTMLタグがカットされる。</p>
<p><span id="more-178"></span><br />
　<br />
■修正対象ファイル：</p>
<p>2.0系のみ）<br />
/wp-admin/admin-function.php　405行目</p>
<p>修正前）<br />
$user-＞description = <span style="color:#FF6500;">wp_specialchars(trim(</span>$_POST['description']<span style="color:#FF6500;">))</span>;</p>
<p>↓</p>
<p>修正後）<br />
$user-＞description = $_POST['description'];</p>
<p>2.0、2.2系とも）<br />
/wp-includes/default-filter.php　104、105行目</p>
<p><span style="color:#FF6500;">//</span>add_filter(&#8216;pre_user_description&#8217;, &#8216;trim&#8217;);<br />
<span style="color:#FF6500;">//</span>add_filter(&#8216;pre_user_description&#8217;, &#8216;wp_filter_kses&#8217;);<br />
コメントアウト。</p>
<p>以上</p>
<p>内部のスタッフや信用できるユーザーがこの欄を使用する限りは問題ないでしょう。<br />
＜strong＞＜img＞などいずれのHTMLタグも使えると思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://wpcms.jp/178/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://wpcms.jp/178/" />
	</item>
		<item>
		<title>previous_post_link、next_post_linkのin_same_catを孫カテゴリに限定する。</title>
		<link>http://wpcms.jp/173/</link>
		<comments>http://wpcms.jp/173/#comments</comments>
		<pubDate>Thu, 08 Nov 2007 14:30:58 +0000</pubDate>
		<dc:creator>みやざわ</dc:creator>
				<category><![CDATA[カスタマイズ/ハック]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[テンプレート]]></category>
		<category><![CDATA[限定]]></category>

		<guid isPermaLink="false">https://sv69.xserver.jp/~fe01/wordpress4cms.net/173/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>■現状：<br />
個別記事ページにて「前の記事」「次の記事」のリンクを設置できるテンプレートタグ「previous_post_link 」「next_post_link」。このテンプレートタグの３つ目の引数、in_same_cat に trueを設定すると、現在表示している記事と同じカテゴリに属する記事に限定することができる。しかし、投稿時にカテゴリを親カテゴリ＋子カテゴリ＋孫カテゴリともにチェックしている場合、親カテゴリや子カテゴリの記事も含まれてしまい、ほとんど意味をなさなくなってしまう…孫カテゴリ（or 一番深いカテゴリ）に限定して「前の記事」「次の記事」へのリンクを設置したい。</p>
<p>■対象テンプレートタグ：<br />
previous_post_link()<br />
next_post_link()</p>
<p>■ハック対象ファイル：<br />
wp-includes/template-functions-links.php</p>
<p><span id="more-173"></span><br />
　<br />
まずprevious_post_linkを修正。</p>
<p>247行目：$cat_array = get_the_category($post->ID);</p>
<p>のあとに下記を追加↓<br />
248行目：<span style="color:#FF6500;">$cat_depth = count($cat_array) &#8211; 1; </span></p>
<p>※カテゴリ階層の深さに応じて適切なIDを取得するため、配列の最後の位置を取得して下記へ代入。</p>
<p>249行目：$join .= &#8216; AND (category_id = &#8216; . intval($cat_array[<span style="color:#FF6500;">0</span>]->cat_ID);<br />
を下記のように修正↓<br />
249行目：$join .= &#8216; AND (category_id = &#8216; . intval($cat_array[<span style="color:#FF6500;">$cat_depth</span>]->cat_ID);</p>
<p>252～254行目の for～ をコメントアウト。</p>
<p>next_post_link用に279行目からも同様に修正。</p>
<p>■例：<br />
親カテゴリ「ジャンル」<br />
子カテゴリ「ブログ」<br />
孫カテゴリ「WordPress」<br />
それぞれにチェックを入れた記事の場合、孫カテゴリの「WordPress」に属する記事のみへ「前の記事」「次の記事」が有効になる。</p>
]]></content:encoded>
			<wfw:commentRss>http://wpcms.jp/173/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://wpcms.jp/173/" />
	</item>
	</channel>
</rss>

