※2014/09/01
この件は、2014/08/28にTypes1.6.2へのバージョンアップがリリースされたようですので、それで解決しました(検証済)
Fatal error: Declaration of FormFactory::createForm() must be compatible with that of FormAbstract::createForm() in (ここはパスが書いてある)\wp-content\plugins\types\embedded\common\toolset-forms\classes\class.form_factory.php on line 20
というエラーが出ました。FormFactory::createForm() 宣言は、FormAbstract::createForm() と互換性がなければならない、みたいな?(displayFromも同じようなエラー)
エラーが指し示す、line20は
class FormFactory extends FormAbstract{
始まり。
互換性がないというのがよくわからないけど、
[php][/php]
に、「抽象メソッドの引数の数と同じ数の引数で実装しないとダメ」とある。
そのcreateForm()のあたりを調べるが、わからない。ひとつ前の1.5.7と1.6の差分を見てみても特にその周辺は変えたわけではなさそう。
そのあとの「CLS1は抽象クラスではなくなったけれど、CLS1のオーバーライドには抽象メソッドの制限が残ってるんだね」でも同じエラーが出ますが……わからない……。
その後、公式サイトのフォーラムで話題が出ていました。
Types – Custom Fields and Custom Post Types Management Fatal Error After Latest Update (21 posts)
つまりは、/types/embedded/common/toolset-forms/classes/class.form_factory.phpの
L130の
public function createForm( $nameForm = ‘default’ ) {
を
public function createForm( $nameForm) {
に。
L147の
public function displayForm( $nameForm = ‘default’ ) {
を
public function displayForm( $nameForm ) {
直りました。
createForm()のあたりは、1.5.7と言い回しは一緒。なんでだろう?
また、そのフォーラムの最後には、WYSIWYG editorが動かないとあった。確かに、フィールドでwysiwygを選ぶと今度は
Parse error: syntax error, unexpected T_FUNCTION in /home/movielog/www/wp-content/plugins/types/embedded/common/toolset-forms/classes/class.wysiwyg.php on line 44
と出る。
しばらくそのトピックスを見守ることにします。
コメントを残す