为什么我的wordpress插件重现“意外输出”

时间:2013-06-01 10:37:14

标签: wordpress plugins

当我安装这个wordpress插件时,它给了我:

The plugin generated 189 characters of unexpected output during activation. If you notice “headers already sent” messages, problems with syndication feeds or other issues, try deactivating or removing this plugin.  

这是我的代码:

add_action('wp_head', 'wpse_43672_wp_head', 0);
/**
 * Hooks into the `wp_head` action.
*/
function wpse_43672_wp_head(){ ?>
       <script>
       if (navigator.userAgent.match(/Android/i) ||
             navigator.userAgent.match(/webOS/i) ||
             navigator.userAgent.match(/iPhone/i) ||
             navigator.userAgent.match(/iPad/i) ||
             navigator.userAgent.match(/iPod/i) ||
             navigator.userAgent.match(/BlackBerry/) || 
             navigator.userAgent.match(/Windows Phone/i) || 
             navigator.userAgent.match(/ZuneWP7/i)
             ) {
                // some code
                self.location="<?php echo plugins_url(); ?>/zeevmobile/mobile-page.php";
               }
        </script>
<?php }?>
<style>
li#toplevel_page_zeevmobile-zeevmobile .wp-menu-image {
    background: url(<?php echo plugins_url(); ?>/zeevmobile/images/icon.png) no-repeat 4px !important;
}
</style>
<?php
// create custom plugin settings menu  
add_action('admin_menu', 'zeev_create_menu');  
function zeev_create_menu() {  
    //create new top-level menu  
    add_menu_page('zeev movile redirect', 'zeev mobile', 'administrator', __FILE__, 'zeev_settings_page');  
      //create new top-level menu  
    //call register settings function  
    add_action( 'admin_init', 'register_mysettings' );  
}  
function register_mysettings() {  
    //register our settings  
    register_setting( 'zeev-settings-group', 'zeev_above_text' ); 
    register_setting( 'zeev-settings-group', 'zeev_normal_site' );  
    register_setting( 'zeev-settings-group', 'zeev_mobile_site' );  
} 
function zeev_settings_page() {  
?>  
<div class="wrap">  
<h2>Your Mobile Buttons Links</h2>  
<form method="post" action="options.php">       
    <?php settings_fields('zeev-settings-group'); ?>  
    <table class="form-table">  
        <tr valign="top">  
        <th scope="row">Some text above buttons</th>
        <td><textarea name="zeev_above_text" cols="90"><?php echo get_option('zeev_above_text'); ?></textarea></td>  
        </tr> 
        <tr valign="top">  
        <th scope="row">Normal Site Link</th>
        <td><textarea name="zeev_normal_site" cols="90"><?php echo get_option('zeev_normal_site'); ?></textarea></td>  
        </tr>  
         <tr valign="top">  
        <th scope="row">Mobile Site Link</th>
        <td><textarea name="zeev_mobile_site" cols="90"><?php echo get_option('zeev_mobile_site'); ?></textarea></td>  
        </tr>         
    </table>     
    <p class="submit">  
    <input type="submit" class="button-primary" value="<?php _e('Save Changes') ?>" />  
    </p>  
</form>  
</div>  
<?php }?>

我知道“意外输出”问题来自这个文件,因为当我删除其中的所有PHP时,我没有遇到问题。 你能帮我解决一下吗? 我在这里上传了它: http://zeevm.co.il/zeev-mobile-new.zip

1 个答案:

答案 0 :(得分:0)

根据评论,错误信息基本上是WP抱怨在包含文件时会收到回音。

从粗略看一下您的代码,看起来您的<style>标记得到回应 - 它不在功能范围内。插件中的其他地方可能还有其他类似的问题。