<?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>INSPIRE TECH &#187; WordPress</title>
	<atom:link href="http://inspire-tech.jp/tag/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://inspire-tech.jp</link>
	<description>株式会社インスパイアデザインのプログラマーである家富正幸が、デザインやシステム開発、ソーシャルメディアや最近のトレンドなど、Webに関する様々な情報を発信しているブログです。</description>
	<lastBuildDate>Fri, 29 Jan 2016 05:25:58 +0000</lastBuildDate>
	<language>ja</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=3.8.41</generator>
	<item>
		<title>WordPressを設置したドメインや設置ディレクトリが変更になった場合に、たった5分で全てのURLを書き換える方法</title>
		<link>http://inspire-tech.jp/2013/10/wordpress-search-replace-db/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress-search-replace-db</link>
		<comments>http://inspire-tech.jp/2013/10/wordpress-search-replace-db/#comments</comments>
		<pubDate>Fri, 11 Oct 2013 20:18:11 +0000</pubDate>
		<dc:creator><![CDATA[家富 正幸]]></dc:creator>
				<category><![CDATA[その他]]></category>
		<category><![CDATA[レビュー]]></category>
		<category><![CDATA[問題解決]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://inspire-tech.jp/?p=1560</guid>
		<description><![CDATA[WordPressをお客様に納品する場合など、最初に仮ドメインで設置をして、公開のタイミングで本ドメインに切り替えるという作業をよく行います。 それ以外にも、WordPressが動いているサーバーのドメインを変更しなくて [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>WordPressをお客様に納品する場合など、最初に仮ドメインで設置をして、公開のタイミングで本ドメインに切り替えるという作業をよく行います。</p>
<p>それ以外にも、WordPressが動いているサーバーのドメインを変更しなくてはならなかったり、ステージングサーバーから公開サーバーにデータコピーをしたりと、WordPressを移設して動かすタイミングって、割と多かったりします。</p>
<h3><span>移設の問題点</span></h3>
<p>移設を行う場合の一番の問題点は、公開URLが変更になることです。</p>
<ol>
<li>テーマファイルのCSSやJavaScriptが読み込まれないためデザインが崩れる</li>
<li>公開URLが正しくないとWordPressの管理画面にログインができない</li>
<li>記事中に設定したリンクや、メディア（画像やファイル）が全てリンクが切れてしまう</li>
</ol>
<p>1. 2. については公開URLの設定さえ元に変更してしまえば問題無いのですが、一番の問題は 3. で、<strong>記事中に設定した内部リンクやら、画像やら添付ファイルやらが全てリンク切れを起こしてしまう</strong>ことです。</p>
<p>Search Regexという正規表現などで記事を検索してURLを置換できるツールなどが、まず考えつく1つの方法です。</p>
<ul>
<li><a href="http://wordpress.org/plugins/search-regex/">WordPress › Search Regex « WordPress Plugins</a></li>
<li><a href="http://nori510.com/archives/10803">【WordPress】全記事から検索して一括置換出来るプラグイン「Search Regex」が素晴らしい | nori510.com</a></li>
</ul>
<p>しかしこのSearch Regexは、通常の投稿や固定ページの内容は置換できますが、カスタム投稿は検索できません。（カスタマイズすれば可能ですが）</p>
<p>またなにより大きな問題として、<strong>このプラグインではカスタムフィールドに入力された内容は対象外</strong>となってしまうため、カスタムフィールドに画像のURLや記事のURLなどが入っている場合、こちらを修正することができません。</p>
<p><span id="more-1560"></span></p>
<h3><span>カスタムフィールドの問題</span></h3>
<p>そのため、カスタムフィールドの値を一気に書き換える場合には、DBから直接UPDATEクエリなどを使って修正するしかなくなりますが、この方法にもまた問題があります。</p>
<p><strong>WordPressのカスタムフィールドには、PHPのシリアライズされたデータが格納されていることがある</strong>からです。</p>
<p>シリアライズされたデータというのは、下記のようなテキストデータです。<br />
これはPHPの配列やオブジェクトなどを文字列に変換したもので、PHPのunserialie関数を通すことで元の配列などに戻すことが可能です。</p>
<pre class="brush: plain">a:2:{i:2;a:4:{s:5:"title";s:0:"";s:5:"count";i:0;s:12:"hierarchical";i:0;s:8:"dropdown";i:0;}s:12:"_multiwidget";i:1;}</pre>
<p>このシリアライズされた文字列には、元の配列やオブジェクトの中のデータ形式や、格納されているテキストの長さなども保持されていて、<strong>単純に中のテキストを置換したりしてしまうと、テキストの長さが保持されているデータと合わなくなってしまい、データが復元できなくなってしまいます。</strong></p>
<p>そのため、UPDATEクエリを使って一気に直すことができません。</p>
<h3><span>全て解決！便利なPHPスクリプト</span></h3>
<p>そこで活躍するのが下記で公開されている SEARCH REPLACE DB というスクリプト。</p>
<ul>
<li><a href="http://interconnectit.com/products/search-and-replace-for-wordpress-databases/">WordPress Serialized PHP Search Replace Tool | Interconnect IT &#8211; WordPress Consultants, Web Development and Web Design</a></li>
</ul>
<p>海外の方が開発されCODEXにも記載されている非常に有用なスクリプトで、<strong>シリアライズされたデータも含めて、DBにあるレコードから特定の文字列を一気に置換することが可能</strong>になります！</p>
<h4>まずはダウンロード</h4>
<p>下記のリンクをクリックしてファイルを保存してください。</p>
<div class="component img"><img class="alignleft size-full wp-image-1588" alt="searchreplacedb_dl" src="http://inspire-tech.jp/wp-content/uploads/2013/10/searchreplacedb_dl.jpeg" width="570" height="180" /></div>
<h4>解凍したファイルをWordPressと同ディレクトリにアップ</h4>
<p>解凍して出てきた searchreplacedb2.php を、WordPressのwp-config.phpが存在するディレクトリにアップします。</p>
<div class="component img"><img class="alignleft size-full wp-image-1586" alt="searchreplacedb_set_2" src="http://inspire-tech.jp/wp-content/uploads/2013/10/searchreplacedb_set_2.jpeg" width="570" height="434" /></div>
<h4>ファイルにアクセス</h4>
<p>下記のような画面が表示されればOKです。</p>
<div class="component img"><img class="alignleft size-large wp-image-1593" alt="Search_and_replace_DB1" src="http://inspire-tech.jp/wp-content/uploads/2013/10/Search_and_replace_DB1-570x362.jpeg" width="570" height="362" /></div>
<p>Submitをクリックして次に進んでください。</p>
<div class="component img"><img class="alignleft size-full wp-image-1594" alt="Search_and_replace_DB2" src="http://inspire-tech.jp/wp-content/uploads/2013/10/Search_and_replace_DB2.jpeg" width="570" height="241" /></div>
<h4>DBへの接続情報を確認</h4>
<p>wp-config.php と同じディレクトリにアップされていれば、自動的にwp-config.phpに存在するDB情報を読み取って表示してくれます。</p>
<div class="component img"><img class="alignleft size-full wp-image-1592" alt="Search_and_replace_DB3" src="http://inspire-tech.jp/wp-content/uploads/2013/10/Search_and_replace_DB3.jpeg" width="570" height="468" /></div>
<p>Submitをクリックして次に進んでください。</p>
<h4>書き換えたいテーブルを選択</h4>
<p>書き換えたい文字列があるテーブルを選択します。<br />
最低限、投稿本体が格納されている <strong>posts</strong> およびにカスタムフィールドの格納されている <strong>postmeta</strong>、設定値が格納されている <strong>options</strong> は選択しましょう。</p>
<div class="component img"><img class="alignleft size-full wp-image-1591" alt="Search_and_replace_DB4" src="http://inspire-tech.jp/wp-content/uploads/2013/10/Search_and_replace_DB4.jpeg" width="570" height="488" /></div>
<p>その他のテーブルについては、必要に応じて選択してください。<br />
ユーザーのプロフィールなどにも書き換えたい文字列が存在するようならば、<strong>usermeta</strong> なども選択する必要があるでしょう。</p>
<h4>検索する文字列と置換する文字列を入力</h4>
<p>検索する文字列、すなわち書き換え元となる文字列と、置換する文字列を入力します。</p>
<div class="component img"><img class="alignleft size-full wp-image-1590" alt="Search_and_replace_DB5" src="http://inspire-tech.jp/wp-content/uploads/2013/10/Search_and_replace_DB5.jpeg" width="570" height="303" /></div>
<p>WordPressを移設した場合は、以前に設置してあったURLを検索する文字列に、新しく設置した先を置換する文字列に指定します。</p>
<p>例えば <code>http://example.com/blog/wp</code> に設置してあったWordPressを <code>http://hogehoge.com/wp</code> に移設した場合は、下記のように記述してください。</p>
<dl>
<dt>検索する文字列</dt>
<dd><code>example.com/blog/wp/</code></dd>
<dt>置換する文字列</dt>
<dd><code>hogehoge.com/wp/</code></dd>
</dl>
<p>ポイントは <code>http://</code> を抜くことです。</p>
<p>これはデータベースの中に <code>http://</code> を抜いたドメインの状態で保存されているレコードがあるため、一部書き換わらないレコードが出てきてしまうためです。</p>
<p>入力が終わったらSubmitをクリックしましょう。</p>
<h4>置換完了</h4>
<p>めでたく置換が完了しました。</p>
<div class="component img"><img class="alignleft size-full wp-image-1589" alt="Search_and_replace_DB6" src="http://inspire-tech.jp/wp-content/uploads/2013/10/Search_and_replace_DB6.jpeg" width="570" height="203" /></div>
<p>総計で何レコードが書き換えられたかなどがレポートされます。</p>
<h4>最後にファイルを削除</h4>
<p>置換が正しく完了したら、設置した <code>searchreplacedb2.php</code> は<strong style="color: red;">必ず削除してください。</strong><br />
放置しておくと<strong style="color: red;">パスワード認証も何も無くデータベースを書き換えられてしまうため、非常に危険です。</strong></p>
<h3><span>たったこれだけ</span></h3>
<p>たったこれだけのステップで、面倒なURLの置換作業が全て完了します。<br />
慣れればFTPからアップして5分もかからず作業を終えることができるでしょう。</p>
<p>1点注意として、データベースを書き換える作業になるため、<strong>作業前には必ずデータベースのバックアップをとった上で作業をしてください。</strong><br />
置換するテキストなどが間違えていた場合に、取り返しのつかないことになる場合があります。</p>
<p>WordPressの移設はとても手間だと悩んでいた方、是非お試しください。</p>
]]></content:encoded>
			<wfw:commentRss>http://inspire-tech.jp/2013/10/wordpress-search-replace-db/feed/</wfw:commentRss>
		<slash:comments>47</slash:comments>
		</item>
		<item>
		<title>WordPressの「投稿」機能から「カテゴリー」や「タグ」をメニューごと消す方法</title>
		<link>http://inspire-tech.jp/2013/04/wordpress_remove_category_and_tag_from_post/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress_remove_category_and_tag_from_post</link>
		<comments>http://inspire-tech.jp/2013/04/wordpress_remove_category_and_tag_from_post/#comments</comments>
		<pubDate>Mon, 08 Apr 2013 12:22:05 +0000</pubDate>
		<dc:creator><![CDATA[家富 正幸]]></dc:creator>
				<category><![CDATA[その他]]></category>
		<category><![CDATA[参考]]></category>
		<category><![CDATA[開発]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://inspire-tech.jp/?p=1472</guid>
		<description><![CDATA[WordPressでカスタム投稿やカスタム分類を使って、新しく分類や投稿を作成することは簡単に情報が見つかります。 しかし逆に、デフォルトの「投稿」機能から「カテゴリー」や「タグ」といった、 デフォルトで設定されている分 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>WordPressでカスタム投稿やカスタム分類を使って、新しく分類や投稿を作成することは簡単に情報が見つかります。</p>
<p>しかし逆に、デフォルトの「投稿」機能から「カテゴリー」や「タグ」といった、 デフォルトで設定されている分類機能を取り外したいといった場合の情報はあまり見つかりません。</p>
<p>そんな時は下記のコードを<code>functions.php</code>に記述して利用します。</p>
<pre class="brush: php">
function my_unregister_taxonomies()
{
	global $wp_taxonomies;

	/*
	 * 投稿機能から「カテゴリー」を削除
	 */
	if (!empty($wp_taxonomies['category']->object_type)) {
		foreach ($wp_taxonomies['category']->object_type as $i => $object_type) {
			if ($object_type == 'post') {
				unset($wp_taxonomies['category']->object_type[$i]);
			}
		}
	}

	/*
	 * 投稿機能から「タグ」を削除
	 */
	if (!empty($wp_taxonomies['post_tag']->object_type)) {
		foreach ($wp_taxonomies['post_tag']->object_type as $i => $object_type) {
			if ($object_type == 'post') {
				unset($wp_taxonomies['post_tag']->object_type[$i]);
			}
		}
	}

	return true;
}

add_action('init', 'my_unregister_taxonomies');
</pre>
<p>これだけで簡単に「カテゴリー」や「タグ」などを外すことができます。</p>
]]></content:encoded>
			<wfw:commentRss>http://inspire-tech.jp/2013/04/wordpress_remove_category_and_tag_from_post/feed/</wfw:commentRss>
		<slash:comments>147</slash:comments>
		</item>
		<item>
		<title>WordPressを複数ユーザーで利用している際に、「投稿」や「メディア」で自分が投稿したもの以外を表示させないようにするコード</title>
		<link>http://inspire-tech.jp/2012/11/view-of-the-posts-and-media-only-myself/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=view-of-the-posts-and-media-only-myself</link>
		<comments>http://inspire-tech.jp/2012/11/view-of-the-posts-and-media-only-myself/#comments</comments>
		<pubDate>Wed, 07 Nov 2012 01:37:51 +0000</pubDate>
		<dc:creator><![CDATA[家富 正幸]]></dc:creator>
				<category><![CDATA[その他]]></category>
		<category><![CDATA[開発]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://inspire-tech.jp/?p=1458</guid>
		<description><![CDATA[WordPressを複数のユーザーで運営しているとき、投稿やメディアに関しては自分以外が投稿したものも、標準で表示されるようになっています。 特にメディア関してはフィルタをするような項目がなく、自分が投稿したもののみを表 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>WordPressを複数のユーザーで運営しているとき、投稿やメディアに関しては自分以外が投稿したものも、標準で表示されるようになっています。</p>
<p>特にメディア関してはフィルタをするような項目がなく、自分が投稿したもののみを表示するような仕組みが用意されていません。</p>
<p>そのため、自分が投稿した画像を他人に利用されてしまったり、逆のこともできたりと、少々お粗末な管理になってしまっています。</p>
<h3><span>フィルターフックを使って表示を制限</span></h3>
<p>WordPressではWP_Queryクラスを利用して、一覧や詳細画面を表示する際にデータベースから投稿を取得してきます。</p>
<p>そこで、WP_Queryクラスが投稿を取得する前に、今現在ログインしているユーザーの投稿やメディアのみを取得するようにクエリを書き換える事で、上記のような問題を解決することができます。</p>
<p>下記のコードをfunctions.php等に記述してください。</p>
<pre class="brush: php">
function my_pre_get_posts_filter(&#038;$wp_query)
{
	global $pagenow;
	$user = wp_get_current_user();

	if (WP_ADMIN &#038;&#038; ($post_type = $wp_query->get('post_type'))) {
		if (in_array($pagenow, array('media-upload.php', 'upload.php')) &#038;&#038; $post_type == 'attachment') {
			// メディアの表示情報を制限
			$wp_query->set('author', $user->ID);
		}
	}
}

add_action('pre_get_posts', 'my_pre_get_posts_filter', 10, 1);
</pre>
<p>管理画面で表示しているかどうかの条件判断についてはもっと良い方法があるかと思うんですが、とりあえず上記コードで問題無く動作しています。</p>
]]></content:encoded>
			<wfw:commentRss>http://inspire-tech.jp/2012/11/view-of-the-posts-and-media-only-myself/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>WordPressのマルチサイトで、子ブログでアップロードしたファイルの「実際のファイルパス」を取得する関数を書いた</title>
		<link>http://inspire-tech.jp/2012/06/calc_the_real_file_path_for_child_blog_of_wordpress/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=calc_the_real_file_path_for_child_blog_of_wordpress</link>
		<comments>http://inspire-tech.jp/2012/06/calc_the_real_file_path_for_child_blog_of_wordpress/#comments</comments>
		<pubDate>Fri, 29 Jun 2012 16:59:34 +0000</pubDate>
		<dc:creator><![CDATA[家富 正幸]]></dc:creator>
				<category><![CDATA[その他]]></category>
		<category><![CDATA[問題解決]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[マルチサイト]]></category>

		<guid isPermaLink="false">http://inspire-tech.jp/?p=1394</guid>
		<description><![CDATA[WordPressのマルチサイトを利用して子ブログを作った場合、 子ブログでアップロードしたメディアファイルは、 全て /wp-content/blogs.dir/{blog_id}/{year}/{month}/{fi [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>WordPressのマルチサイトを利用して子ブログを作った場合、<br />
子ブログでアップロードしたメディアファイルは、<br />
全て <code>/wp-content/blogs.dir/{blog_id}/{year}/{month}/{file_name}</code> に保存されるようになっています。</p>
<p>しかしながら、実際にアップロードしたファイルのURLを取得すると、<br />
<code>/{account_name}/files/{year}/{month}/{file_name}</code> というURLが帰ってきます。<br />
これは、マルチサイト用の <code>.htaccess</code> にURLの書き換え処理が記載されているためです。</p>
<pre class="brush: plain">
# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
</pre>
<p>このURLに直接アクセスすればファイルは表示されますし、通常の利用上では全く問題はありません。</p>
<p>しかしながら、サムネイルを生成する際に非常に便利なライブラリである TimThumbなどを利用する際に、この書き換えられたURLが問題になります。</p>
<ul>
<li><a href="http://code.google.com/p/timthumb/" title="TimThumb" target="_blank">TimThumb</a></li>
</ul>
<p>TimThumbは、与えられたURLから実際のファイルパスを計算し、ファイルを読み込もうとします。</p>
<p>しかし、この与えられたURLは <code>.htaccess</code> により書き換えられたダミーのURLのため、実際にこの場所にはファイルは存在しません。</p>
<p>そのため、書き換えられる前のURLが必要になります。</p>
<h3><span>関数作った</span></h3>
<p>下記のような関数を作ってみました。</p>
<pre class="brush: php">
function ms_calc_media_url($blog_id, $media_url)
{
	global $wpdb;

	switch_to_blog($wpdb->siteid);
	$url = preg_replace('|^' . get_blog_option($blog_id, 'siteurl') . '/(files/[\d]{4}/[\d]{2}/.+)$|', get_bloginfo('url') . '/wp-content/blogs.dir/' . $blog_id . '/$1', $media_url);
	restore_current_blog();

	return $url;
}
</pre>
<p><code>$blog_id</code> に当該のファイルをアップロードした子ブログのIDを指定して、<code>$media_url</code> にファイルのURLを与えれば、書き換えられる前のURLを計算して出力します。</p>
<p>この関数を使うことで、問題無くTimThumbなどのライブラリを活用できます。</p>
]]></content:encoded>
			<wfw:commentRss>http://inspire-tech.jp/2012/06/calc_the_real_file_path_for_child_blog_of_wordpress/feed/</wfw:commentRss>
		<slash:comments>44</slash:comments>
		</item>
		<item>
		<title>WordPressのマルチブログで、子ブログにデフォルトのテーマを設定する方法（子テーマ対応）</title>
		<link>http://inspire-tech.jp/2012/06/default_theme_setting_for_child_blog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=default_theme_setting_for_child_blog</link>
		<comments>http://inspire-tech.jp/2012/06/default_theme_setting_for_child_blog/#comments</comments>
		<pubDate>Thu, 28 Jun 2012 06:55:59 +0000</pubDate>
		<dc:creator><![CDATA[家富 正幸]]></dc:creator>
				<category><![CDATA[その他]]></category>
		<category><![CDATA[問題解決]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[マルチサイト]]></category>

		<guid isPermaLink="false">http://inspire-tech.jp/?p=1382</guid>
		<description><![CDATA[WordPressをマルチブログで利用する場合に、子サイトのテーマをあらかじめ設定しておく方法を紹介します。 親サイトの functions.php に下記の記述をするだけです。 function default_the [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>WordPressをマルチブログで利用する場合に、子サイトのテーマをあらかじめ設定しておく方法を紹介します。</p>
<p>親サイトの <code>functions.php</code> に下記の記述をするだけです。</p>
<pre class="brush: php">
function default_theme_setting()
{
	update_option('template', 'theme_name');
	update_option('stylesheet', 'theme_name');
	update_option('current_theme', 'Theme Name');
}

add_action('populate_options', 'default_theme_setting');
</pre>
<p><code>theme_name</code> となっている箇所は、テーマのディレクトリ名を入れます。<br />
<code>Theme Name</code> となっている箇所は、テーマの名称を入れておきます。</p>
<h3><span>子テーマを指定する方法</span></h3>
<p>上記の設定で、あるテーマの子テーマを設定しようとすると上手くいきません。<br />
これは、下記の記述にすることで対応可能です。</p>
<pre class="brush: php">
function default_theme_setting()
{
	update_option('template', 'parent_theme_name');
	update_option('stylesheet', 'child_theme_name');
	update_option('current_theme', 'Child Theme Name');
}

add_action('populate_options', 'default_theme_setting');
</pre>
<p><code>parent_theme_name</code> は親テーマのディレクトリ名を入れます。<br />
<code>child_theme_name</code> は子テーマのディレクトリ名を入れます。</p>
<p>要は <code>stylesheet</code> というオプションに子テーマ名を設定し、<code>template</code> というオプションには親テーマを設定しておかなきゃイカンよ、ということです。</p>
]]></content:encoded>
			<wfw:commentRss>http://inspire-tech.jp/2012/06/default_theme_setting_for_child_blog/feed/</wfw:commentRss>
		<slash:comments>79</slash:comments>
		</item>
		<item>
		<title>WordPressでjQueryのプラグインが正しく動作しない場合の対処法</title>
		<link>http://inspire-tech.jp/2012/06/dont-work-jquery-plugins-in-the-wordpress/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dont-work-jquery-plugins-in-the-wordpress</link>
		<comments>http://inspire-tech.jp/2012/06/dont-work-jquery-plugins-in-the-wordpress/#comments</comments>
		<pubDate>Sun, 24 Jun 2012 08:04:25 +0000</pubDate>
		<dc:creator><![CDATA[家富 正幸]]></dc:creator>
				<category><![CDATA[その他]]></category>
		<category><![CDATA[問題解決]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://inspire-tech.jp/?p=1296</guid>
		<description><![CDATA[WordPressのテーマで、jQueryを利用したプラグインを組み込んでいるのにもかかわらず、エラーが発生して利用出来ないことがあります。 原因 これはテーマ側で wp_enquere_script() 関数を用いて、 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>WordPressのテーマで、jQueryを利用したプラグインを組み込んでいるのにもかかわらず、エラーが発生して利用出来ないことがあります。</p>
<h3><span>原因</span></h3>
<p>これはテーマ側で <code>wp_enquere_script()</code> 関数を用いて、WordPress本体に附属するjQueryを利用している場合によく発生する問題です。</p>
<pre class="brush: php">
/* WordPress附属のjQueryを、wp_head() 内で読み込む */
wp_enqueue_script('jquery');
</pre>
<p>WordPressの <code>wp_enqueue_script()</code> 関数を用いてjQueryを読み込んだ場合、通常利用できるはずのjQueryのインスタンスである$変数が利用できません。</p>
<p>これは、WordPress附属のjQueryでは他のライブラリとの競合を防ぐために <code>jQuery.noConflict()</code> を自動的に実行させているため、$変数が設定されないのが原因です。</p>
<h3><span>対処</span></h3>
<p>テーマ側で独自にjQueryを用意して読み込んだり設置してもかまわないのですが、プラグインなどで <code>wp_enqueue_script('jquery')</code> でjQueryを呼び出されてしまうと、既にテーマ附属のjQueryが読み込まれているのにもかかわらず、WordPressに附属しているjQueryも読み込まれてしまいます。</p>
<p>そのため、<strong>scriptタグの記述される順番によっては、WordPress附属のjQueryが優先され、<code>jQuery.noConflict()</code> 関数が実行されてしまうために$変数が使えなくなる事もあります</strong>。</p>
<p>そのため、いかなる場合にも正常に動作させられるようにするには、jQueryを利用するコードを工夫する必要があります。</p>
<h3><span>問題の起きないコード</span></h3>
<p>下記のように、jQueryのインスタンスを$変数として利用できるスコープを作り、その内部にjQueryを利用したコードを書きましょう。</p>
<pre class="brush: js">
(function($) {
    /* いつも通りのjQueryを利用したコードを書く */
    $(function() {
        /* 初期化コードなど */
    });
})(jQuery);
</pre>
<p>こうすることで、WordPressに附属するjQueryが利用された場合でも問題無く$変数を使ったコードを実行することができますし、他のフレームワークとのバッティングも起きません。</p>
]]></content:encoded>
			<wfw:commentRss>http://inspire-tech.jp/2012/06/dont-work-jquery-plugins-in-the-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPressのGoogleMap連携プラグイン「WP-GoogleMaps」を利用する際に気をつけること</title>
		<link>http://inspire-tech.jp/2012/02/wordpress_wp_googlemaps_plugin/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress_wp_googlemaps_plugin</link>
		<comments>http://inspire-tech.jp/2012/02/wordpress_wp_googlemaps_plugin/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 14:58:40 +0000</pubDate>
		<dc:creator><![CDATA[家富 正幸]]></dc:creator>
				<category><![CDATA[その他]]></category>
		<category><![CDATA[問題解決]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://inspire-tech.jp/?p=1314</guid>
		<description><![CDATA[WordPress上にてGoogleMapsAPIを利用する必要があったので、比較的使いやすそうなWP-GoogleMapsというプラグインを利用してみたところ、日本語が文字化けしてしまって使い物にならないというバグに遭 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>WordPress上にてGoogleMapsAPIを利用する必要があったので、比較的使いやすそうな<strong>WP-GoogleMaps</strong>というプラグインを利用してみたところ、<strong>日本語が文字化けしてしまって使い物にならない</strong>というバグに遭遇して解決したので、プラグインの紹介とその解決方法を掲載します。</p>
<ul>
<li><a href="http://wordpress.org/extend/plugins/wp-google-maps/" title="WordPress › WP Google Maps « WordPress Plugins">WP Google Maps</a></li>
</ul>
<p><span id="more-1314"></span></p>
<h3><span>WP-GoogleMapsプラグインの概要</span></h3>
<div class="component img"><a href="http://inspire-tech.jp/wp-content/uploads/2012/02/wp-google-maps-11.png"><img src="http://inspire-tech.jp/wp-content/uploads/2012/02/wp-google-maps-11-570x626.png" alt="" title="wp-google-maps-1" width="570" height="626" class="alignleft size-large wp-image-1324" /></a></div>
<p>WP-GoogleMapsは1ブログ1マップという感じで実装するプラグインで、1つのマップの中にいくつでもマーカーを落とし込むことができます。</p>
<p class="note">今のところ1つしかマップが登録できないのですが、ショートコードにidという記載があるため、もしかしたら今後複数のマップの管理などもできるようになるかもしれません。</p>
<h4>有償のアドオンが存在する</h4>
<p>有償のアドオンが存在し、アドオンを導入することで、</p>
<p>・デフォルトのマーカーアイコンの変更<br />
・マーカー毎のアイコンの変更<br />
・フキダシのテキストの変更<br />
・フキダシへの画像挿入<br />
・フキダシへのリンクの挿入<br />
・マーカー情報のインポート、エクスポート（CSVファイル形式）</p>
<p>といったことが可能になります。</p>
<ul>
<li><a href="http://www.wpgmaps.com/" title="WP Google Maps - WordPress Google Maps Plugin">WP Google Maps &#8211; WordPress Google Maps Plugin</a></li>
</ul>
<h3><span>問題点</span></h3>
<p>プラグインを普通に導入すると、マーカー設置の際に日本語を入れると、文字化けして住所検索もできず、全く使い物になりません。</p>
<div class="component img">
<a href="http://inspire-tech.jp/wp-content/uploads/2012/02/wp-google-maps-21.png"><img src="http://inspire-tech.jp/wp-content/uploads/2012/02/wp-google-maps-21-570x137.png" alt="" title="wp-google-maps-2" width="570" height="137" class="alignleft size-large wp-image-1323" /></a></div>
<p>原因はプラグインのソースコードに有り、管理用のデータベーステーブルを生成する際、文字コードをlatin1として指定しているためです。</p>
<h4>wpGoogleMaps.php 1064行目付近</h4>
<pre class="brush: php">
    $sql = "
        CREATE TABLE `".$table_name."` (
          `id` int(11) NOT NULL AUTO_INCREMENT,
          `map_id` int(11) NOT NULL,
          `address` varchar(700) NOT NULL,
          `desc` varchar(700) NOT NULL,
          `pic` varchar(700) NOT NULL,
          `link` varchar(700) NOT NULL,
          `icon` varchar(700) NOT NULL,
          `lat` varchar(100) NOT NULL,
          `lng` varchar(100) NOT NULL,
          `anim` varchar(3) NOT NULL,
          PRIMARY KEY (`id`)
        ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; // この CHARSET=latin1 が問題
    ";
</pre>
<h3><span>改善する方法</span></h3>
<h4>プラグインインストール前</h4>
<p>WordPressの自動インストール機能を利用せず、アーカイブとしてまずはファイルをダウンロード・解答し、ソースコードを修正します。</p>
<pre class="brush: diff">
--- wpGoogleMaps.php    2012-02-17 18:24:32.000000000 +0900
+++ wpGoogleMaps2.php   2012-02-21 23:50:50.002343200 +0900
@@ -1074,7 +1074,7 @@
           `lng` varchar(100) NOT NULL,
           `anim` varchar(3) NOT NULL,
           PRIMARY KEY (`id`)
-        ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+        )
     ";
 
    require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
</pre>
<p>具体的には、<code>ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1</code> の指定はいらないので削ってしまいます。</p>
<h4>プラグインインストール後</h4>
<p>コンソールまたは管理ツール（PhpMyAdminなど）でテーブルの文字コードをutf8に変更します。</p>
]]></content:encoded>
			<wfw:commentRss>http://inspire-tech.jp/2012/02/wordpress_wp_googlemaps_plugin/feed/</wfw:commentRss>
		<slash:comments>68</slash:comments>
		</item>
		<item>
		<title>WordPressのカスタムメニュー（nav menu）に画像を使うためのコードを書いてみたよ！</title>
		<link>http://inspire-tech.jp/2011/12/wordpress_use_image_for_nav_menu/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress_use_image_for_nav_menu</link>
		<comments>http://inspire-tech.jp/2011/12/wordpress_use_image_for_nav_menu/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 04:30:33 +0000</pubDate>
		<dc:creator><![CDATA[家富 正幸]]></dc:creator>
				<category><![CDATA[その他]]></category>
		<category><![CDATA[開発]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://inspire-tech.jp/?p=1232</guid>
		<description><![CDATA[WordPress3.0から搭載されたカスタムメニュー（nav menu）は、サイト内コンテンツをドラッグアンドドロップで自由にカテゴライズする事が可能となり、グローバルメニューやサイトマップなどを管理する場合にとても便 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>WordPress3.0から搭載されたカスタムメニュー（nav menu）は、サイト内コンテンツをドラッグアンドドロップで自由にカテゴライズする事が可能となり、グローバルメニューやサイトマップなどを管理する場合にとても便利な機能です。</p>
<div class="component img"><a href="http://inspire-tech.jp/wp-content/uploads/2011/12/nav-menu.png"><img src="http://inspire-tech.jp/wp-content/uploads/2011/12/nav-menu-570x252.png" alt="" title="nav-menu" width="570" height="252" class="alignnone size-large wp-image-1233" /></a></div>
<p>ただ、このカスタムメニュー、cssのクラス名などを指定する事は可能ですが、リンクボタンに画像を直接利用しようとなると、いろいろな工夫が必要になります。</p>
<p>単純に画像のURLを、メニューのに登録したエントリのタイトルに指定することもできますが、WordPressに多少詳しくないと、アップロードした画像のURLなどを指定するのは敷居が高いですし、メニューの管理上も画像のURLがエントリ名となってしまうため、管理がし辛くなってしまいます。</p>
<div class="component img"><a href="http://inspire-tech.jp/wp-content/uploads/2011/12/bad-nav-menu.png"><img src="http://inspire-tech.jp/wp-content/uploads/2011/12/bad-nav-menu-300x389.png" alt="" title="bad-nav-menu" width="300" height="389" class="alignnone size-medium wp-image-1236" /></a></div>
<p><span id="more-1232"></span></p>
<h3><span>もっと簡単に画像を使う</span></h3>
<p>そこで、「メニュー名＋メニューに登録したエントリー名」と同一の画像がライブラリに登録されていた場合、自動的にその画像を利用するコードを書いてみました。</p>
<h4>利用条件</h4>
<ul>
<li>PHP 5.2</li>
<li>WordPress 3.1</li>
</ul>
<h4>functions.php</h4>
<p><script src="https://gist.github.com/1436723.js?file=functions.php"></script></p>
<p>上記のコードをfunctions.phpとして利用するか、既存のファイルに追記して使って下さい。</p>
<h4>使い方</h4>
<p>カスタムメニューを下記のような状態で登録したとします。</p>
<ul>
<li>メニュー名：　テスト</li>
<li>エントリー名：　テストの記事</li>
</ul>
<div class="component img"><a href="http://inspire-tech.jp/wp-content/uploads/2011/12/test-nav-menu.png"><img src="http://inspire-tech.jp/wp-content/uploads/2011/12/test-nav-menu-570x354.png" alt="" title="test-nav-menu" width="570" height="354" class="alignnone size-large wp-image-1240" /></a></div>
<p>この場合、ライブラリに「<code>テスト/テストの記事</code>」というタイトルの画像があった場合、<strong>自動的にその画像をメニューの画像として利用</strong>します。</p>
]]></content:encoded>
			<wfw:commentRss>http://inspire-tech.jp/2011/12/wordpress_use_image_for_nav_menu/feed/</wfw:commentRss>
		<slash:comments>37</slash:comments>
		</item>
		<item>
		<title>WordPressにお問い合わせフォームを組み込むプラグイン、Comment Form 7を試してみた</title>
		<link>http://inspire-tech.jp/2011/08/wordpress_comment_form_7_plugin/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress_comment_form_7_plugin</link>
		<comments>http://inspire-tech.jp/2011/08/wordpress_comment_form_7_plugin/#comments</comments>
		<pubDate>Tue, 02 Aug 2011 02:09:38 +0000</pubDate>
		<dc:creator><![CDATA[家富 正幸]]></dc:creator>
				<category><![CDATA[その他]]></category>
		<category><![CDATA[レビュー]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://inspire-tech.jp/?p=1122</guid>
		<description><![CDATA[WordPressでお問い合わせフォームなどを作成する際、いちいち他のスクリプトを組み込むのも面倒なのでプラグインを探していたのですが、Comment Form 7という素晴らしいプラグインを見つけたので、紹介させていた [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>WordPressでお問い合わせフォームなどを作成する際、いちいち他のスクリプトを組み込むのも面倒なのでプラグインを探していたのですが、Comment Form 7という素晴らしいプラグインを見つけたので、紹介させていただきます。</p>
<h3><span>カスタマイズ性の高いフォーム作成画面</span></h3>
<div class="component img">
<a href="http://inspire-tech.jp/wp-content/uploads/2011/07/contact-form-7.png"><img src="http://inspire-tech.jp/wp-content/uploads/2011/07/contact-form-7-570x392.png" alt="" title="contact-form-7" width="570" height="392" class="alignnone size-large wp-image-1125" /></a></div>
<p>通常のテキスト入力やテキストエリアなどの他に、チェックボックスやセレクトボックスなどの多彩な入力フォームを設けることができ、さらにその組み合わせを、フォーム単位で保存する事が可能です。</p>
<p><span id="more-1122"></span></p>
<h4>選択できる入力フォーム</h4>
<p>入力フォームは下記の11種類から選択し、各フォームをいくつでも配置する事が可能です。</p>
<ul>
<li>テキスト項目</li>
<li>メールアドレス項目</li>
<li>テキストエリア</li>
<li>ドロップダウン・メニュー</li>
<li>チェックボックス</li>
<li>承諾の確認</li>
<li>クイズ</li>
<li>CAPTCHA（画像認証）</li>
<li>ファイルのアップロード</li>
<li>送信ボタン</li>
</ul>
<p>右ペインのドロップダウンメニューから入力フォームのタイプを選択すると、入力フォームのカスタマイズを行う画面が表示されます。</p>
<div class="component img"><img src="http://inspire-tech.jp/wp-content/uploads/2011/08/contact-form-7-create-parts.png" alt="" title="contact-form-7-create-parts" width="564" height="513" class="alignnone size-full wp-image-1170" />
</div>
<p>必須入力かどうかや、IDやclass名などを指定する事が可能です。</p>
<p>また、入力された内容に従って、入力フォームや入力フォームの内容をを表示するためのテンプレートタグが表示されています。</p>
<div class="component img"><img src="http://inspire-tech.jp/wp-content/uploads/2011/08/contact-form-7-template-tags.png" alt="" title="contact-form-7-template-tags" width="549" height="122" class="alignnone size-full wp-image-1176" />
</div>
<p>このテンプレートタグを使って、お問い合わせフォームのHTMLテンプレートを作成します。</p>
<div class="component img"><a href="http://inspire-tech.jp/wp-content/uploads/2011/08/contact-form-7-form-template.png"><img src="http://inspire-tech.jp/wp-content/uploads/2011/08/contact-form-7-form-template-570x347.png" alt="" title="contact-form-7-form-template" width="570" height="347" class="alignnone size-large wp-image-1177" /></a></div>
<p>テンプレートタグは表示される際に適宜指定した入力フォームのHTMLに差し替えられ、お問い合わせフォームが表示されます。</p>
<h3><span>通知メールのカスタマイズ</span></h3>
<p>問い合わせがあった場合に、その問い合わせの内容がメールで管理者に送られてくる、通知メールの内容もカスタマイズすることが可能です。</p>
<p>入力フォームを作成した時に表示されたテンプレートタグを利用することで、送信されるメールのテンプレートを作成します。</p>
<div class="component img"><a href="http://inspire-tech.jp/wp-content/uploads/2011/08/contact-form-7-mail-template.png"><img src="http://inspire-tech.jp/wp-content/uploads/2011/08/contact-form-7-mail-template-570x211.png" alt="" title="contact-form-7-mail-template" width="570" height="211" class="alignnone size-large wp-image-1173" /></a></div>
<p>テンプレートタグはお問い合わせフォームのHTMLテンプレートと違い、各フォームに入力された内容に差し替えられます。</p>
<h4>確認メールも、もちろん送ることができる</h4>
<p>問い合わせを行ってくださった方に、入力内容の確認として送信する「確認メール」も、簡単に対応することが可能です。</p>
<p>先ほどのメールの設定エリアの下にメール2という項目があり、「利用する」のチェックを入れると、こちらのメールテンプレートの内容も、同時にメールとして送信されるようになります。</p>
<p>このメールの「宛先」欄をメールアドレスのテンプレートタグを入力することで、確認メールとしての機能を実現する事ができます。</p>
<div class="component img"><a href="http://inspire-tech.jp/wp-content/uploads/2011/08/contact-form-7-mail2-template.png"><img src="http://inspire-tech.jp/wp-content/uploads/2011/08/contact-form-7-mail2-template-570x228.png" alt="" title="contact-form-7-mail2-template" width="570" height="228" class="alignnone size-large wp-image-1172" /></a></div>
<p>メールアドレスの入力フォームを設置していない場合、当たり前ですが確認メールは利用できません。</p>
<h3><span>保存</span></h3>
<p>メールフォームに適当な名前を付けて保存してください。<br />
この時、画面下にフォームを埋め込むためのテンプレートタグが表示されます。</p>
<div class="component img"><a href="http://inspire-tech.jp/wp-content/uploads/2011/08/contact-form-7-save.png"><img src="http://inspire-tech.jp/wp-content/uploads/2011/08/contact-form-7-save-570x81.png" alt="" title="contact-form-7-save" width="570" height="81" class="alignnone size-large wp-image-1174" /></a></div>
<h3><span>フォームの設置</span></h3>
<p>フォームは、カスタムポストを含むあらゆるページに埋め込むことができます。<br />
本文に、先ほど作成したメールフォームのテンプレートタグを埋め込むだけです。</p>
<div class="component img"><a href="http://inspire-tech.jp/wp-content/uploads/2011/08/contact-form-7-embed.png"><img src="http://inspire-tech.jp/wp-content/uploads/2011/08/contact-form-7-embed-570x291.png" alt="" title="contact-form-7-embed" width="570" height="291" class="alignnone size-large wp-image-1171" /></a></div>
<h3><span>動作確認</span></h3>
<p>実際にフォームを設置したページを開いて、送信テストを行ってみましょう。</p>
<p>Ajaxを使ったリッチな送信画面なので、確認画面を作成する手間や、煩わしい画面スクロールがありません。</p>
<div class="component img">
<a href="http://inspire-tech.jp/wp-content/uploads/2011/08/contact-form-7-send.png"><img src="http://inspire-tech.jp/wp-content/uploads/2011/08/contact-form-7-send-570x777.png" alt="" title="contact-form-7-send" width="570" height="777" class="alignnone size-large wp-image-1175" /></a></div>
<p>メールが正しく届いていれば大丈夫です。</p>
<h3><span>文字コードによる注意</span></h3>
<p>私の環境では発生していませんが、サーバーのPHPの文字エンコードの設定によってはメールの内容が文字化けするようです。</p>
<p>下記フォーラムの投稿をリンクしておきますので、文字化けが発生してしまった方は参考にしてください。</p>
<ul>
<li><a href="http://ja.forums.wordpress.org/topic/7628" title="WordPress › フォーラム » Contact Form 7のコンタクトメールで文字化けしてしまう">WordPress › フォーラム » Contact Form 7のコンタクトメールで文字化けしてしまう</a></li>
</ul>
<h3><span>総括</span></h3>
<p>MovableTypeでAFormというプラグインを利用したことがあるのですが、そちらに近いインターフェースで、簡単にお問い合わせフォームを作成する事が可能になっています。</p>
<p>AFormと比べると、コンバージョン率の測定やお問い合わせ内容の一括エクスポートなどの機能は無く、使い勝手も多少劣りますが、無償で利用出来る点を考えると、非常に利用価値の高いプラグインだと感じました。</p>
<p>WordPress版AFormと言っても過言ではないように思います。</p>
<p>高機能なメールフォームが欲しい方、WordPress版のAFormを探していた方など、WordPressを利用している方であれば是非導入を考えてみて下さい。</p>
]]></content:encoded>
			<wfw:commentRss>http://inspire-tech.jp/2011/08/wordpress_comment_form_7_plugin/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>WordPressで本体や特定のプラグインのアップデート通知を非表示にする方法をまとめてみた</title>
		<link>http://inspire-tech.jp/2011/07/wordpress_hide_update_notice/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress_hide_update_notice</link>
		<comments>http://inspire-tech.jp/2011/07/wordpress_hide_update_notice/#comments</comments>
		<pubDate>Sun, 10 Jul 2011 06:12:53 +0000</pubDate>
		<dc:creator><![CDATA[家富 正幸]]></dc:creator>
				<category><![CDATA[その他]]></category>
		<category><![CDATA[問題解決]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://inspire-tech.jp/?p=996</guid>
		<description><![CDATA[WordPressでは本体機能もプラグインも、自動で最新版にアップデートができるという素晴らしい機能があります。 この機能のおかげで、追加機能やバグの修正版が出た場合でも、ボタン1つで最新のパッケージが利用出来るため、い [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>WordPressでは本体機能もプラグインも、自動で最新版にアップデートができるという素晴らしい機能があります。</p>
<p>この機能のおかげで、追加機能やバグの修正版が出た場合でも、ボタン1つで最新のパッケージが利用出来るため、いちいちファイルをダウンロードしてサーバー上のファイルを更新するという手間がありません。</p>
<p>とても便利な自動更新機能なのですが、何かの都合で本体を更新出来ない場合や、更新したくないプラグインが存在する場合、サイドバー等に常に更新通知が表示されるため、逆に非常に煩わしいものに変わってしまいます。</p>
<p>そんな時、WordPress本体や特定のプラグインの更新通知を非表示にする方法があるので紹介します。</p>
<h3><span>WordPress本体のアップデート通知を非表示にする</span></h3>
<p>これは下記のサイトを参考にしました。</p>
<ul>
<li><a href="http://wp3.jp/2011/05/19/disable-update/" title="WordPressの自動アップグレードを表示させない方法 | WordPress（ワードプレス）コミュニティ">WordPressの自動アップグレードを表示させない方法 | WordPress（ワードプレス）コミュニティ</a></li>
</ul>
<p>利用しているテーマの <code>functions.php</code> に下記のコードを記述するだけです。</p>
<pre class="brush: php">
add_filter('pre_site_transient_update_core', create_function('$a', &quot;return null;&quot;));
</pre>
<p>これでWordPress本体のアップデート通知は無効になります。</p>
<h3><span>特定のプラグインのアップデート通知を非表示にする</span></h3>
<p>これは調べてもやっている方がいないようなので、WordPress本体のソースを解析してみました。</p>
<p>利用しているテーマの <code>functions.php</code> に下記のコードを記述します。</p>
<pre class="brush: php">
add_filter('site_option__site_transient_update_plugins', 'filter_hide_update_notice');
function filter_hide_update_notice($data) {
	if (isset($data-&gt;response['プラグインのメインファイルまでのファイルパス'])) {
		unset($data-&gt;response['プラグインのメインファイルまでのファイルパス']);
	}
}
</pre>
<p>「プラグインのメインファイルまでのファイルパス」は、WordPressの <code>wp-content/plugins</code> ディレクトリの直下から、プラグインのメインファイルまでのパスを、相対パスで指定します。</p>
<p>例えば私の環境では、最新版に更新することで大幅に機能低下してしまうため、過去バージョンのまま利用しているYARPP（Yet another related posts plugin）というプラグインがあります。</p>
<p>これを例にすると、下記のように記述します。</p>
<pre class="brush: php">
add_filter('site_option__site_transient_update_plugins', 'filter_hide_update_notice');
function filter_hide_update_notice($data) {
	if (isset($data-&gt;response['yet-another-related-posts-plugin/yarpp.php'])) {
		unset($data-&gt;response['yet-another-related-posts-plugin/yarpp.php']);
	}
}
</pre>
<p>これで、特定のプラグインの更新通知を無効にする事ができます。</p>
]]></content:encoded>
			<wfw:commentRss>http://inspire-tech.jp/2011/07/wordpress_hide_update_notice/feed/</wfw:commentRss>
		<slash:comments>50</slash:comments>
		</item>
	</channel>
</rss>
