「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」の続編にあたり、PHPの「データ構造」(配列とオブジェクト)について解説します。
配列やオブジェクトは、頭の中で考えるだけでは、イメージがつかみにくいです。本書では図を多用して、配列やオブジェクトをなるべく分かりやすく解説することを心がけました。
Kindle本で、定価250円です。
テキスト型のカスタムフィールドを数値型に変換する
Movable Typeのカスタムフィールドの機能では、カスタムフィールドの値で記事を並べ替えて出力することができます。
ただ、テキスト型のカスタムフィールドに数値を入力して、そのカスタムフィールドの値で並べ替えると、数値ではなく文字として並べ替えられるため、正しくない並び順になることがあります。
そこで、テキスト型のカスタムフィールドを数値型に変換する方法を紹介します。
1.注意事項
今回紹介する方法では、phpMyAdminを使って、データベースを直接に書き換えます。
操作を間違えたり、操作中にphpMyAdminが途中で止まったりすると、最悪の場合、Movable Typeからデータベースに正しくアクセスできなくなることがあり得ます。
作業を行う前に、データベースをバックアップし、また復元できることを確認しておいてください。
バックアップ/復元を確認せずに作業に失敗したとしても、当方では責任を負いかねますのでご容赦ください。
2.NumericCustomFieldsプラグインのインストール
Movable Typeの標準の機能では、数値型のカスタムフィールドは存在しません。
数値型のカスタムフィールドを作るには、拙作のNumericCustomFieldsプラグインをインストールします。
ダウンロードしたZipファイルを解凍すると、「plugins」のフォルダができます。
このフォルダを、Movable Typeのインストール先ディレクトリにアップロードします。
3.SQLを実行
次に、phpMyAdminで以下の3つのSQLを実行します。
なお、SQL内の記号の意味は以下の表のとおりです。
記号 | 置き換え先 |
---|---|
○○○ | カスタムフィールドを作成したブログのID システムのカスタムフィールドの場合は「0」 |
□□□ | カスタムフィールドのベースネーム |
△△△ | 変換したい記事があるブログのID |
1つ目のSQL
UPDATE mt_field SET field_type = 'ninteger' WHERE field_blog_id = ○○○ AND field_basename = '□□□'
2つ目のSQL
UPDATE mt_entry_meta, mt_entry SET entry_meta_vinteger_idx = entry_meta_vchar_idx WHERE entry_id = entry_meta_entry_id AND entry_blog_id = △△△ AND entry_meta_type = 'field.□□□'
3つ目のSQL
UPDATE mt_entry_meta, mt_entry SET entry_meta_vchar_idx = NULL WHERE entry_id = entry_meta_entry_id AND entry_blog_id = △△△ AND entry_meta_type = 'field.□□□'