カテゴリー
WordPress

【WordPress】FTP接続無しで各種更新を行う

WorsPressでは、コアの更新やプラグインの更新の際、サーバの設定によってはFTP接続を求められることがあります。下記の記述を行うことで、FTP接続を求められることもなく、管理画面から更新を行うことが可能になります。忘れるのでメモ。

wp-config.phpに、下記を/** Absolute path to the WordPress directory. */より上に記述。

define('FS_METHOD', 'direct');

参考:WordPress FTPなしでプラグインダウンロードできる設定
http://qiita.com/mzdakr/items/41d64e5d79557b8de6ef

カテゴリー
WordPress

【WordPress】自動更新に失敗

夕方で疲れていたこともあって、とあるサイトでWordPressの4.7.1の自動更新ボタンを「まあ、大丈夫だろう」という軽い気分でクリックしてしまった。押した瞬間、後悔した。バックアップを取っておらず、バージョンアップがうまくいかなかった時のことを考えていなかったのである。そして神様はやはり非情だった。いつもはメールで「WordPressを自動更新しました!」とお気楽に教えてくれるのに、この時ばかりは「裁きじゃ」といわんばかりに「必要なファイルをコピーしています」の表示でフリーズしたのである。顔面蒼白。

URLをたたくとメンテナンス中の文字が表示。管理画面も同じく。ただちに検索して、メンテナンスモードを解除。再度URLをたたくと無情にもエラー表示。泣き顔で管理画面のURLをたたくと「データベースの更新が必要です」の表示。お祈りしながらクリック。データベースは更新され、無事サイトも復旧しました。

備忘録として、フリーズ発生から解決までの手順。

1)自動更新クリック、「必要なファイルをコピーしています」の表示のまま応答なし
2)URLをたたくと、「現在メンテナンス中~」の表示。管理画面にログインしようとしても同じメッセージ
3)SFTPでサーバの接続。.maintenanceファイルを削除
4)管理画面のURLからデータデースを更新
5)サイト復旧(WordPressの更新も完了)

教訓として、
・自動更新でコケることは、ある(検索すると結構ヒットする)。
・必ずバックアップを取って、復旧できる状態にしておく。
・疲れている時は、疲れている自分を自覚する。

以後、反面教師として、礎として、記念碑として、この投稿をアップしておくこととす。

カテゴリー
WordPress

【WordPress】記事投稿のエディタでhtmlを表示させたい時

特殊文字を使う

<pre>

結果
<pre>

カテゴリー
その他

【その他】Webフォーム等の改行付文字列の表示

品質管理というなんだか謎の部署から、Webフォームの確認画面で、テキストエリアで入力した改行がされないことを指摘されました。修正しないと公開させませんとのこと。htmlspecialcharsで改行コードを無害化しているのが原因なのでどうにかならんものかとWebサーフィン。下記の対応を行いました。

<pre>タグを使う

 <?php echo '<pre>' . htmlspecialchars($_POST['comment']). '</pre>';?></p>

nl2br関数を使う

$txt = $_POST["comment"];
echo nl2br(htmlspecialchars($txt));

最初、自分で考えて失敗したコードも晒す

$txt = htmlspecialchars($_POST['comment']);
echo nl2br($txt);

参考
http://qiita.com/yt8yt/items/a7d8fb8b24909f63f8ec

カテゴリー
WordPress

【WordPress】抜粋文の特殊文字の削除

現場から抜粋分に特殊文字が表示されてしまうとの連絡がありました。
get_the_excerpt()関数で表示される文字列は、改行などの特殊文字も表示されてしまうようで、しかも文字数に含まれるため、「&nbs」や「&nb」で切れて表示されてしまうケースも。Functions.phpに下記を書いて対応しました。

//本文抜粋を取得する関数
function get_the_custom_excerpt($content, $length) {
  $search = array('&nbsp;','&nbs','&nb','&n');//置き換える特殊文字列群
  $content =  str_replace($search,"",$content);//特殊文字削除
  return $content;
}
add_filter('get_the_excerpt', 'get_the_custom_excerpt');

参考:寝ログ様
http://nelog.jp/get_the_custom_excerpt