今日もガクリ('A`)
きっと明日もまたガクリ?('A`)
2022 / 09
« «  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
WordPress 2.5.1

帰国してから早々と行ったのが WordPress のバージョンアップ作業でした。前のバージョンは確か 2.3.3 を使用していました。1 以前のバージョンでも私の場合は問題無かったのですが、ダッシュボードの大幅な変更や 500 以上にも及ぶ修正点 2 をダラダラと眺めてバージョンアップする事にしました

WordPress | 日本語 から、バージョン 2.5.1 日本語版をダウンロードし、解凍。私はローカルにもほぼ同じ環境を構築しているので、取り敢えずローカル環境にインストールしてみる事にしました

インストールは単に解凍したディレクトリ/ファイルをコピーするだけなんですが、私の場合は自分で修正したファイルが幾つかあるので、それをコピー、リネームして待避。そして、そのままコピーしてインストールは終了。アップグレードなので /wp-admin/upgrade.php にアクセスしてあっけなくアップグレード作業は終了

一通りの動作テストを済まし、レンタルサーバーの方もバージョンアップしようと、作業を開始する事に。開始の前に Maintenance Mode Plugin にてメインテナンスモードへ移行。そして、ローカルと同じようにインストール作業を行い、最後にアップグレードを作業を行う所でとんでもない事が発覚…

/wp-admin/upgrade.php にアクセスしてもメインテナンスモードに…('A`) ダッシュボードにアクセスしようにも、やはりメインテナンスモード…('A`) どうやら WordPress をインストールした所は全てメインテナンスモードになってしまったようです

しょうがないので phpMyAdmin にてデータベースを書き換えて、通常モードに変更して事なきを得ました。なんで、こんな事態に陥ってしまったかというと、メインテナンスモードプラグインの設定にアクセス許可設定を設定してなかった為に、全てのディレクトリ/ファイルにアクセスしてもメインテナンスモードになってしまったようです。アクセス許可設定を設定し、一通りの動作確認を行って全てのバージョンアップ作業は終了しました 3


  1. うろ覚え…('A`)
  2. Custom Query - WordPress Trac - Trac を参照
  3. フッターのリンク先も変更しないと…
blog, WordPresscomment (1)trackback (1)(5,175)
Customizable Post Listings の修正

当ブログで使用している WordPress のプラグイン Customizable Post Listings 1 の修正点

  1. サーバーとローカル環境での MySQL のバージョンの違いによる不具合の修正

    $sql .= "GROUP BY $tableposts.ID ORDER BY $orderby $order";

    ローカルで構築した MySQL のバージョンだと、GROUP BY 句を指定していると正常に SELECT されないので、以下の様に修正

    $sql .= "ORDER BY $orderby $order";

  2. バグを見つけたので修正

    if ($orderby != 'rand()') $orderby = "$tableposts.post_$orderby";

      ・
      ・
      ・

    if ('modified' == $orderby) $sql .= "AND $tableposts.post_modified_gmt <= '$now' ";

    上記の最初の if 文で $orderby 変数を置き換えてしまっているので、2番目の if 文では真とはなりません。なので、関数の最初で別変数に保持するように修正

    $o = $orderby;

      ・
      ・
      ・

    if ('modified' == $o) $sql .= "AND $tableposts.post_modified_gmt <= '$now' ";

  3. 新規の投稿も更新にリストアップされるのが気に入らないので、recent posts = recent updates にならないように修正(2番の修正が必要)

    if ('modified' == $o) $sql .= "AND $tableposts.post_modified_gmt <= '$now' AND $tableposts.post_date_gmt <> $tableposts.post_modified_gmt ";

    単に投稿日時と更新日時が同じでないレコードを抽出するように条件を加えただけ

  1. recent posts, recent updates の部分で使用しています。配布元サイトのバージョンは 1.1 となっていますが、何故か私が持っているのは 1.5 です…なんでだろう?どこで落としたのか所在がわからなくなりました…('A`)
blog, WordPresscomment (1)no trackbacks(5,387)
WordPress の大きなお世話

WordPress の事 の記事で書いた問題が解決したので、その時行った対策を記事としておきます。結論から言うと、formatting.php を修正する事でほぼ解決。ソースの中を見ると解るように私にとっては余計な事をし過ぎている。修正した点は wptexturize, wpautop の 2つの関数。1 前者は一部の処理をコメントにし、後者は入力パラメーターを処理はせずにそのまま返す様に修正

前述の修正を施した WordPress を暫くの間、ローカル環境の WordPress でテストし、私が使用するもとでは問題ないと判断し、その時にテストしていたプラグイン 2 と一緒にサーバー側にも反映させました。最近の記事 (recent posts) と最近更新 (recent update) された記事のリストがそうです

話は変わって、WordPress はカスタマイズ性が抜群にいいのはいいのですが、如何せん、ドキュメントの不備が酷すぎます。今回の移転で私は初めて WordPress を触りました。所謂、WordPress 初心者です。実際にテンプレートを作製している時に感じたんですが、やりたいこと、実現したいことは解っているのですが、そこから目的の情報に辿り着くまでが時間かかり過ぎました。ひとえに逆引きやチュートリアルといった情報を掲載しているサイトがないからです。これは、公式サイト、日本の WordPress 関連サイトでもそうでした

例を挙げると WordPress でテンプレートを作成するには テンプレートタグ(実体は PHP の関数) というものを使用します。で、公式サイトを閲覧していき、テンプレートタグのマニュアルページなるものを見つけましたが…こんなんじゃ初めて触る人には理解できません。テンプレートタグの要約すら記述していません('A`) 結局テンプレートタグ一つ一つのページを何ができるのかを知る為に見て回らなければなりません。一言要約を記述するだけでこの手間が省けるに…('A`) これらを日本語に翻訳したサイトもあるんですが、情報が古かったり、リソースを置いてる場所が不安定だったりと日本語での情報収集は断念しました

実際にテンプレートについて書いていこうかと思いましたが、ダラダラと長くなるので今回は此処までとします


  1. なんで、こんな余計な事をするのか理解できない。データベースに入っているデータをそのまま無加工で出力して欲しいのに…('A`) しかも、wpautop 関数にはバグがあることが判明('A`)
  2. このプラグインをテストしている最中に問題が発生。サーバーとローカル環境での MySQL のバージョンの違いにより、ローカルでは正しく動作しない事が判明。ローカル側のプラグインのソースを修正する事で対応しましたが…('A`)
blog, WordPressno commentsno trackbacks(3,664)
WordPress の事

標準の table 要素で行うカレンダーは気に入らないので PHP で自作しました。表示フォントはちょっとオサレに Georgia を使っています。Windows, Mac の人もオッケーだと思います

話はチョット変わって、此処のブログシステムの事ですが、フッターに表示している様に WordPress 1 を使用しています。先の記事で、記事の移行はあっさりと終ったと書きましたが、実はあの後に色々とありました…('A`)

  1. 記事の中の div 要素がことごとく p 要素になってる!

    ところが phpMyAdmin 2 にてデータベースの中身を除くと、ちゃんと div 要素としてデータに入っています…WordPress Japan のフォーラムを検索すると、こんな記事が…WordPress Japan :: トピックを表示 - 記事投稿でCSS....【エディタの不具合?仕様?】・・解決 と言う訳で、早速ダッシュボードのユーザー設定にて ビジュアルエディタを使用する のチェックを外して、この問題は解決

  2. ピリオド(.)が 3つ連続してあると全角の 3点リーダー(…) に置き換わってしまう

    データベースの中は置き換わっていないので、表示する際のフィルターの問題でしょう。それにしても、此れは大きなお世話。この問題は解決していませんが、時間ある時に調べてみます

  3. blockquote 要素の中に注意!

    この要素の中に以下の文字が入っていると、表示の際に勝手に別の文字に置き換わってしまいます

    1. シングルクォート(')
      全角っぽいシングルクォートに勝手に置き換わる
    2. ダブルクォート(")
      全角っぽいダブルクォートに勝手に置き換わる
  4. phpMyAdmin のインポートしたデータに改行を入れた所が \r\n という文字列に置き換わっている

    これ、表示の際に復帰改行に変更しているんですが、文字コードで言うならば、0x0d 0x0a を出力している為、UA によっては br 要素と同じように復帰改行してしまう…


上記の 1番以外の問題は恐らく表示する際のフィルター問題でしょう。時間ある時にソースコードを追っかけて調べてみたいと思います。取り敢えず、今は文字参照やキャラクターエンティティを使用して回避しています。改行の問題も文章間に改行を入れないようにして回避しています。いずれも運用で回避できる問題ですが…


  1. WordPress を使用しています。PHP で書かれているので、私にとっては改造が楽です
  2. MySQL をブラウザで管理できるように PHP で書かれた MySQL 管理ツールです。多言語サポートしています。参照 »» phpMyAdmin | MySQL Database Administration Tool | www.phpmyadmin.net
blog, WordPressno commentsno trackbacks(4,431)
contents
most viewed (1102870)
categories
archives
recent posts
recent updates
recent comments
recent trackbacks
912T ASUSTeK ASUSTeK Crosshair IV Extreme blog CSS DARK SOULS DARK SOULS 3 Darksouls3 DarksoulsIII DARK SOULS III DISM Euro Truck Simulator 2 Everquest II firefox foobar2000 game Install internet KB2990941 KB3087873 mod panels ui PCゲーム PHP PX-Q3PE Raid skin SoftBank software SpeedFan Spinel Steam TPS trailer truck TvRock TVTest Windows Windows 7 Win Toolkit WordPress インストール ダークソウルズ 初音ミク 窓辺ななみ
mobile
qrcode:home
profile
曇り札幌市中央区 ‘ 曇り
気温: 10℃ ‘ 湿度: 66%
recommends
Valid XHTML 1.0 Transitional Valid CSS X.X
RSS 2.0 RSS 0.92
RDF/RSS ATOM
get Firefox 2 get Opera
ie