use_block_editor_for_post()
Проверяет, поддерживает ли указанный пост (запись) редактирование через редактор блоков (Гутенберг).
Редактор блоков зависит от REST API, поэтому если при регистрации типа записи параметр show_in_rest=false, функция вернет false.
Используйте use_block_editor_for_post_type(), когда нужно проверить поддержку блочного редактора по типу записи, а не для отдельной записи.
Работает на основе: use_block_editor_for_post_type()
1 раз — 0.0007281 сек (медленно) | 50000 раз — 0.34 сек (очень быстро) | PHP 8.1.27, WP 6.5.2
Хуки из функции
Возвращает
true|false. Функция вернет true, если запись редактируется через редактор блоков, и false в противном случае.
Использование
use_block_editor_for_post( $post );
- $post(int|WP_Post) (обязательный)
- ID или объект поста WP_Post.
Примеры
#1 Пример использования функции
Фрагмент кода из плагина "Elementor Website Builder":
add_action( 'admin_print_scripts-edit.php', [ __CLASS__, 'add_new_button_to_gutenberg' ], 11 );
function add_new_button_to_gutenberg() {
global $typenow;
if ( ! User::is_current_user_can_edit_post_type( $typenow ) ) {
return;
}
// Introduced in WP 5.0
if ( function_exists( 'use_block_editor_for_post' ) && ! use_block_editor_for_post( $typenow ) ) {
return;
}
// Deprecated/removed in Gutenberg plugin v5.3.0
if ( function_exists( 'gutenberg_can_edit_post_type' ) && ! gutenberg_can_edit_post_type( $typenow ) ) {
return;
}
?>
<script type="text/javascript">
document.addEventListener( 'DOMContentLoaded', function() {
var dropdown = document.querySelector( '#split-page-title-action .dropdown' );
if ( ! dropdown ) {
return;
}
var url = '<?php echo esc_url( Plugin::$instance->documents->get_create_new_post_url( $typenow ) ); ?>';
dropdown.insertAdjacentHTML( 'afterbegin', '<a href="' + url + '">Elementor</a>' );
} );
</script>
<?php
}
Список изменений
| С версии 5.0.0 | Введена. |
| С версии 6.1.0 | Moved to wp-includes from wp-admin. |