Home > WordPress > Safariでの表示不具合も解決できました

Safariでの表示不具合も解決できました

前回『プラグイン導入によるSafariでの表示不具合』ということでデバッグをしていました。結論としてはプラグインやテーマでjavscriptライブラリを2重に読み込んでいることが原因のようで、これを解決させるとその不具合も問題なく解消されました。ようやくひと安心…といったところです。

どんな対策をしたかというとWP 2.1から導入されたというwp_enqueue_script()という関数を使いました。javascriptライブラリを引き込むのにGoogle Maps for WordPressプラグインがこの関数を使っていたことに端を発します。

このwp_enqueue_script()関数の詳しい説明は『wp_enqueue_scriptで外部JavaScriptの読み込みをスマートに at WordPress.ex-libris.jp』や『[WP]wordpress付属のJavascriptを使用する – WebTecNote』に任せますとして、対策のために変更したのは次の通りです。

Lightbox JS 2.04プラグイン・lightbox.php:

function lightbox_styles() {
	$lightbox_path = get_option('siteurl')."/wp-content/plugins/lightbox-2-wordpress-plugin/lightbox/";
	$lightboxscript.= "<script type=\"text/javascript\"> lb_path = \"$lightbox_path\"; </script>\n";
	$lightboxscript.= "<link rel=\"stylesheet\" href=\"".$lightbox_path."css/lightbox.css\" type=\"text/css\" media=\"screen\" />\n";
	$lightboxscript.= "<script type=\"text/javascript\" src=\"".$lightbox_path."js/prototype.js\"></script>\n";
	$lightboxscript.= "<script type=\"text/javascript\" src=\"".$lightbox_path."js/scriptaculous.js?load=effects,builder\"></script>\n";
	$lightboxscript.= "<script type=\"text/javascript\" src=\"".$lightbox_path."js/lightbox.js\"></script>\n";

	print($lightboxscript);
}

の部分を次のように変更します。

function lightbox_styles() {
	$lightbox_path = get_option('siteurl') . "/wp-content/plugins/". basename(dirname(__FILE__)) . "/lightbox/";
	$lightboxscript.= "<script type=\"text/javascript\"> lb_path = \"$lightbox_path\"; \n";
	$lightboxscript.= "<link rel=\"stylesheet\" href=\"".$lightbox_path."css/lightbox.css\" type=\"text/css\" media=\"screen\" />\n";

	wp_enqueue_script('wpLightbox', "{$lightbox_path}js/lightbox.js", array('prototype', 'scriptaculous-effects', 'scriptaculous-builder'));

	print($lightboxscript);
}

でもこれだけでは修正は有効にならないのでその下にあるコードも変更します。

Lightbox JS 2.04プラグイン・lightbox.php:

// Erase	add_action('wp_head', 'lightbox_styles');
// start Add
add_action('wp_print_scripts', 'lightbox_styles');
// end Add

Google Maps for WordPressプラグインとLightbox JS 2.04プラグインの競合による不具合はこれで解消されます。

…でも私の使っているテーマの関係もあってこれだけでは終わりそうにないのでテーマの方も変更しておくことにしました。使用しているテーマは『Rounded v2 blue edition』です。このテーマの構成ファイルのうち、header.phpに対して修正を施しました。

Rounded v2 blue editionテーマ・header.php:

		<link rel="stylesheet" href="< ?php bloginfo('stylesheet_url'); ?>" type="text/css" media="all" />

<!-- Comment Out
	<script src="<?php bloginfo('template_directory'); ?>/js/lib/prototype.js" type="text/javascript">
	<script src="<?php bloginfo('template_directory'); ?>/js/scriptaculous.js" type="text/javascript"></script>
		<script src="<?php bloginfo('template_directory'); ?>/js/sifr.js" type="text/javascript"></script>
 Comment Out -->
< ?php
// start Add
	$template_url = get_option('siteurl') . "/wp-content/themes/rounded-v2-blue-edition-10/";
	wp_enqueue_script('sifr', "{$template_url}js/sifr.js" , array('prototype', 'scriptaculous'));
// end Add
?>

これらの変更によりjavascriptライブラリが2重に読み込むこともなくなるようです。吐き出されるソースコードでも確認したので確かでしょう。

これでようやく枕を高くして眠れそうです(^-^)

…あぁ、でも折角紹介しているソースコードが見にくい…。デザイン的にはかなり気に入っているんだけど別のテーマを探した方が良いのかなぁ……。

関連記事:

関連記事は今のところありません

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://shinonon-web.net/2008/06/06/99/trackback/
Listed below are links to weblogs that reference
Safariでの表示不具合も解決できました from ある日の小さなつぶやき

Home > WordPress > Safariでの表示不具合も解決できました

  • 舞鶴にもGoogleのストリートビューの車が来てたのを初めて知った。…でも府道21号と海岸の公園脇の2車線どうというマイナーな道を通っているってのはどういうこと? フツーはメインストリートの国道27号を通るでしょ?ww [PC] 18 mins ago
  • …でもほんとは「山」でもあるんだけど、近いタグが「森林」なんだよね…。 [PC] 6 hrs ago
  • …まぁ、ある意味カオスな世の中ですけれど。 [PC] 9 hrs ago
  • More updates...

Powered by Twitter Tools

Flickr Recent Photos
いつものパウンドケーキにアレンジを…コーヒー風味のパウンドケーキこの冬最後の雪? (Last snow of this winter?)シンプルなパウンドケーキ焼けたサトウキビ砂糖のリンゴジャム添えジャムを添えてみましたこれまで以上に膨らみました膨らみが悪くて…フラワーバッター法で作ってみましたが今日もケーキ焼いてます
Tag Cloud
最近の投稿
最近のコメント
Recent Pings

Return to page top