• Resolved calliko

    (@calliko)


    Подробности ошибки
    ===================================
    Ошибка с типом E_ERROR возникла на строке 208 файла /home/computyr/public_html/blog/wp-content/plugins/cyr2lat/src/php/Settings/Tables.php. Сообщение об ошибке: Uncaught Error: Call to undefined function CyrToLat\Settings\add_settings_section() in /home/computyr/public_html/blog/wp-content/plugins/cyr2lat/src/php/Settings/Tables.php:208
    Stack trace:
    #0 /home/computyr/public_html/blog/wp-includes/class-wp-hook.php(308): CyrToLat\Settings\Tables->setup_sections()
    #1 /home/computyr/public_html/blog/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters()
    #2 /home/computyr/public_html/blog/wp-includes/plugin.php(517): WP_Hook->do_action()
    #3 /home/computyr/public_html/blog/wp-admin/includes/class-wp-screen.php(424): do_action()
    #4 /home/computyr/public_html/blog/wp-admin/includes/screen.php(243): WP_Screen->set_current_screen()
    #5 /home/computyr/public_html/blog/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-sync/src/class-sender.php(505): set_current_screen()
    #6 /home/computyr/public_html/blog/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-sync/src/class-sender.php(687): Automattic\Jetpack\Sync\Sender->get_items_to_send()
    #7 /home/computyr/public_html/blog/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-sync/src/class-dedicated-sender.php(380): Automattic\Jetpack\Sync\Sender->send_action()
    #8 /home/computyr/public_html/blog/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-sync/src/class-dedicated-sender.php(176): Automattic\Jetpack\Sync\Dedicated_Sender::on_dedicated_sync_lag_not_sending_threshold_reached()
    #9 /home/computyr/public_html/blog/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-sync/src/class-sender.php(343): Automattic\Jetpack\Sync\Dedicated_Sender::spawn_sync()
    #10 /home/computyr/public_html/blog/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-sync/src/class-actions.php(704): Automattic\Jetpack\Sync\Sender->do_sync()
    #11 /home/computyr/public_html/blog/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-sync/src/class-actions.php(644): Automattic\Jetpack\Sync\Actions::do_cron_sync_by_type()
    #12 /home/computyr/public_html/blog/wp-includes/class-wp-hook.php(308): Automattic\Jetpack\Sync\Actions::do_cron_sync()
    #13 /home/computyr/public_html/blog/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters()
    #14 /home/computyr/public_html/blog/wp-includes/plugin.php(565): WP_Hook->do_action()
    #15 /home/computyr/public_html/blog/wp-cron.php(188): do_action_ref_array()
    #16 {main}
      thrown

    Проблемный плагин: Cyr-To-Lat (версия 6.0.2)

Viewing 2 replies - 1 through 2 (of 2 total)
  • Plugin Author kaggdesign

    (@kaggdesign)

    Спасибо за сообщение. Проблемный плагин тут – Jetpack.

    Он во время wp_cron, на хуке wp_loaded, вызывает set_current_screen(). Это делается вне админки, для которой ядро устанавливает текущий экран. Кроме админки, ядро WP эту функцию нигде не использует.

    Вот код, который воспроизводит ошибку:

    function test_jetpack_sync() {
    	//	\Automattic\Jetpack\Sync\Actions::do_cron_sync();
    
    	// Set up current screen to avoid errors rendering content.
    	require_once ABSPATH . 'wp-admin/includes/class-wp-screen.php';
    	require_once ABSPATH . 'wp-admin/includes/screen.php';
    	set_current_screen( 'sync' );
    }
    
    add_action( 'wp_loaded', 'test_jetpack_sync' );
    

    Такое абсолютно нестандартное и нелогичное поведение неизбежно вызывает проблемы в других плагинах. И я уверен, не только в Cyr2Lat.

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

    Thread Starter calliko

    (@calliko)

    Отлично! Спасибо

Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘Ошибка в плагине 6.0.2’ is closed to new replies.