利用するテーマが、最新のワードプレスの機能をサポートしているかどうかは、重要な問題です。
いくらテーマが、素敵でも、肝心のワードプレスの機能が使えないようなものなら、カスタマイズの苦労は、水の泡になります。
ただ、そのテーマが、古いのか新しいのか判然としないものも多く、見極めは、困難だと思います。
テーマは、ワードプレスの機能をサポートするかしないかの設定が書かれているので、これを利用して、簡単なチェックのためのスクリプトを書いてみました。
Aside
因みに、ver3.6で新デフォルトテーマになる予定の、Twenty thirteen テーマでは、以下のようになりました。
editor-style | Support |
post-thumbnails | Support |
custom-background | – |
widgets | Support |
post-formats | Support |
Support WordPress near ver | 3.1 |
あれ、custom-headerをサポートしているはずなのに、読み込まれないので、3.4となるべきところが、3.1になっていますね。
Twentythirteenは、カスタムヘッダーだけ、incディレクトリからファイルをインクルードするようになっています。
コードを走らせた段階で、このカスタムヘッダーの設定が、まだ読み込まれていないということなんじゃないかと考えていますが、「サポートしている機能が、未サポート扱いになる」といったこともあるかもしれないです。
コードと使い方
functions.phpの最初の<?phpの直前に貼り付けていただくと、サイドバーの直前に結果を表示します。
テーマによってはレイアウトが崩れる事がありますが、チェックが終了したら、削除してください。
選択の目安としては、最新版のワードプレスのバージョンが、3.5だとすると、0.2を引いた、3.3未満だと、使用しないほうがいいと思います。
(根拠は、公式テーマが後方互換性のために、古い関数を使ってもいい範囲が、それにあたるからです。)
このコードの趣旨は、機能をサポートしていないテーマを使ってはダメという事ではなくて、カスタマイズの手間がかからない、WEB等で公開されているカスタマイズの機能などが、割とうまく動いてくれるなどといった、楽チン度を測るという意味なので、ご自身でカスタマイズできる人は、過去の名作をリストアして楽しむ自由は、もちろんあります。
<?php add_action('get_sidebar', 'my_theme_support_check'); function my_theme_support_check(){ $result = ''; $ver= 0; $supports = array( '3.0'=> 'automatic-feed-links', '3.0'=> 'menus', '2.9'=> 'post-thumbnails', '3.4'=> 'custom-header', '3.4'=> 'custom-background', '3.0'=> 'editor-style', '2.8'=> 'widgets', '3.1'=> 'post-formats' ); $head = '<table style="max-width:100%">'; $head .= '<caption>Theme Support Check</caption>'; $rows = '<tr><td>%1$s</td><td>%2$s</td></tr>'; foreach($supports as $key=>$support){ if ( current_theme_supports( $support ) ){ $result .= sprintf($rows,$support,'&nbsp;Support'); if($ver < floatval( $key ) ){ $ver= floatval( $key ); } }else{ $result .= sprintf($rows,$support,'&nbsp;-'); } } $foot= sprintf( $rows, 'Support WordPress near ver', $ver ); echo $head. $result. $foot. '</table>'; } ?>
訂正 $version を $ver に変更 2013 / 3 / 16