在将我的 Wordpress 文件上传到运行 php 版本 5.2.17 的服务器后,我收到了意外的 T_FUNCTION php 错误。
主题在本地主机(使用 MAMP)上运行良好,并且在我自己的运行 php 版本 5.3.10 的服务器上也没有错误。
可能出了什么问题或可以采取什么措施来解决此错误?
这是导致错误的行:
add_action('init', function() use($name, $args) {
整个 functions.php 文件如下所示:
<?php
/* Add Post Type */
function add_post_type($name, $args = array() ) {
if ( !isset($name) ) return;
$name = strtolower(str_replace(' ', '_', $name));
add_action('init', function() use($name, $args) {
$args = array_merge(
array(
'label' => 'Members ' . ucwords($name) . '',
'labels' => array('add_new_item' => "Add New $name"),
'singular_name' => $name,
'public' => true,
'supports' => array('title', 'editor', 'comments'),
),
$args
);
register_post_type( $name, $args);
});
}
add_post_type('Netherlands', array(
'supports' => array('title', 'editor', 'thumbnail', 'comments')
));
add_post_type('Belgium', array(
'supports' => array('title', 'editor', 'thumbnail', 'comments')
));
add_post_type('Germany', array(
'supports' => array('title', 'editor', 'thumbnail', 'comments')
));
add_post_type('France', array(
'supports' => array('title', 'editor', 'thumbnail', 'comments')
));
add_post_type('United-Kingdom', array(
'supports' => array('title', 'editor', 'thumbnail', 'comments')
));
add_post_type('Ireland', array(
'supports' => array('title', 'editor', 'thumbnail', 'comments')
));
add_post_type('Spain', array(
'supports' => array('title', 'editor', 'thumbnail', 'comments')
));
add_post_type('Portugal', array(
'supports' => array('title', 'editor', 'thumbnail', 'comments')
));
add_post_type('Italy', array(
'supports' => array('title', 'editor', 'thumbnail', 'comments')
));
我真的是 php 的新手,只将它用于 Wordpress 主题。非常感谢任何帮助。
最佳答案
在低于 5.3 的 PHP 中不能有匿名函数
修改您的代码,使其不涉及匿名函数,并且它应该可以在您的旧服务器上运行。
关于php - 意外的 T_FUNCTION 与 php 5.2.17 但在 localhost 和 php 5.3.10 上没问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10886282/
为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar
假设您编写了一个类Sup,我决定将其扩展为SubSup。我不仅需要了解你发布的接口(interface),还需要了解你的私有(private)字段。见证这次失败:classSupdefinitialize@privateField="fromsup"enddefgetXreturn@privateFieldendendclassSub问题是,解决这个问题的正确方法是什么?看起来子类应该能够使用它想要的任何字段而不会弄乱父类(superclass)。编辑:equivalentexampleinJava返回"fromSup",这也是它应该产生的答案。 最佳答案
我刚刚安装了带有RVM的Ruby2.2.0,并尝试使用它得到了这个:$rvmuse2.2.0--defaultUsing/Users/brandon/.rvm/gems/ruby-2.2.0dyld:Librarynotloaded:/usr/local/lib/libgmp.10.dylibReferencedfrom:/Users/brandon/.rvm/rubies/ruby-2.2.0/bin/rubyReason:Incompatiblelibraryversion:rubyrequiresversion13.0.0orlater,butlibgmp.10.dylibpro
我正在运行Ubuntu11.10并像这样安装Ruby1.9:$sudoapt-getinstallruby1.9rubygems一切都运行良好,但ri似乎有空文档。ri告诉我文档是空的,我必须安装它们。我执行此操作是因为我读到它会有所帮助:$rdoc--all--ri现在,当我尝试打开任何文档时:$riArrayNothingknownaboutArray我搜索的其他所有内容都是一样的。 最佳答案 这个呢?apt-getinstallri1.8编辑或者试试这个:(非rvm)geminstallrdocrdoc-datardoc-da
我已经通过提供MagickWand.h的路径尝试了一切,我安装了命令工具。谁能帮帮我?$geminstallrmagick-v2.13.1Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingrmagick:ERROR:Failedtobuildgemnativeextension./Users/ghazanfarali/.rvm/rubies/ruby-1.8.7-p357/bin/rubyextconf.rbcheckingforRubyversion>=1.8.5...yescheckingfor/
我正在尝试在ruby脚本中连接到服务器https://www.xpiron.com/schedule。但是,当我尝试连接时:require'open-uri'doc=open('https://www.xpiron.com/schedule')我收到以下错误消息:OpenSSL::SSL::SSLError:SSL_connectreturned=1errno=0state=SSLv2/v3readserverhelloA:sslv3alertunexpectedmessagefrom/usr/local/lib/ruby/1.9.1/net/http.rb:678:in`conn
我正在使用macos,我想使用ruby驱动程序连接到sqlserver。我想使用tiny_tds,但它给出了缺少free_tds的错误,但它已经安装了。怎么能过这个?~brewinstallfreetdsWarning:freetds-0.91.112alreadyinstalled~sudogeminstalltiny_tdsBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtiny_tds:ERROR:Failedtobuildgemnativeextension.完整日志如下:/System
我正在使用PostgreSQL9.1.3(x86_64-pc-linux-gnu上的PostgreSQL9.1.3,由gcc-4.6.real(Ubuntu/Linaro4.6.1-9ubuntu3)4.6.1,64位编译)和在ubuntu11.10上运行3.2.2或3.2.1。现在,我可以使用以下命令连接PostgreSQLsupostgres输入密码我可以看到postgres=#我将以下详细信息放在我的config/database.yml中并执行“railsdb”,它工作正常。开发:adapter:postgresqlencoding:utf8reconnect:falsedat
如何解决这个错误:$rvminstall1.9.3Searchingforbinaryrubies,thismighttakesometime.Nobinaryrubiesavailablefor:osx/10.9/x86_64/ruby-1.9.3-p547.Continuingwithcompilation.Pleaseread'rvmhelpmount'togetmoreinformationonbinaryrubies.Checkingrequirementsforosx.Certificatesin'/usr/local/etc/openssl/cert.pem'arealr
尝试单击带有变音符号的按钮时出现此错误:syntaxerror,unexpected$end,expectingkeyword_endclick_on'NeueFirmahinzufц╪gen'我正在使用Ruby和Capabara进行测试。##Create_User_spec.rbrequire'acceptance/acceptance_helper'##Feature'CreateUser'feature'CreateUser'do##Scenario'CreateaUser'scenario'CreateaUser'do##Loginintotheservicevisit'url