Плагин генерировал X символов неожиданного вывода при активации (WordPress) - PullRequest
24 голосов
/ 02 ноября 2010

Я получаю это сообщение каждый раз, когда активирую свой плагин:

Плагин генерирует 80 символов неожиданного вывода во время активации.Если вы заметили сообщения «заголовки уже отправлены», проблемы с каналами синдикации или другие проблемы, попробуйте деактивировать или удалить этот плагин.

Единственный способ, которым я смог подавить сообщение, - это обернуть мою функцию активациикод в выражении if (см. фрагменты ниже).

Здесь приведен фрагмент кода моего плагина при получении ошибки, описанной выше:

function myPlugin( $post ) {
    echo "Whatever is here throws an unexpected output alert when the plugin isa activated";
}
register_activation_hook( __FILE__, 'myPlugin' );

После этого я обернул функцию в своем плагине в оператор if ;она подавляет предыдущую ошибку, как обсуждалось выше:

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' );

Что на самом деле является причиной этой ошибки и как я могу эффективно дополнить свой плагин своей логикой, не сталкиваясь с ним?способ справиться с этим?

Ответы [ 15 ]

1 голос
/ 11 сентября 2014

Эту проблему можно решить, удалив лишние пробелы.Я решил эту проблему для своего кода.Вы можете легко удалить лишние пробелы в Adove Dreamweaver.

Сначала перейдите к редактированию-> Найти и заменить.Или нажмите Ctrl + F.Проверьте кнопку «Использовать регулярное выражение» в разделе «Опции».

Заполните поле «Найти» приведенным ниже кодом

[\r\n]{2,}

Заполните поле «Заменить» приведенным ниже кодом

\n

Теперь нажмите кнопку «Заменить все».Надеюсь, что это сработает.

1 голос
/ 05 сентября 2013

иногда это потому, что вы используете <?php ;?> ненужно или используете его, как показано ниже

;?>

<?php

эта дополнительная строка между закрывающим и начальным тегом может также вызвать эту ошибку, просто удалите эту строку / пробел

0 голосов
/ 08 февраля 2017

Моя проблема заключалась в том, что в основном php-файле я добавил в конец файла функцию javascript. Кажется, WordPress перехватывает такую ​​функцию в элементе head. Я экспортировал эту функцию в файл сценария Java.

До:

<?php
/**
* Plugin Name: yyy
* Description: yyy
* Author: yyy
* Author URI: yyy
* Version: yyy
*/

/* many functions here */


function insert_in_header() {
    echo '<script type="text/javascript">',
    "perform_redirection(", '"', get_option('root'), '"', ", ", '"', get_option('redirect_to'), '");',
    '</script>';
}
add_action('wp_head', 'insert_in_header');
?>
<--! PROBLEMS HERE-->
<script type = "text/javascript">
    function perform_redirections(root, redirectionLink) {
      // code here
    }
</script>

После того, как:

<?php
/**
* Plugin Name: yyy
* Description: yyy
* Author: yyy
* Author URI: yyy
* Version: yyy
*/

/* many functions here */

function insert_in_header() {
    // in headscripts.js i put the perform_redirection function 
    echo '<script type="text/javascript" src="', plugins_url('js/headscripts.js', __FILE__ ), '">  </script>';
    echo '<script type="text/javascript">',
    "perform_redirection(", '"', get_option('root'), '"', ", ", '"', get_option('redirect_to'), '");',
    '</script>';
}
add_action('wp_head', 'insert_in_header');
?>
0 голосов
/ 14 января 2015

У меня также возникла эта проблема, когда я активировал свой плагин

Плагин генерировал 1 символ неожиданного вывода во время активации. Если вы заметили сообщения «заголовки уже отправлены», проблемы с каналами синдикации или другие проблемы, попробуйте деактивировать или удалить этот плагин.

Обычно это вызвано пробелами или новыми строками перед открывающим тегом. Как только я удалил их, ошибка исчезла.

Теперь ошибка моего плагина исчезла.

0 голосов
/ 27 ноября 2012

отметьте здесь , чтобы увидеть больше информации, которую вы можете использовать:

<?php
     include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); 
            If (is_plugin_active('wshops/init.php'))
            { 
               //Run your plugin includes files or functions
            }

в вашем файле инициализации php.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...