【OnePress】に限らずWordPress公式サイトで配布されているテーマは、環境への適用やWordPressの要件に対応させるため、また利便性の向上のため不定期に更新されています。
テーマ更新では、テーマ内にある既存ファイルへ変更(上書き)を行う場合があり、更新の内容によってはそれらに行ったコードの改変や追加部分が上書きされ、せっかく構築したサイトが台無しになってしまうことがあります。
これを防ぐため、WordPressでは子テーマという機能が備わっており、子テーマへ行ったコードの編集や追加などは親テーマの更新で影響を受けないようにしておくことができます。
残念ながらWordPress公式サイト上では子テーマというのは配布されていないので、子テーマ生成用のプラグインを使ったり、自身で作成したりする他方法がなく、知識がなければ不具合を起こす可能性があります。
そこでこのページでは【OnePress】テーマの子テーマを作成し、無料で利用いただけるようにしました。必要と思われる方は是非ご利用ください。
また、より設定画面を分かりやすく日本語化した翻訳ファイルも提供しておりますので、こちらも必要な方はご利用いただければと思います。
【OnePress】子テーマの概要とダウンロード
子テーマの機能と概要
子テーマとしての通常の機能のほか、サイトの作成・管理に必要な以下の機能を追加しています。
- テキストウィジェットでショートコードが動作するようにする
- generatorを削除(WordPressのバージョンを出力しないようにする)
- EditURIを削除(外部ツールを使ったブログ編集用のアドレスを出力しないようにする)
- wlwmanifestを削除(Windows Live Writerでの編集に必要なタグを出力しないようにする)
- canonical削除(WordPress標準で出力されるCanonicalタグを出力しないようにする)
- ヘッダーに<link rel=’https://api.w.org/’href=’http:/xxxx/wordpress/wp-json/’ />タグが挿入されるWP4.4からの機能を解除
- ビジュアルエディタ用のスタイルを追加できるようにする
- ブロックエディタの入力幅をテーマ標準の幅と共通にする(※1)
- ブロックエディタのデザインをテーマ標準のものと共通にする(※1)
※1・・・可能な限り共通にしたものですので、全く同一ではありません。確認はプレビューで行うようにしてください。
子テーマのダウンロードと適用方法、注意事項等
子テーマのダウンロード
【OnePress】子テーマは以下のボタンから無料でダウンロードできます
“OnePressの子テーマ” をダウンロード onepress-child.zip – 734 回のダウンロード – 1.78 KB子テーマのインストールと有効化
ダウンロードしたら、通常のテーマ導入と同じようにインストール・有効化を行ってください
子テーマ使用上の注意
親テーマ有効化時にテーマカスタマイザー(「外観」→「カスタマイズ」)で行った設定については、子テーマには継承されませんので、再設定が必要です。
子テーマには、通常の子テーマとは違い、上記の「子テーマの機能と概要」で表示している追加機能が含まれています。これらの機能を外す場合は子テーマの編集から「include.php」内にある該当のコードを削除またはコメントアウトしていただく必要があります(各機能にコメントを入れていますのでお分かりになると思います)。
子テーマは2020年11月現在、【OnePress】のバージョン2.2.5に対応しております。他のバージョンで使用する場合には不具合が起こる可能性がありますので使用を控えてください(万が一不具合がおきましても本サイトでは責任を負いかねます)。
【OnePress】テーマの翻訳ファイル
【OnePress】はWordPress翻訳者の協力により、有効化時に日本語で設定できるようになっていますが、個人的に分かりにくい部分がありましたので、再翻訳したものを提供しております。
このテーマには翻訳ファイル内の翻訳を使ってフロントエンド(訪問者が閲覧する画面)に表示する文字列がありませんので、有効化時の翻訳内容で問題なく設定ができる方については、当翻訳ファイルをダウンロード・適用する必要はありません。
翻訳ファイルのダウンロード
【OnePress】の翻訳ファイルは以下のボタンから無料でダウンロードできます
“OnePressテーマの翻訳ファイル” をダウンロード onepress-ja-2.2.5.zip – 554 回のダウンロード – 31.76 KB翻訳ファイルの適用方法
以下の手順で翻訳ファイルの適用を行ってください
- ダウンロードした「onepress-ja 〇〇.zip」(〇〇はバージョン番号)を解凍します
- FTPやサーバーのファイルマネージャーを使って、「サイトのインストールフォルダ」→「wp-content」→「languages」→「themes」を開きます(themesフォルダの中のファイルが見えるようにしておきます)
- 1で解凍したフォルダの中にある「onepress-ja.po」「onepress-ja.mo」のファイルを2へアップロードします(フォルダではなく必ずファイルそのものをアップロードしてください)
適用が終わりましたら、「外観」→「カスタマイズ」を開き、翻訳されていなかった部分や、変更した部分の確認(翻訳ファイルが適用されているかの確認)を行ってください。
※本サイトでは、ここで配布している翻訳ファイルが適用されていることを前提に、設定方法などの解説ページを構成しております。
※FTPやサーバーのファイルマネージャーなどが利用できない環境の場合は、WordPressのプラグイン「File Manager」を使ってサーバー内へファイルを転送する方法を参考に転送を行ってください(この方法についてはFTPなどで転送できる環境がありつつ管理画面で処理を完結したい場合に使った方が良い手段です)。
翻訳ファイルが元に戻ってしまわないようにする(自動更新の停止)
WordPressでは、Webの翻訳システム「GlotPress」で有志(ボランティア?)によって翻訳ファイルの書き換えが常に行われています。そしてWordPressではこの「GlotPress」上で確定した翻訳データが定期的にサイトへ自動更新される仕組みになっています。
前述した通り2020年12月現在、【OnePress】のテーマもここで行われた翻訳が適用されているのですが、翻訳文字列の中に、原文のままにする必要がある「ID」(この部分は半角英数しか使えない)部分も日本語になってしまっており、前項で配布している翻訳ファイルは修正していますが、自動更新されてしまうと不具合が起こる可能性があります(その他このサイトで解説などに使っている文字列も上書きされて元に戻ってしまいます)。
影響が出るのはトップページのヘッダーコンテンツ内にあるボタンのリンク先。これは通常トップページ内の特定の部分へ移動するためのものなのですが、翻訳の自動更新によって「ID」が見つからず、移動してくれないという現象が発生します。また、その部分指定で何等かのデザイン変更を行っている場合には、デザインが無効になってしまうこともあります。
※もちろんGlotPressでこの点の翻訳修正を依頼したのですが、残念ながら適用されませんでした(個人的にはきちんとテーマの動作検証して翻訳の承認・否認をしているわけではないと確信しました)。
とはいえ、そのままにしておくわけにはいかないですし、いつ翻訳が自動更新されて元に戻るのかも分かりませんから、そんな状況の中で運営するのは安心できませんから、以下のコードをテーマ(子テーマ)のfunctions.php末尾へ追記して、更新を止めることをおすすめします。
/* 翻訳の更新を無効にする */
add_filter( 'auto_update_translation', '__return_false' );
たったこの1行(コメント含め2行)を追加するだけで、翻訳の更新を無効にできますので、少なくとも【OnePress】テーマを使う場合にはこの設定は欠かせない(あくまでも2020年12月現在)設定になります。
※なお、この措置により、他のテーマやプラグイン、WordPress本体の翻訳に対する自動更新も無効になりますが、大抵の場合それらも勝手に更新されたら困ると思いますので有効な方法だと思います(できるだけコントロールしたいという方は次項のプラグインが便利です)。
すべての翻訳を停止せずに、手動更新にしたいときは
前述したコード追記の方法では、すべての翻訳に対して更新が無効になってしまいますので、お使いの環境によってはすべての翻訳自動更新を停止するのではなく、自分で更新するかどうかを決めたいという場合もあるでしょう。
そんなときは「Easy Updates Manager」プラグインを追加するといいでしょう。
「Easy Updates Manager」は翻訳の更新に対する設定だけでなく
- WordPress本体の更新
- プラグインの更新
- テーマの更新
- 翻訳の更新
に対してそれぞれ「自動で更新する」「手動で更新する」「更新を無効にする」という設定ができるようになっているので、大変便利です。
翻訳に対しては「手動で更新する」を選択しておいて、通知があったら適用するかを決めればよいでしょう。
翻訳が上書きされてしまうのを解消するプラグインを作りました
上記のように、翻訳ファイルがテーマ・本体の更新によって知らない間に上書きされてしまう問題の解消方法をいろいろと紹介してきましたが、それでもどうしても上書きされてしまうのが現状でしょう。
私もこの問題についていろいろと試行錯誤しましたが、やはり同様で、上記の方法を行っても100%解消には至りませんでした。
そこで以下の要件を備えたプラグインを自作し、問題を改善することができました。
- プラグイン・本体・テーマが保存する翻訳ファイルの場所とは異なるところへファイルを保管する
- 保管したファイルを最後に適用する(一番優先して適用する)
このプラグインにより、自動更新などで本体やテーマ・プラグインの翻訳が変わっても、上書きされることなく、かつ、最優先で適用されるようになります。
必要な方は以下の記事をお読みいただき、使用ください
翻訳ファイルを更新で上書きされない場所へ保存し、優先読み込みさせるプラグイン「HA Force Translate Files」