<?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; プラグイン</title>
	<atom:link href="http://kenko-blog.lunaclear.com/tag/plugin/feed" rel="self" type="application/rss+xml" />
	<link>http://kenko-blog.lunaclear.com</link>
	<description>体が弱いからこそ健康を保つための方法を模索して健康生活！</description>
	<lastBuildDate>Sun, 12 Jun 2011 09:30:31 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WordPressのプラグインで勝手に挿入されるタグを削除する方法</title>
		<link>http://kenko-blog.lunaclear.com/wordpress/frail19.html</link>
		<comments>http://kenko-blog.lunaclear.com/wordpress/frail19.html#comments</comments>
		<pubDate>Sat, 07 May 2011 14:43:15 +0000</pubDate>
		<dc:creator>るな</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[ブログ]]></category>
		<category><![CDATA[プラグイン]]></category>

		<guid isPermaLink="false">http://kenko-blog.lunaclear.com/?p=19</guid>
		<description><![CDATA[初っ端から健康ネタじゃなくて、なぜかWordpressネタ。 このブログはWordpressを使ってます。 Wordpressはプラグインが強力なものが揃ってて使い勝手が非常に良いですね。 このブログでもいくつかのプラグ [...]]]></description>
			<content:encoded><![CDATA[<p>初っ端から健康ネタじゃなくて、なぜかWordpressネタ。</p>
<p>このブログはWordpressを使ってます。<br />
Wordpressはプラグインが強力なものが揃ってて使い勝手が非常に良いですね。</p>
<p>このブログでもいくつかのプラグインを使ってるんだけど、<br />
記事の下に表示してる、はてなブックマークとかTwitterとかFacebookのボタンは</p>
<p><a href="http://www.ninxit.com/blog/2010/06/13/wp-social-bookmarking-light/" target="_blank">WP Social Bookmarking Light</a> というプラグインを使ってます。</p>
<p>でも、このプラグイン、すごくいいんだけど、head タグ内に以下のようなスタイルの定義が勝手に挿入されてしまいます。しかもlinkタグによる外部の定義じゃないから結構ウザい。</p>
<p><span id="more-19"></span></p>
<div style="border:1px solid;margin:15px auto;padding:10px 20px;background-color:#ffffe1">
<div class="f08em">
&lt;style type=&#8221;text/css&#8221;&gt;<br />
div.wp_social_bookmarking_light{border:0 !important;padding:0 !important;margin:0 !important;}<br />
div.wp_social_bookmarking_light div{float:left !important;border:0 !important;padding:0 4px 0 0 !important;margin:0 !important;height:21px !important;text-indent:0 !important;}<br />
div.wp_social_bookmarking_light img{border:0 !important;padding:0;margin:0;vertical-align:top !important;}<br />
.wp_social_bookmarking_light_clear{clear:both !important;}<br />
a.wp_social_bookmarking_light_instapaper {display: inline-block;font-family: &#8216;Lucida Grande&#8217;, Verdana, sans-serif;font-weight: bold;font-size: 11px;-webkit-border-radius: 8px;-moz-border-radius: 8px;color: #fff;background-color: #626262;border: 1px solid #626262;padding: 0px 3px 0px;text-shadow: #3b3b3b 1px 1px 0px;min-width: 62px;text-align: center;vertical-align:top;line-height:21px;}<br />
a.wp_social_bookmarking_light_instapaper, a.wp_social_bookmarking_light_instapaper:hover, a.wp_social_bookmarking_light_instapaper:active, a.wp_social_bookmarking_light_instapaper:visited {color: #fff; text-decoration: none; outline: none;}<br />
.wp_social_bookmarking_light_instapaper:focus {outline: none;}<br />
&lt;/style&gt;
</div>
</div>
<p>このスタイルシートには問題点があって、なぜかほとんどの定義に「!important」がついている。つまり、上書きできないってこと。</p>
<p>これだと、ボタンの位置などをあまり自由に設定できない。</p>
<p>WP Social Bookmarking Light は非常に優秀なプラグインだと思うんだけど、これは問題だ。</p>
<p>このスタイルの定義はWordpressのheader内にある&#x3c;&#x3f;php wp_head?&#x3e;で自動的に挿入されます。かといって、この&#x3c;&#x3f;php wp_head?&#x3e;はWordPress多くのプラグインを動かすのに必須なので、勝手に消すことはできません。</p>
<p>これがあるとheader内に自動でlinkタグやmetaタグ等が挿入される仕組みだからです。</p>
<p>とはいえ、これらの勝手に挿入されるlinkタグやmetaタグを除去する方法は結構、いろんなサイトで紹介されてて、方法としては、functions.php をたとえば以下のように書き換えれば、linkタグ等が削除できます。</p>
<div style="border:1px solid;margin:15px auto;padding:10px 20px;background-color:#ffffe1">
<div class="f09em">
&lt;?php<br />
if ( function_exists(&#8216;register_sidebar&#8217;) )<br />
register_sidebar();<br />
remove_action(&#8216;wp_head&#8217;, &#8216;index_rel_link&#8217;);<br />
remove_action(&#8216;wp_head&#8217;, &#8216;parent_post_rel_link&#8217;, 10);<br />
remove_action(&#8216;wp_head&#8217;, &#8216;start_post_rel_link&#8217;, 10);<br />
remove_action(&#8216;wp_head&#8217;, &#8216;adjacent_posts_rel_link&#8217;, 10);<br />
remove_action(&#8216;wp_head&#8217;, &#8216;rsd_link&#8217;);<br />
remove_action(&#8216;wp_head&#8217;, &#8216;wlwmanifest_link&#8217;);<br />
remove_action(&#8216;wp_head&#8217;, &#8216;wp_generator&#8217;);<br />
?&gt;
</div>
</div>
<p>じゃぁ、linkタグとかmetaタグじゃなくて、WP Social Bookmarking Light のようにスタイルの定義が勝手に挿入された場合、どうやって削除するか。</p>
<p>これは、単純にプラグイン内のスタイルシートを付与する関数を見つけ出して、その関数名を remove_action で指定してやればいい。</p>
<p>WP Social Bookmarking Light でスタイルシートを付与しているのは、</p>
<div style="border:1px solid;margin:15px auto;padding:10px 20px;background-color:#ffffe1">
function wp_social_bookmarking_light_wp_head()
</div>
<p>なので、これを</p>
<div style="border:1px solid;margin:15px auto;padding:10px 20px;background-color:#ffffe1">
remove_action(&#8216;wp_head&#8217;, &#8216;wp_social_bookmarking_light_wp_head&#8217;);
</div>
<p>ってすればいい。これで消せる。</p>
<p>ただし、WP Social Bookmarking Light の場合は、”ほぼ” 問題ないと思われるが、他のプラグインの場合、その関数内でタグの挿入以外の処理をしてる場合は要注意です。</p>
]]></content:encoded>
			<wfw:commentRss>http://kenko-blog.lunaclear.com/wordpress/frail19.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
