为了账号安全,请及时绑定邮箱和手机立即绑定

插件在激活过程中生成了意外输出的X字符(WordPress)

插件在激活过程中生成了意外输出的X字符(WordPress)

PHP
呼如林 2019-07-09 15:42:31
插件在激活过程中生成了意外输出的X字符(WordPress)每次我激活插件时都会收到这样的消息:该插件在激活过程中产生了80字符的意外输出。如果您注意到“已发送的标题”消息、联合提要的问题或其他问题,请尝试禁用或删除此插件。我能够抑制消息的唯一方法是将激活函数代码包装在如果语句(请参阅下面的片段)。在这里,当我得到上面描述的错误时,我的插件代码片段:function myPlugin( $post ) {     echo "Whatever is here throws an unexpected output alert when the plugin isa activated";}register_activation_hook( __FILE__, 'myPlugin' );下面,我在插件中将函数包装在如果语句;它取消前面讨论的错误:function myPlugin( $post ) {     global $pagenow;     if ( is_admin() && $pagenow !== 'plugins.php' ) {         echo "No more alerts when its wrapped this way";         }     }}register_activation_hook( __FILE__, 'myPlugin' );究竟是什么导致了这个错误,我如何才能有效地完成我的逻辑插件而不必遇到它呢?有什么更好的方法来处理这件事吗?
查看完整描述

3 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

我认为这里可能有两个问题导致了这个问题。首先,我不认为WordPress在调用插件激活钩子时期望任何输出,因此它可能会抱怨这一点。第二,插件激活钩子在WordPress程序流中很早就被调用,因此,在发送头之前可能会调用它。如果在调用之前生成任何输出header()然后PHP通常会抱怨。

通常插件激活例程被保留用于插件的基本设置,调用如下set_option()还有类似的。


查看完整回答
反对 回复 2019-07-09
?
慕标琳琳

TA贡献1830条经验 获得超9个赞

我也有同样的错误-3个字符的意外输出,并在这里领先。对于我的场景中的人来说,这条消息的另一个原因可能是将文件类型编码为带有BOM的UTF。

BOM编码是导致错误的原因,当插件激活时,它将在InternetExplorer中呈现错误。

解决方案是使用记事本+并选择“在没有BOM的情况下转换为UTF”,或者如果您使用的是visual studio,则说明如何更改编码。没有BOM的utf-8


查看完整回答
反对 回复 2019-07-09
  • 3 回答
  • 0 关注
  • 564 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信