WordPress

WordPress自作テーマのフォルダ名を付ける時の注意点!意外と知られてない落とし穴!

2013.03.13

過去にWordPressで多くのオリジナルテーマを制作してきたのですが

先日、意外な落とし穴にハマってしまったので記事にしてみました。

ひっさびさに技術的なお話ですw

WordPressオリジナルテーマを制作する時に、テーマのフォルダ名ってどうやって付けていますか??

好きな名前?ドメイン名?作者名??

おそらく、多くの人が「適当」って答えると思います。
(実際にアンケートしてみたら、100%の人が“特に何も考えていない”と答えましたm(__)m)

私もそうでした。

このテーマのフォルダ名が何かに影響するものだと考えていませんでした。

が、、、 ここに大きな落とし穴がありました。

テーマフォルダ名とは

WordPressテーマは、wp-content/themes/ の中のサブディレクトリに存在します。

オリジナルテーマを作った時、このディレクトリにフォルダを作ってその中に

  • css
  • テンプレートファイル
  • functions.php

が存在しテーマが作られます。

 

例:miniという名前のオリジナルテーマを作った場合 wp-content/themes/mini

この「mini」に当たる部分がテーマのフォルダ名。

これ、適当に付けちゃっていませんか??

 

適当に付けたフォルダ名によって起こっちゃった!!

ある日制作したテーマを管理画面より見てみると、自作テーマにこんな表示がされていました><

テーマフォルダ名の付け方

なぬ!!!!????

 

新バージョンのminiが利用できます。バージョン1.1.5の詳細を表示するか、アップデートしてください。

 

自作テーマなのに何故バージョンアップ通知が???

このサイトは「mini」というサイト名だった為、私はテーマフォルダ名をminiと好きに付けていたのですが

なんと、このテーマ名が公式テーマにヒットしたようでバージョンアップ通知が表示されたようです。

WordPressにはWordPressのテーマをフリーでダウンロードできます。WordPressの管理画面から種類やテーマで検索してダウンロードできます。

 

そしてその公式テーマは膨大にあります。

テーマのバージョンチェックは、公式ディレクトリのURL(例: テーマのスラッグ)とテーマ名に依存しているそうです。

その公式テーマのひとつに、私が制作したオリジナルテーマがヒットしてしまい、バージョンアップ通知が表示されたようなんです。

もちろんこのアップデートボタンを押してしまえば、公式テーマに置き変わってしまい、制作していたオリジナルテーマは綺麗さっぱり消えてしまいます。

作った本人であれば、バージョンアップしてはいけないと分かると思いますが

制作者以外の人が見たら思わず押してしまいますよね、、、(*_*;

本当に恐ろしいです><

 

オリジナルテーマ名の付け方

じゃ、実際にテーマのフォルダ名を付ける時にどこに気をつければ良いのか。

WordPressのフォーラムで聞いてみました〜

 

  1. style.cssに記述するバージョンをあり得ないくらい高くしておく!
  2. 絶対被らない名前を付ける(例えば自分の名前とサイトドメイン名を組み合わせるとか…)
  3. 有効化されているテーマのみ、バージョンアップ通知を表示させない

 

以上、3つが対策として良いのではないかと言われました。1はちょっと違和感あるのですが…m(__)m

2と3をしておけば安心ですよね!

 

有効化されているテーマだけバージョンアップ通知を非表示に

現在有効化しているテーマのみの更新をさせないためには、下にある部分を functions.php にコピペします。

function cws_hidden_theme_12345( $r, $url ) {
	if ( 0 !== strpos( $url, 'http://api.wordpress.org/themes/update-check' ) )
		return $r; // Not a theme update request. Bail immediately.
	$themes = unserialize( $r['body']['themes'] );
	unset( $themes[ get_option( 'template' ) ] );
	unset( $themes[ get_option( 'stylesheet' ) ] );
	$r['body']['themes'] = serialize( $themes );
	return $r;
}
add_filter( 'http_request_args', 'cws_hidden_theme_12345', 5, 2 );

cws_hidden_theme_12345(2箇所)は、自分の関数名に合うように変更してください!

 

これで一安心。

滅多に起こらない事だとは思うのですが、今後のオリジナルテーマを作る時に頭の隅に置いておくと安心だと思います!!

ではでは素敵なWordPressライフを〜♪

 

  • このエントリーをはてなブックマークに追加