Правильная проверка для любой страницы администратора с редактором


Я прочитал кодекс, но нашел его немного неполным. Мне нравится загружать материалы только на страницы, где виден редактор сообщений. Это должно включать пользовательские типы записей и все остальное.

Я немного беспокоюсь об объекте get_current_screen(). Когда использовать base, parent_base ...

Будет ли это правильная проверка? Протестировал его на страницах и постах и, похоже, работает. Просто спрашиваю, потому что мне любопытно, смогу ли я сделать это лучше.

$screen = get_current_screen();

if ( 'post' == $screen->base || 'page' == $screen->base ) {
// Load stuff
}
Author: NextGenThemes, 2014-04-10

1 answers

Проверьте глобальную переменную $pagenow и используйте post_type_supports() для поиска типов записей с помощью редактора:

function has_post_editor() 
{    
    global $pagenow;

    if ( empty ( $pagenow ) )
        return FALSE;

    if ( ! in_array( $pagenow, array ( 'post-new.php', 'post.php' ) ) )
        return FALSE;

    return post_type_supports( get_current_screen()->post_type, 'editor' );
}
 1
Author: fuxia, 2014-04-10 04:53:30