毎日モザイク

White Room Layout Works

Archive for the ‘WordPress’ Category

2016-10-18T02:02:33+09:00 [Tue]
--> [WordPress]

wordpressが自動更新できない

nginxでリバースプロキシを噛ませたあたりから自動更新がうまく行かなくなっていたのですが、今度という今度は何度やっても失敗。その都度「別の更新が現在進行中です」がでて、mysqlのwordpressのdbからlock部分を削除してリトライすること数回。いい加減飽きてきたので、手動更新しました。

nginxの設定で、ログイン中はスルーにしてあるので、キャッシュ部分は関係ないはずで、何がなんだかよく解りませんが、手動でうまく行ったのでいいか。

FTPアカウントがある環境なら、手動更新はとっても簡単です。

  1. 落として解凍。
  2. wordpressのディレクトリをフルバックアップ(できればmysqlのDBも)。
  3. wp-includes, wp-adminディレクトリを削除。
  4. 更新されたwp-includes, wp-adminを入れる。
  5. wp-content フォルダにある個々のファイルを、既に存在している wp-content フォルダにアップロードし、上書き。すでにあるものは一つも消しては駄目。間違って消したらバックアップから戻す。
  6. 更新されたフォルダに入ってない裸のファイルを全部上書き。
  7. wordpressをリドードして、データベースの更新をする。

以上で終りです。

もっとも重要なのは当然ですが2。

2015-07-23T22:15:27+09:00 [Thu]
--> [WordPress]

jp markdown

会社のサイトの記述を簡単にするため、JP Markdownを入れました。

その前のテスト用にここにも入れました。

普通に書く分には楽ですが、コードとか入るとちょっと面倒くさい。

こうやって
 行頭4文字スペースを入れると
 <pre><code>で囲まれてしまいます。</code></pre>

戻ると地の文に。

これをsyntaxhighlighterと合わせて使うと、空行の次が4文字以上インデントされてると、<pre>〜が付いてしまいます。

面倒くさいから通常のmarkdown記法だけで。

何もかもが便利とかいうのはなかなかないもんだ。


SyntaxHighlighterをSyntaxHighlighter plusからSyntaxHighlighter Evolvedに変えたらなんとかなった。

2015-07-15T00:54:24+09:00 [Wed]
--> [WordPress]

custom field suite

custom field suiteの配置ルールについて

custom field suiteの配置ルールオプションで、投稿タイプは新規作成時に判断され、投稿か固定ページかで出るかどうかが決まる。

ユーザー権限グループも同様。書いてる人の権限で決まる。

そこから下、投稿、分類、固定ページテンプレートはチェックしただけでは変化がない。

一旦、下書きとして保存すると適用される。

2014-04-12T17:15:13+09:00 [Sat]

んぎなんとかでreverse proxy 3

キャッシュは全消しでいい気がしてきた。

wordpressに新規投稿すると、pagedで区切られた投稿表示ページが全部ズレる。

だから、index.php/\?*のキャッシュを消すのは必須で、それと投稿ページのpermalinkだけ消すのが正しい道。

面倒なのは、添付した画像。

こっちは、wordpress上で消したとしても、キャッシュの有効期限までは残ってしまう。

これもプラグインで特定して個別に消した方がキャッシュの効率はいい。

更新頻度が高く、アクセス数も膨大なら個別に消すほうがいいんでしょうが、ノーマルのnginxで投稿時にキャッシュを消すなら、単純なプラグインで全消しも悪くないかな。

<?php
/*
Plugin Name: Nginx Proxy Cache remove
Plugin URI: 
Description: remove Nginx Proxy Cache.
Version: 0.0.1
Author: yoshiaki nanba
Author URI: http://www.white-room.jp
*/

function wpremove_nxcache($post_id) {
/* $post_idはキャッシュ特定の日が来るまで飾り */
    $cmd = 'rm -rf /var/cache/nginx/whiteroom/*'; /* 俺環超決め打ち */
    exec($cmd, $arr, $res);
/* 以下、投稿時に成功、失敗をダッシュボードに返す日が来るまで飾り */
    if ($res === 0) {
        return true;
    } else {
        return false;
    }

}

add_action('publish_post', 'wpremove_nxcache'); /* 投稿を公開 */
add_action('publish_page', 'wpremove_nxcache'); /* 固定ページを公開 */
add_action('publish_to_draft','wpremove_nxcache'); /* 公開していたものを下書きに戻す */
add_action('edit_comment','wpremove_nxcache'); /* コメントが追加削除変更された */

?>
2014-04-12T16:44:36+09:00 [Sat]

file_get_contentsからcurlに変更。

トップページのrssリーダにfile_get_contentsを使っていたのですが、nginxがgzipされたキャッシュを返すので、file_get_contentsでは対応できないため、curlで引っ張る方法に変更しました。