「WordPressで学ぶPHP(3)関数編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」の続編にあたり、PHP組み込みの関数や、独自の関数を作る方法などを解説します。
Kindle本で、定価400円です。
「MTOS活用テクニック」の一部修正
拙著「MTOS活用テクニック」のプラグインについて、以下の2点の不具合を修正する方法を紹介します。
- ブログ記事を一括編集したときに、追加のフィールドに保存したデータが消える
- 個々のアイテムの管理画面で、サイドバーの「利用状況」の部分に、追加のフィールドに保存した画像の情報が出ない
1.ブログ記事の一括編集に関する修正
この点を修正するには、ご自分で作られた個々のプラグインを修正していただく形になります。
プラグインのsave_entry_fieldサブルーチンに、以下の赤字の行を追加してください。
sub save_entry_field { my ($eh, $app, $entry, $orig_entry) = @_; return 1 if ($app->param('__mode') eq 'save_entries'); ・・・ }
2.アイテム関連の修正
この点は、MTOSHelperプラグインを書き換えて修正します。
MTOSHelperプラグインのMTOSHelper.pm内にあるscf_save_imageサブルーチンに、以下の赤字の行を追加します。
sub scf_save_image { my ($app, $obj, $field) = @_; my $value = $app->param("scf_${field}"); my $id; if ($value =~ m!<form[^>]*?\smt:asset-id=["'](\d+)["'][^>]*?>(.+?)</form>!gis) { $id = $1; } $obj->column($field, $id); my $obj_asset = MT->model('objectasset')->get_by_key({ asset_id => $id, blog_id => $obj->blog_id, object_ds => $obj->class, object_id => $obj->id, }); $obj_asset->save; 1; }