WordPressのバージョンを「3.4.2」から「3.5.1」にバージョンアップしました。6か月ちょいぶりのバージョンアップ作業になりましたが、今回は先日覚えた「子テーマ」を使い、変更点はすべて子テーマに含める作業を行いました。
作業概要
私の環境は、サーバにSSH接続して作業を行える環境です。以下のやり方でバージョンアップを実施しました。
- WordPressのバージョンアップ前に、覚えている範囲で、稼働中のプログラムの変更点を子テーマに反映。
- MySQLをバックアップ。
- ダウンロードしたWordPress最新版(3.5.1)を解凍したディレクトリを、/usr/local/apache2の配下に移動。(例:/usr/local/apache2/wordpress)
現在稼働しているWordPress(/usr/local/apache2/htdocs 配下)から、
必要なファイル/ディレクトリをコピー。(詳細は次章に記載)- /usr/local/apache2/htdocs の名前をリネームして退避。(例:/usr/local/apache2/htdocs_backup)
- /usr/local/apache2/wordpress を /usr/local/apache2/htdocs にリネーム。
- 念の為、apacheの再起動。
- WordPress管理画面でDB更新が必要なメッセージと更新ボタンが表示されるので、そのままクリック。
- プラグインの再起動。
- テーマ画面で子テーマを有効化。
- 子テーマに反映しきれていなかった部分をコツコツと反映。
以上でとりあえずWordPressバージョンアップ作業が無事完了しました。
子テーマを利用する方法に全面的に変更したので、次回からは結構楽にWordPressのバージョンアップが出来そうです。
子テーマでのfunctions.php
子テーマでのfunctions.php を作っている時に、記述を間違えるとサイト自体がブラウザ表示できなくなるので、ちょっと時間がかかってしまいました。
極力functions.phpには記述しない方法を選択するようにしました。
現時点での子テーマのfunctions.phpの内容は以下です。
<?php // favicon if(! function_exists('favicon_link')): function favicon_link() { echo '<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />' . "\n"; } endif; add_action('wp_head', 'favicon_link'); // 自動保存の停止 if(! function_exists('disable_autosave')): function disable_autosave() { wp_deregister_script('autosave'); } endif; add_action( 'wp_print_scripts', 'disable_autosave' ); ?>
これらもfunctions.phpから外す事が出来れば外す予定です。
プラグイン「WPtouch」用のプラグインを作成
スマホ対応させるにあたり「WPtouch」プラグインを使っているのですが、選択しているテーマのfunctions.php でshortcodeを記載しても、WPtouch では認識できない事が分かりました。理由は、WPtouchでは別のテーマを使う事になり、通常利用しているfunctions.phpを読まないかららしいです。
よって、WPtouchも見据えたshortcodeを作成して利用する手段として、プラグインを作成しました。プラグインにするとWPtouchで生成されるスマホ用画面で問題だった箇所も解決しました。