プログラミング

WordPress functions.php 編集 エラー Tips

投稿日:2020年10月10日 更新日:

WorePressでfunctions.php を編集して動かなくなってしまったときの、対策Tipsです。

ssh/scp で接続して、functions.phpを直接編集します。

前提条件

  • Xserverを利用
  • WordPress環境
  • 独自ドメイン設定済み

使用中のテーマを確認

WordPressの管理画面から、外観→テーマエディターと進みます。

「編集するテーマを選択」で表示されているテーマ名をメモします。

sshで接続

Xserverのサーバーパネルにアクセスして、SSH設定をクリックしてください。

「ONにする」をチェックし、「設定する」をクリックです。

「公開鍵認証用鍵ペアの生成」をクリック、適当なパスワード(これは後で使うのでメモしておいてください)を入力し、「確認画面へ進む」をクリックです。遷移後の画面で「生成する」をクリックしてください。

そうすると、”xxx.key”というファイルがダウンロードされるはずです。後で使うので、分かりやすいようにデスクトップに保存しておいてください。

今度は、サーバーパネルのサイドパネルから「パスワード情報」へ飛び、「サーバーID」をメモしてください。

サーバーパネルのサイドパネルから「サーバー情報」へ飛び、「ホスト名」をメモしてください。

Windows Keyを押して”cmd”と入力し、コマンドプロンプトを開いてください (Macを使用している方は、代わりにcmd+space keyから”Terminal”を開いてください)。

コマンドプロンプトに、下記コマンドを入力してください。

> ssh [サーバーID]@[ホスト名] -i [xxx.key] -p 10022
# 具体例は下記の通り
# > ssh takumablog@sv7777.xserver.jp -i ./Desktop/takumablog.key -p 10022
# macの場合は、上記sshコマンドの「前に」下記コマンドも入力
# > chmod 600 [xxx.key]

成功するとパスワードを求められるので、「公開鍵認証用鍵ペアの生成」ステップでメモしたパスワードを入力してください。これで、ssh接続完了です。

テーマ名の大文字小文字を確認する

下記コマンドで、現在使用しているテーマ名があるかを確認します。ここでは例えば、”stinger8″を利用しているものとします。大文字小文字含めて、メモしてください。

$ ls ./[独自ドメイン名]/public_html/wp/wp-content/themes
# 具体例は下記の通り
# $ ls ./takumablog.com/public_html/wp/wp-content/themes
# 下記のような表示が出るはず
# index.php stinger8 stingerplus2 twentynineteen twentyseventeen twentysixteen twentytwenty

テーマの確認が終わったら、exitでsshを終了します。

$ exit

functions.phpの編集

ここからは、Windowsのコマンドプロンプト上での操作です。上記で調べたテーマ名を使って、functions.phpを開きます。

下記コマンドで[テーマ名]を入力する際には、先のステップで調べたものを、大文字小文字を間違えないように入力してください。[xxx.key]は、先程のsshで使用したものと同じものを指定してください。

> scp -i [xxx.key] -P 10022 [サーバーID]@[ホスト名]:/home/[サーバーID]/[独自ドメイン名]/public_html/wp/wp-content/themes/[テーマ名]/functions.php ./
> notepad functions.php
# scpコマンドの具体例は下記の通り
# > scp -i ./Desktop/takumablog.key -P 10022 takumablog@sv7777.xserver.jp:/home/takumablog/takumablog.com/public_html/wp/wp-content/themes/stinger8/functions.php ./
# Macの場合は、"notepad"ではなく、下記のコマンドを利用してください
# open -a TextEdit functions.php

ここまでで、メモ帳が開いたかと思います。怪しい点を修正して、保存・閉じてしまってください。ここまでのステップでは、まだ編集内容がサーバーに保存されていないので、下記コマンドで編集内容をサーバーに反映させます。

> scp -i [xxx.key] -P 10022 ./functions.php [サーバーID]@[ホスト名]:/home/[サーバーID]/[独自ドメイン名]/public_html/wp/wp-content/themes/[テーマ名]/functions.php
> del functions.php
# scpコマンドの具体例は下記の通り
# > scp -i ./Desktop/takumablog.key -P 10022 ./functions.php takumablog@sv7777.xserver.jp:/home/takumablog/takumablog.com/public_html/wp/wp-content/themes/stinger8/functions.php

お疲れ様でした! これで、functions.phpの変更内容がサーバーにも反映されました。あなたのホームページを更新して、期待通りの動作をしているか、確認してください。

もしまだ期待通りの動作をしていない場合は、このステップを何回か繰り返して、functions.phpを修正し続けてください。。。



-プログラミング
-, , , ,

執筆者:


  1. […] (動かなくなった際には、先述のSSHでサーバーにリモートログインして、”/home/[サーバーID]/[独自ドメイン名]/public_html/wp/wp-content/themes/stinger8/functions.php”を気合で修正してください) […]

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です



関連記事

no image

機械学習で仮想通貨の価格予測→ムリ

機械学習+仮想通貨で儲けられる? 残念ながら、機械学習でのお金儲けは、かなり難しいです。 少なくとも、ローソク足だけを使って機械学習で価格予測をしようとしても、ほとんどマトモな予測はできません。 機械 …

no image

Twitter API 使い方 PHP クイックスタート

Twitter API (PHP) の、クイックスタート記事です。 前提条件 Twitterアカウントは所有済みXserverを利用WordPress環境独自ドメイン設定済みPHPからTwitter …

LINEで管理できるTODOソフトを自作する

TODO管理については、Google・Apple・Microsoftの超大手のアプリから、Todoist等の大手TODOアプリから、GTD等の方法論まで入り乱れています。 個人的にどれもしっくりこなか …

プロフィール

タクマ
−−−−−−−−

東南アジア(ミャンマー&フィリピン)でNW系システムインテグレーターとして6年ほど駐在していました。本を1500冊以上読んだり、プログラミングをしたりしています。嫁さんはタイ人で、タイ在住です。
ーー
Twitter (@tkm_nkmr)
ーー
Twitterまとめのまとめ
YouTube Find!
SNS Trends

−−−−−−−−