Поддержка Проблемы и решения get_current_screen() — undefined

  • Решено WP_panda

    (@wp_panda)


    Вордпресс 3.9.1
    В плагине делаю так:

    $screen = get_current_screen();
    if ( $screen->parent_base == 'edit'  && $screen->post_type =='event')

    Вылетает ошибка, что get_current_screen()не определена.

    Ее убрали? В кодексе об этом ни слова.

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Функция доступна только в админке. Вы пытаетесь её использовать в момент подключения файла плагина, т.е. раньше, чем она определяется.

    Выполнять какие-либо проверки в момент подключения файла не рекомендуется, все функции плагина должны быть привязаны к определённым действиям (например, init или хотя бы plugins_loaded).

    В данном случае нужно использовать действие current_screen:

    function my_current_screen_check() {
    	$screen = get_current_screen();
    	if ( $screen->parent_base == 'edit' && $screen->post_type == 'event' ) {
    		...
    	}
    }
    add_action( 'current_screen', 'my_current_screen_check' );

    спасибо

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «get_current_screen() — undefined» закрыта для новых ответов.