2012-03-03 14 views
1

私は現在WordPressを勉強しており、カスタム投稿タイプを作成しておきたいと思います。チュートリアル作品内のコードが、私は/カスタムページテンプレートに貼り付けコピーしたときに、私は次のエラーを取得する:WP投稿タイプを追加する:解析エラー:予期せぬ構文エラーT_FUNCTION

"Parse error: syntax error, unexpected T_FUNCTION in /home/databasename/public_html/wptheme/demo/wp-content/themes/name/albums.php on line 3"

私は時間の問題をGoogleで検索していると、そこに複数のオプションがあるが、問題は、私はということです初心者であり、何を変えるべきか正確にはわからない。問題は3行目だとわかっていますが、それだけです。以下は私のカスタムページテンプレートにある私のコードです。どんな助けでも大歓迎です!

<?php 

    add_action('init', function() { /*this is line 3*/ 
    register_post_type('album', array(
     'public' => true, 
     'label' => 'Album', 
     'labels' => array('add_new_item' => 'Add New Album') 
     'supports' => array('title', 'editor'), 
     'taxonomies' => array('post_tag') 
    )); 
}); 
+1

このコードが実行されているところはどこでもそうです、彼らはPHP 5.3を使用していません。ラムダ関数はそれ以来利用可能です。 –

+0

あなたはどんなPHPバージョンですか? –

+0

おそらく 'function(){}'を使って匿名関数をサポートしていないPHP(<5.3)のバージョンを使用しています。代わりに 'create_function()'を使うか、または –

答えて

0

あなたは、このコードで使用されているanonymous functionsをサポートしていません。つまり、PHP < 5.3、PHPの古いバージョンを実行しています。

名前付き関数、またはcreate_functionを使用するようにコードを書き直すことはできますが、PHPディストリビューションをこの10年間のバージョンに更新するだけです。 PHP 5.2(またはそれ以前のバージョン)はnot supported anymoreなので、安全ではありません。

また、あなたのコードは、行の1の終わりにコンマが欠落しています。

'labels' => array('add_new_item' => 'Add New Album') 
//              ^^ 
+0

ライブサーバー(Hostgator)でサイトをテストしています。私が誤解されていない場合、PHP 5.3を使用していますが、間違っている可能性があります。 –

+0

何らかの理由で、hostgatorの人々はPHPの完全に古いバージョンを実行します。 [ここには5.3への切り替え方法に関する記事があります(http://support.hostgator.com/articles/pre-sales-questions/php-5-3)。私はまた、デフォルトでサポートされているPHPバージョンを実行するサービスにホスティングを切り替えることを検討し、PHP 5.4のような最新のものを使用できるようにします。 – phihag

+0

あなたの助けを借りてありがとうPhihag。どのようにWordPressテーマをそのサーバー上で使用できますか、私のテーマは使用できない可能性がありますか教えてください。 –

関連する問題