<?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/"
	>

<channel>
	<title>こぶたのラッパ &#187; CMS</title>
	<atom:link href="http://hello.lumiere-couleur.com/smilkobuta/category/cms/feed/" rel="self" type="application/rss+xml" />
	<link>http://hello.lumiere-couleur.com/smilkobuta</link>
	<description>とて　とて　ぷっぷっぷー</description>
	<lastBuildDate>Mon, 30 Jan 2012 15:50:04 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>WordPressなどのソース一式をzip圧縮してダウンロードする方法</title>
		<link>http://hello.lumiere-couleur.com/smilkobuta/2010/12/15/wordpress%e3%81%aa%e3%81%a9%e3%81%ae%e3%82%bd%e3%83%bc%e3%82%b9%e4%b8%80%e5%bc%8f%e3%82%92zip%e5%9c%a7%e7%b8%ae%e3%81%97%e3%81%a6%e3%83%80%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%89%e3%81%99/</link>
		<comments>http://hello.lumiere-couleur.com/smilkobuta/2010/12/15/wordpress%e3%81%aa%e3%81%a9%e3%81%ae%e3%82%bd%e3%83%bc%e3%82%b9%e4%b8%80%e5%bc%8f%e3%82%92zip%e5%9c%a7%e7%b8%ae%e3%81%97%e3%81%a6%e3%83%80%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%89%e3%81%99/#comments</comments>
		<pubDate>Tue, 14 Dec 2010 16:39:54 +0000</pubDate>
		<dc:creator>smilkobuta</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://hello.lumiere-couleur.com/smilkobuta/?p=715</guid>
		<description><![CDATA[レンタルサーバーでWordPressなどのCMSを動かしている方は数多くいるかと思いますが、sshやtelnetアクセスができないサーバーも意外に多くあります。 その場合、FTPで時間をかけて何百、何千というファイルをア [...]<p class="a8min_banner"></p>]]></description>
			<content:encoded><![CDATA[<p>レンタルサーバーでWordPressなどのCMSを動かしている方は数多くいるかと思いますが、sshやtelnetアクセスができないサーバーも意外に多くあります。<br />
その場合、FTPで時間をかけて何百、何千というファイルをアップロード、ダウンロードしなければいけません。</p>
<p>アップロードについてはすでに「<a href="http://www.cubic4.net/blog/34-site/68-server-unzip.html" target="_blank">unzip.zip</a>」という素晴らしいツールがありますので、みなさまそちらを使いましょう。</p>
<p>今回ここで紹介するのは、zipで圧縮してまとめてダウンロードする方法です。</p>
<p><strong style="font-size:1.2em;"><a href="http://hello.lumiere-couleur.com/smilkobuta/wp-content/uploads/2010/12/zipdownload.zip">zipdownload.zip</a></strong></p>
<p>上のプログラムをGET＆解凍して出て来るzipdownload.phpを、まとめてダウンロードしたいディレクトリの中にアップロードします。<br />
WordPressの場合は、wp-contentとか、wp-config.phpなどのファイルがあるところにアップすればよいかと思います。</p>
<p>ここまで出来れば、後はブラウザで http://xxx/zipdownload.php のようにリクエストしてください！<br />
download.zipという名前でダウンロードが開始されます。</p>
<p><span style="color: #ff0000;"><strong>ダウンロードが終わった後に zipdownload.php を必ず削除してくださいねー</strong></span>。</p>
]]></content:encoded>
			<wfw:commentRss>http://hello.lumiere-couleur.com/smilkobuta/2010/12/15/wordpress%e3%81%aa%e3%81%a9%e3%81%ae%e3%82%bd%e3%83%bc%e3%82%b9%e4%b8%80%e5%bc%8f%e3%82%92zip%e5%9c%a7%e7%b8%ae%e3%81%97%e3%81%a6%e3%83%80%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%89%e3%81%99/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Contact Form 7で確認用メールアドレスの入力フォームを加える方法</title>
		<link>http://hello.lumiere-couleur.com/smilkobuta/2010/12/02/contact-form-7%e3%81%a7%e7%a2%ba%e8%aa%8d%e7%94%a8%e3%83%a1%e3%83%bc%e3%83%ab%e3%82%a2%e3%83%89%e3%83%ac%e3%82%b9%e3%81%ae%e5%85%a5%e5%8a%9b%e3%83%95%e3%82%a9%e3%83%bc%e3%83%a0%e3%82%92%e5%8a%a0/</link>
		<comments>http://hello.lumiere-couleur.com/smilkobuta/2010/12/02/contact-form-7%e3%81%a7%e7%a2%ba%e8%aa%8d%e7%94%a8%e3%83%a1%e3%83%bc%e3%83%ab%e3%82%a2%e3%83%89%e3%83%ac%e3%82%b9%e3%81%ae%e5%85%a5%e5%8a%9b%e3%83%95%e3%82%a9%e3%83%bc%e3%83%a0%e3%82%92%e5%8a%a0/#comments</comments>
		<pubDate>Thu, 02 Dec 2010 08:14:50 +0000</pubDate>
		<dc:creator>smilkobuta</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://hello.lumiere-couleur.com/smilkobuta/?p=690</guid>
		<description><![CDATA[Contact Form 7はお問い合わせフォームを用意するのに、非常に便利なWordPressプラグインです。これまでWordPressを使ったサイトで、このプラグインを入れなかったことは一回もありません。 今回確認用 [...]<p class="a8min_banner"></p>]]></description>
			<content:encoded><![CDATA[<p><a title="Contact Form 7" href="http://ja.contactform7.com/" target="_blank">Contact Form 7</a>はお問い合わせフォームを用意するのに、<strong>非常に</strong>便利なWordPressプラグインです。これまでWordPressを使ったサイトで、このプラグインを入れなかったことは一回もありません。</p>
<p>今回確認用メールアドレスを入力欄として設けなくてはならなくて調べたのですが、意外にいい方法が見つからなかったので、自分で作ってみました。</p>
<h2>functions.phpに下記コードを追加（UTF-8で保存すること！）</h2>
<p><code>&lt;?php<br />
add_filter(&nbsp;'wpcf7_validate_email',&nbsp;'wpcf7_text_validation_filter_extend',&nbsp;11,&nbsp;2&nbsp;);<br />
add_filter(&nbsp;'wpcf7_validate_email*',&nbsp;'wpcf7_text_validation_filter_extend',&nbsp;11,&nbsp;2&nbsp;);<br />
function&nbsp;wpcf7_text_validation_filter_extend(&nbsp;$result,&nbsp;$tag&nbsp;)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;$type&nbsp;=&nbsp;$tag['type'];<br />
&nbsp;&nbsp;&nbsp;&nbsp;$name&nbsp;=&nbsp;$tag['name'];<br />
&nbsp;&nbsp;&nbsp;&nbsp;$_POST[$name]&nbsp;=&nbsp;trim(&nbsp;strtr(&nbsp;(string)&nbsp;$_POST[$name],&nbsp;"\n",&nbsp;"&nbsp;"&nbsp;)&nbsp;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;'email'&nbsp;==&nbsp;$type&nbsp;||&nbsp;'email*'&nbsp;==&nbsp;$type&nbsp;)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(preg_match('/(.*)_confirm$/',&nbsp;$name,&nbsp;$matches)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$target_name&nbsp;=&nbsp;$matches[1];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($_POST[$name]&nbsp;!=&nbsp;$_POST[$target_name])&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$result['valid']&nbsp;=&nbsp;false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$result['reason'][$name]&nbsp;=&nbsp;'確認用のメールアドレスが一致していません';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$result;<br />
}<br />
?&gt;</code></p>
<h2>Contact Form 7の設定画面では次のようなフォームを記述</h2>
<p><code>&lt;p&gt;メールアドレス&lt;br /&gt;<br />
    [email* your-email] &lt;/p&gt;<br />
<br />
&lt;p&gt;メールアドレス (確認用）&lt;br /&gt;<br />
    [email* your-email_confirm] &lt;/p&gt;<br />
</code></p>
<p>これで確認用メールアドレスが実現できますよ～</p>
]]></content:encoded>
			<wfw:commentRss>http://hello.lumiere-couleur.com/smilkobuta/2010/12/02/contact-form-7%e3%81%a7%e7%a2%ba%e8%aa%8d%e7%94%a8%e3%83%a1%e3%83%bc%e3%83%ab%e3%82%a2%e3%83%89%e3%83%ac%e3%82%b9%e3%81%ae%e5%85%a5%e5%8a%9b%e3%83%95%e3%82%a9%e3%83%bc%e3%83%a0%e3%82%92%e5%8a%a0/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>A8minをMovable Typeで使うための導入方法をまとめました</title>
		<link>http://hello.lumiere-couleur.com/smilkobuta/2009/04/15/a8min_movable-type/</link>
		<comments>http://hello.lumiere-couleur.com/smilkobuta/2009/04/15/a8min_movable-type/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 15:46:45 +0000</pubDate>
		<dc:creator>smilkobuta</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[発表、ニュース]]></category>
		<category><![CDATA[A8min]]></category>
		<category><![CDATA[Movable Type]]></category>

		<guid isPermaLink="false">http://hello.lumiere-couleur.com/smilkobuta/?p=282</guid>
		<description><![CDATA[A8minのインストールと使い方（Movable TypeでA8.netバナー表示） 実は、A8minはWordPressプラグインに限らず、PHPが動くサーバーであればどこでも動くんです。 ということで、とりあえずMo [...]<p class="a8min_banner"></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://hello.lumiere-couleur.com/a8min/howto_mt/">A8minのインストールと使い方（Movable TypeでA8.netバナー表示）</a></p>
<p>実は、A8minはWordPressプラグインに限らず、PHPが動くサーバーであればどこでも動くんです。<br />
ということで、とりあえずMovable TypeでA8.netのバナーを表示する方法をまとめました。</p>
<p>フリー版のA8minでも、もちろんMovable Typeと一緒に使えますので、ぜひお試しください。</p>
<p><a href="http://px.a8.net/svt/ejp?a8mat=1HTWRU+F2DWVM+PEG+6C1VL" target="_blank"><br />
<img src="http://www26.a8.net/svt/bgt?aid=090415146911&amp;wid=001&amp;eno=01&amp;mid=s00000003292001064000&amp;mc=1" border="0" alt="" width="234" height="60" /></a><br />
<img src="http://www11.a8.net/0.gif?a8mat=1HTWRU+F2DWVM+PEG+6C1VL" border="0" alt="" width="1" height="1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://hello.lumiere-couleur.com/smilkobuta/2009/04/15/a8min_movable-type/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>s13.coreserverへDBD::mysqlをインストールしてMovable Typeする</title>
		<link>http://hello.lumiere-couleur.com/smilkobuta/2009/04/14/s13coreserver_dbdmysql_movable-type/</link>
		<comments>http://hello.lumiere-couleur.com/smilkobuta/2009/04/14/s13coreserver_dbdmysql_movable-type/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 09:41:09 +0000</pubDate>
		<dc:creator>smilkobuta</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[コンピュータ]]></category>
		<category><![CDATA[Movable Type]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://hello.lumiere-couleur.com/smilkobuta/?p=275</guid>
		<description><![CDATA[ちょっと試しに、かなり久々にMovable Typeを使ってみようと思い、Movable Type（オープンソース版）をインストールしようとしたところ、システムにDBD::mysqlがインストールされていないのでDBにM [...]<p class="a8min_banner"></p>]]></description>
			<content:encoded><![CDATA[<p>ちょっと試しに、かなり久々にMovable Typeを使ってみようと思い、<a href="http://www.movabletype.jp/opensource/" target="_blank">Movable Type（オープンソース版）</a>をインストールしようとしたところ、システムにDBD::mysqlがインストールされていないのでDBにMySQLを使えないというエラーが・・・</p>
<p>なんだかなあと検索してみたら、「<a href="http://sb.xrea.com/showthread.php?p=84779" target="_blank">s13.coreserverのDBD::mysqlが動いていない</a>」という記事がありました。</p>
<blockquote><p>引越しが少々面倒ですが、このような場合、他のサーバに移動するのが早い解決方法のようですね。より負荷の少ないサーバで試したところ、ちゃんとDBD::mysqlも問題なく動いていました。<br />
s13coreがハズレだったようでした。</p></blockquote>
<p><strong>（； ； うちのサーバー、ハズレだったようですよ。</strong></p>
<p>ちくしょーと思いながら確認したところ、DBD::mysqlはインストールされていて、リンクしているMySQLのライブラリのバージョンが異なっていました。</p>
<p><strong>■リンク内容をチェック！</strong><br />
<code>xxx@s13:~&gt; ldd /usr/local/lib/perl5/site_perl/5.8.8/i686-linux/auto/DBD/mysql/mysql.so<br />
linux-gate.so.1 =&gt;  (0xffffe000)<br />
<span style="text-decoration: underline;"><strong> libmysqlclient.so.15 =&gt; not found</strong></span> ←これ<br />
libz.so.1 =&gt; /usr/local/lib/libz.so.1 (0x40022000)<br />
libcrypt.so.1 =&gt; /lib/libcrypt.so.1 (0x40035000)<br />
libnsl.so.1 =&gt; /lib/libnsl.so.1 (0x40068000)<br />
libm.so.6 =&gt; /lib/tls/libm.so.6 (0x4007e000)<br />
libc.so.6 =&gt; /lib/tls/libc.so.6 (0x400a5000)<br />
/lib/ld-linux.so.2 (0x80000000)</code></p>
<p><strong>■MySQLのライブラリもチェック！</strong><br />
<code>xxx@s13:~&gt; ls /usr/local/mysql/lib/mysql/libmysqlclient.so*<br />
/usr/local/mysql/lib/mysql/libmysqlclient.so<br />
<span style="text-decoration: underline;"><strong>/usr/local/mysql/lib/mysql/libmysqlclient.so.16</strong></span> ←これ<br />
/usr/local/mysql/lib/mysql/libmysqlclient.so.16.0.0<br />
</code></p>
<p>おそらくcoreserverの中の人が、別サーバーからコピペでインストールしたんでしょうね。（ー＿ーメ）</p>
<p>MySQLのライブラリを別途インストールしてLD_LIBRARY_PATHを通すことも出来そうですが、DBD::mysqlを自前インストールすることにしました。</p>
<p><strong>詳細な手順はこれ！</strong><br />
<code>xxx@s13:~&gt; mkdir server_src<br />
xxx@s13:~&gt; cd server_src/<br />
xxx@s13:~&gt; wget http://search.cpan.org/CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.011.tar.gz<br />
xxx@s13:~&gt; tar -xzvf DBD-mysql-4.011.tar.gz<br />
xxx@s13:~&gt; cd DBD-mysql-4.011/<br />
xxx@s13:~&gt; mkdir ~/perl<br />
xxx@s13:~&gt; perl Makefile.PL PREFIX=$HOME/perl<br />
xxx@s13:~&gt; make<br />
xxx@s13:~&gt; make install<br />
xxx@s13:~&gt; perl -I ~/perl/lib/perl5/site_perl/5.8.8/i686-linux/ -e 'print $DBD::mysql::VERSION . "\n"' -MDBD::mysql<br />
4.011<br />
xxx@s13:~&gt; cp -Rpd ~/perl/lib/perl5/site_perl/5.8.8/i686-linux/* public_html/MTインストールディレクトリ/lib/<br />
</code></p>
<p>これで無事MySQLを使えるようになりました。<br />
ふ～危ない危ない（何が？）。</p>
]]></content:encoded>
			<wfw:commentRss>http://hello.lumiere-couleur.com/smilkobuta/2009/04/14/s13coreserver_dbdmysql_movable-type/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CMS「concrete5」でサイトを構築したけど疲れてやめた</title>
		<link>http://hello.lumiere-couleur.com/smilkobuta/2009/03/29/cms%e3%80%8cconcrete5%e3%80%8d%e3%81%a7%e3%82%b5%e3%82%a4%e3%83%88%e3%82%92%e6%a7%8b%e7%af%89%e3%81%97%e3%81%9f%e3%81%91%e3%81%a9%e7%96%b2%e3%82%8c%e3%81%a6%e3%82%84%e3%82%81%e3%81%9f/</link>
		<comments>http://hello.lumiere-couleur.com/smilkobuta/2009/03/29/cms%e3%80%8cconcrete5%e3%80%8d%e3%81%a7%e3%82%b5%e3%82%a4%e3%83%88%e3%82%92%e6%a7%8b%e7%af%89%e3%81%97%e3%81%9f%e3%81%91%e3%81%a9%e7%96%b2%e3%82%8c%e3%81%a6%e3%82%84%e3%82%81%e3%81%9f/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 06:32:39 +0000</pubDate>
		<dc:creator>smilkobuta</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[concrete5]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://hello.lumiere-couleur.com/smilkobuta/?p=217</guid>
		<description><![CDATA[昨年11月、必見！怖くなるくらい優秀なCMS「concrete5」の記事を見ていたときにちょうど1つサイトを立ち上げようと思っていたので、試しにconcrete5でセットアップしてみました。 記事の通り、確かに画面全体の [...]<p class="a8min_banner"></p>]]></description>
			<content:encoded><![CDATA[<p>昨年11月、<a href="http://www.moongift.jp/2008/11/concrete5/" target="_blank">必見！怖くなるくらい優秀なCMS「concrete5」</a>の記事を見ていたときにちょうど1つサイトを立ち上げようと思っていたので、試しにconcrete5でセットアップしてみました。</p>
<p>記事の通り、確かに画面全体の編集がらくらくに行えて、記事の追加も直感的で分かりやすい。<br />
が、一番困るのは、<strong>サイト全体の共通ブロックを持てない</strong>というところです。</p>
<p>たとえばメニューバーには共通の内容（ページの一覧やカテゴリの一覧など）を表示したいとします。<br />
concrete5ではなぜかそれをさせずに、ある固定の内容をコピペする機能だけを提供しています。<br />
その場限りのコピペなので、<strong>その共通部分の内容を変更したい場合はこれまで作ったページ全部を一個ずつ修正しないといけない</strong>。</p>
<p>何でこういう設計にしたのかはよく分からないのですが、おそらく私がイメージしていた利用コンセプトと一致していなかったのでしょう。<br />
本家サイトのフォーラムでもこの件についての問い合わせが多く、もしかするとそのうち修正されるかもしれませんが、システムコンセプトから変わるわけではありませんので、やはり運用可能なサイトはある程度決まってくると思います。</p>
<p>concrete5での運用が有効なサイトは、次のようなものになるのではないでしょうか。</p>
<ul>
<li>ページ数がある程度限られている（せいぜい10～20ページ）</li>
<li>html、cssを理解できる管理者がいない</li>
<li>ページごとの構成を内容に合わせて変えたい</li>
</ul>
<p>こういうWebサイト作成はニッチでもなんでもないので、こういったサイトであればむしろおすすめするかもしれません（テーマが少ないのがネックですが）。</p>
<p>私の件のサイトは、結局使い慣れたWordPressで再構築しました。<br />
我が家のような使いやすさ・・・</p>
<p>「最強の」とか「必見」とか「マスト」とかに弱いので、また別のところで同じことをやってしまいそうですが。。</p>
]]></content:encoded>
			<wfw:commentRss>http://hello.lumiere-couleur.com/smilkobuta/2009/03/29/cms%e3%80%8cconcrete5%e3%80%8d%e3%81%a7%e3%82%b5%e3%82%a4%e3%83%88%e3%82%92%e6%a7%8b%e7%af%89%e3%81%97%e3%81%9f%e3%81%91%e3%81%a9%e7%96%b2%e3%82%8c%e3%81%a6%e3%82%84%e3%82%81%e3%81%9f/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WordPress2.7で長すぎる投稿が表示されない不具合の原因と対策</title>
		<link>http://hello.lumiere-couleur.com/smilkobuta/2009/01/26/wordpress27%e3%81%a7%e9%95%b7%e3%81%99%e3%81%8e%e3%82%8b%e6%8a%95%e7%a8%bf%e3%81%8c%e8%a1%a8%e7%a4%ba%e3%81%95%e3%82%8c%e3%81%aa%e3%81%84%e4%b8%8d%e5%85%b7%e5%90%88%e3%81%ae%e5%8e%9f%e5%9b%a0/</link>
		<comments>http://hello.lumiere-couleur.com/smilkobuta/2009/01/26/wordpress27%e3%81%a7%e9%95%b7%e3%81%99%e3%81%8e%e3%82%8b%e6%8a%95%e7%a8%bf%e3%81%8c%e8%a1%a8%e7%a4%ba%e3%81%95%e3%82%8c%e3%81%aa%e3%81%84%e4%b8%8d%e5%85%b7%e5%90%88%e3%81%ae%e5%8e%9f%e5%9b%a0/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 16:19:59 +0000</pubDate>
		<dc:creator>smilkobuta</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://hello.lumiere-couleur.com/smilkobuta/?p=137</guid>
		<description><![CDATA[このドイツ語のブログでやっと原因と修正方法が分かりました。 几帳面にも、問題の正規表現の図解で解説までつけてくれたドイツ人に感謝。 それにつけても、やっぱりドイツ人てすげぇ・・・  現象 そもそもの問題の現象ですが、Wo [...]<p class="a8min_banner"></p>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-138" title="shortcodes" src="http://hello.lumiere-couleur.com/smilkobuta/wp-content/uploads/2009/01/shortcodes.jpg" alt="shortcodes" width="530" height="141" /><br />
この<a href="http://www.brusdeylins.info/wordpress/probleme-mit-shortcodes/">ドイツ語のブログ</a>でやっと原因と修正方法が分かりました。<br />
几帳面にも、問題の正規表現の図解で解説までつけてくれたドイツ人に感謝。<br />
それにつけても、やっぱりドイツ人てすげぇ・・・</p>
<h2> 現象</h2>
<p>そもそもの問題の現象ですが、WordPress2.7で長めの投稿をすると、何も表示されなくなるということが起こりました。<br />
最初はプラグインを疑って利用停止したりしたのですが、それでも改善しません。</p>
<p>WordPressにはデフォルトでいくつかのフィルター（記事の内容に対して行われるコンテンツの更新機能）がありますが、途中のフィルターまではちゃんと動作している。<br />
一つずつ確認していったところ、wpautopフィルターでコンテンツが削除されていることが分かりました。</p>
<p>wpautopフィルターの問題箇所を探していくと、下記の最終行で削除されています。</p>
<p>wpautop関数：<br />
<code>$pee = preg_replace('/&lt;p&gt;s*?(' . get_shortcode_regex() . ')s*&lt;/p&gt;/s', '$1', $pee); // don't auto-p wrap shortcodes that stand alone</code></p>
<p>ここまできてGoogleで検索して確認しましたが、WordPress2.5.1のときからこの行に関しては問題を起こしていたようで、対応としては<strong>コメントアウトする（臭いものにふたをする）</strong>というものばかり。</p>
<p>・・・で、件のブログを見つけました。</p>
<h2>原因</h2>
<p>ドイツ語ブログで書かれているとおり、本当の問題はショートコード（画像のキャプションなどを［caption］ ～［/caption］のように記述する記法）用の正規表現を定義したget_shortcode_regex関数（wp-includes/shortcodes.php）にありました。</p>
<p>get_shortcode_regex関数（修正前）：<br />
<code>return '[('.$tagregexp.')b<span style="text-decoration: underline;">(.*?)(?:(/)?</span>](?:(.+?)[/1])?&#39;;</code></p>
<p>wpautop関数もそうですが、get_shortcode_regex関数もほとんどプログラム効率無視なコードになっていて、貪欲な正規表現によってpreg_replace関数が悲鳴を上げたのが原因のようでした。</p>
<h2>対策</h2>
<p>対策は、問題のget_shortcode_regex関数内のコードを修正すること。</p>
<p>get_shortcode_regex関数（修正後）：<br />
<code>return '[('.$tagregexp.')b<span style="text-decoration: underline;">([^]]*?)(/)?</span>](?:(.+?)[/1])?&#39;;</code></p>
<p>おおおっ！動いた～（T  T<br />
プログラミングに国境なし、を改めて感じました。</p>
<p>＃追記<br />
次のバージョンで修正が消されるといやなので、<a href="http://trac.wordpress.org/ticket/8962">WordPressサイトにバグ報告しました。</a><br />
＃再追記<br />
と思ったら、<a href="http://trac.wordpress.org/ticket/8553">http://trac.wordpress.org/ticket/8553</a>とduplicateでしたorz <br />
＃2009/2/14 追記<br />
WordPress2.7.1で直ってなかったので、自動アップグレードで元に戻ってしまった。<br />
ぐはあ。</p>
]]></content:encoded>
			<wfw:commentRss>http://hello.lumiere-couleur.com/smilkobuta/2009/01/26/wordpress27%e3%81%a7%e9%95%b7%e3%81%99%e3%81%8e%e3%82%8b%e6%8a%95%e7%a8%bf%e3%81%8c%e8%a1%a8%e7%a4%ba%e3%81%95%e3%82%8c%e3%81%aa%e3%81%84%e4%b8%8d%e5%85%b7%e5%90%88%e3%81%ae%e5%8e%9f%e5%9b%a0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

