/** * REST API: WP_REST_Post_Types_Controller class * * @package WordPress * @subpackage REST_API * @since 4.7.0 */ /** * Core class to access post types via the REST API. * * @since 4.7.0 * * @see WP_REST_Controller */ class WP_REST_Post_Types_Controller extends WP_REST_Controller { /** * Constructor. * * @since 4.7.0 */ public function __construct() { $this->namespace = 'wp/v2'; $this->rest_base = 'types'; } /** * Registers the routes for post types. * * @since 4.7.0 * * @see register_rest_route() */ public function register_routes() { register_rest_route( $this->namespace, '/' . $this->rest_base, array( array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_items' ), 'permission_callback' => array( $this, 'get_items_permissions_check' ), 'args' => $this->get_collection_params(), ), 'schema' => array( $this, 'get_public_item_schema' ), ) ); register_rest_route( $this->namespace, '/' . $this->rest_base . '/(?P[\w-]+)', array( 'args' => array( 'type' => array( 'description' => __( 'An alphanumeric identifier for the post type.' ), 'type' => 'string', ), ), array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_item' ), 'permission_callback' => '__return_true', 'args' => array( 'context' => $this->get_context_param( array( 'default' => 'view' ) ), ), ), 'schema' => array( $this, 'get_public_item_schema' ), ) ); } /** * Checks whether a given request has permission to read types. * * @since 4.7.0 * * @param WP_REST_Request $request Full details about the request. * @return true|WP_Error True if the request has read access, WP_Error object otherwise. */ public function get_items_permissions_check( $request ) { if ( 'edit' === $request['context'] ) { $types = get_post_types( array( 'show_in_rest' => true ), 'objects' ); foreach ( $types as $type ) { if ( current_user_can( $type->cap->edit_posts ) ) { return true; } } return new WP_Error( 'rest_cannot_view', __( 'Sorry, you are not allowed to edit posts in this post type.' ), array( 'status' => rest_authorization_required_code() ) ); } return true; } /** * Retrieves all public post types. * * @since 4.7.0 * * @param WP_REST_Request $request Full details about the request. * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. */ public function get_items( $request ) { if ( $request->is_method( 'HEAD' ) ) { // Return early as this handler doesn't add any response headers. return new WP_REST_Response( array() ); } $data = array(); $types = get_post_types( array( 'show_in_rest' => true ), 'objects' ); foreach ( $types as $type ) { if ( 'edit' === $request['context'] && ! current_user_can( $type->cap->edit_posts ) ) { continue; } $post_type = $this->prepare_item_for_response( $type, $request ); $data[ $type->name ] = $this->prepare_response_for_collection( $post_type ); } return rest_ensure_response( $data ); } /** * Retrieves a specific post type. * * @since 4.7.0 * * @param WP_REST_Request $request Full details about the request. * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. */ public function get_item( $request ) { $obj = get_post_type_object( $request['type'] ); if ( empty( $obj ) ) { return new WP_Error( 'rest_type_invalid', __( 'Invalid post type.' ), array( 'status' => 404 ) ); } if ( empty( $obj->show_in_rest ) ) { return new WP_Error( 'rest_cannot_read_type', __( 'Cannot view post type.' ), array( 'status' => rest_authorization_required_code() ) ); } if ( 'edit' === $request['context'] && ! current_user_can( $obj->cap->edit_posts ) ) { return new WP_Error( 'rest_forbidden_context', __( 'Sorry, you are not allowed to edit posts in this post type.' ), array( 'status' => rest_authorization_required_code() ) ); } $data = $this->prepare_item_for_response( $obj, $request ); return rest_ensure_response( $data ); } /** * Prepares a post type object for serialization. * * @since 4.7.0 * @since 5.9.0 Renamed `$post_type` to `$item` to match parent class for PHP 8 named parameter support. * * @param WP_Post_Type $item Post type object. * @param WP_REST_Request $request Full details about the request. * @return WP_REST_Response Response object. */ public function prepare_item_for_response( $item, $request ) { // Restores the more descriptive, specific name for use within this method. $post_type = $item; // Don't prepare the response body for HEAD requests. if ( $request->is_method( 'HEAD' ) ) { /** This filter is documented in wp-includes/rest-api/endpoints/class-wp-rest-post-types-controller.php */ return apply_filters( 'rest_prepare_post_type', new WP_REST_Response( array() ), $post_type, $request ); } $taxonomies = wp_list_filter( get_object_taxonomies( $post_type->name, 'objects' ), array( 'show_in_rest' => true ) ); $taxonomies = wp_list_pluck( $taxonomies, 'name' ); $base = ! empty( $post_type->rest_base ) ? $post_type->rest_base : $post_type->name; $namespace = ! empty( $post_type->rest_namespace ) ? $post_type->rest_namespace : 'wp/v2'; $supports = get_all_post_type_supports( $post_type->name ); $fields = $this->get_fields_for_response( $request ); $data = array(); if ( rest_is_field_included( 'capabilities', $fields ) ) { $data['capabilities'] = $post_type->cap; } if ( rest_is_field_included( 'description', $fields ) ) { $data['description'] = $post_type->description; } if ( rest_is_field_included( 'hierarchical', $fields ) ) { $data['hierarchical'] = $post_type->hierarchical; } if ( rest_is_field_included( 'has_archive', $fields ) ) { $data['has_archive'] = $post_type->has_archive; } if ( rest_is_field_included( 'visibility', $fields ) ) { $data['visibility'] = array( 'show_in_nav_menus' => (bool) $post_type->show_in_nav_menus, 'show_ui' => (bool) $post_type->show_ui, ); } if ( rest_is_field_included( 'viewable', $fields ) ) { $data['viewable'] = is_post_type_viewable( $post_type ); } if ( rest_is_field_included( 'labels', $fields ) ) { $data['labels'] = $post_type->labels; } if ( rest_is_field_included( 'name', $fields ) ) { $data['name'] = $post_type->label; } if ( rest_is_field_included( 'slug', $fields ) ) { $data['slug'] = $post_type->name; } if ( rest_is_field_included( 'icon', $fields ) ) { $data['icon'] = $post_type->menu_icon; } if ( rest_is_field_included( 'supports', $fields ) ) { $data['supports'] = $supports; } if ( rest_is_field_included( 'taxonomies', $fields ) ) { $data['taxonomies'] = array_values( $taxonomies ); } if ( rest_is_field_included( 'rest_base', $fields ) ) { $data['rest_base'] = $base; } if ( rest_is_field_included( 'rest_namespace', $fields ) ) { $data['rest_namespace'] = $namespace; } if ( rest_is_field_included( 'template', $fields ) ) { $data['template'] = $post_type->template ?? array(); } if ( rest_is_field_included( 'template_lock', $fields ) ) { $data['template_lock'] = ! empty( $post_type->template_lock ) ? $post_type->template_lock : false; } $context = ! empty( $request['context'] ) ? $request['context'] : 'view'; $data = $this->add_additional_fields_to_object( $data, $request ); $data = $this->filter_response_by_context( $data, $context ); // Wrap the data in a response object. $response = rest_ensure_response( $data ); if ( rest_is_field_included( '_links', $fields ) || rest_is_field_included( '_embedded', $fields ) ) { $response->add_links( $this->prepare_links( $post_type ) ); } /** * Filters a post type returned from the REST API. * * Allows modification of the post type data right before it is returned. * * @since 4.7.0 * * @param WP_REST_Response $response The response object. * @param WP_Post_Type $post_type The original post type object. * @param WP_REST_Request $request Request used to generate the response. */ return apply_filters( 'rest_prepare_post_type', $response, $post_type, $request ); } /** * Prepares links for the request. * * @since 6.1.0 * * @param WP_Post_Type $post_type The post type. * @return array Links for the given post type. */ protected function prepare_links( $post_type ) { return array( 'collection' => array( 'href' => rest_url( sprintf( '%s/%s', $this->namespace, $this->rest_base ) ), ), 'https://api.w.org/items' => array( 'href' => rest_url( rest_get_route_for_post_type_items( $post_type->name ) ), ), ); } /** * Retrieves the post type's schema, conforming to JSON Schema. * * @since 4.7.0 * @since 4.8.0 The `supports` property was added. * @since 5.9.0 The `visibility` and `rest_namespace` properties were added. * @since 6.1.0 The `icon` property was added. * * @return array Item schema data. */ public function get_item_schema() { if ( $this->schema ) { return $this->add_additional_fields_schema( $this->schema ); } $schema = array( '$schema' => 'http://json-schema.org/draft-04/schema#', 'title' => 'type', 'type' => 'object', 'properties' => array( 'capabilities' => array( 'description' => __( 'All capabilities used by the post type.' ), 'type' => 'object', 'context' => array( 'edit' ), 'readonly' => true, ), 'description' => array( 'description' => __( 'A human-readable description of the post type.' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'hierarchical' => array( 'description' => __( 'Whether or not the post type should have children.' ), 'type' => 'boolean', 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'viewable' => array( 'description' => __( 'Whether or not the post type can be viewed.' ), 'type' => 'boolean', 'context' => array( 'edit' ), 'readonly' => true, ), 'labels' => array( 'description' => __( 'Human-readable labels for the post type for various contexts.' ), 'type' => 'object', 'context' => array( 'edit' ), 'readonly' => true, ), 'name' => array( 'description' => __( 'The title for the post type.' ), 'type' => 'string', 'context' => array( 'view', 'edit', 'embed' ), 'readonly' => true, ), 'slug' => array( 'description' => __( 'An alphanumeric identifier for the post type.' ), 'type' => 'string', 'context' => array( 'view', 'edit', 'embed' ), 'readonly' => true, ), 'supports' => array( 'description' => __( 'All features, supported by the post type.' ), 'type' => 'object', 'context' => array( 'edit' ), 'readonly' => true, ), 'has_archive' => array( 'description' => __( 'If the value is a string, the value will be used as the archive slug. If the value is false the post type has no archive.' ), 'type' => array( 'string', 'boolean' ), 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'taxonomies' => array( 'description' => __( 'Taxonomies associated with post type.' ), 'type' => 'array', 'items' => array( 'type' => 'string', ), 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'rest_base' => array( 'description' => __( 'REST base route for the post type.' ), 'type' => 'string', 'context' => array( 'view', 'edit', 'embed' ), 'readonly' => true, ), 'rest_namespace' => array( 'description' => __( 'REST route\'s namespace for the post type.' ), 'type' => 'string', 'context' => array( 'view', 'edit', 'embed' ), 'readonly' => true, ), 'visibility' => array( 'description' => __( 'The visibility settings for the post type.' ), 'type' => 'object', 'context' => array( 'edit' ), 'readonly' => true, 'properties' => array( 'show_ui' => array( 'description' => __( 'Whether to generate a default UI for managing this post type.' ), 'type' => 'boolean', ), 'show_in_nav_menus' => array( 'description' => __( 'Whether to make the post type available for selection in navigation menus.' ), 'type' => 'boolean', ), ), ), 'icon' => array( 'description' => __( 'The icon for the post type.' ), 'type' => array( 'string', 'null' ), 'context' => array( 'view', 'edit', 'embed' ), 'readonly' => true, ), 'template' => array( 'type' => array( 'array' ), 'description' => __( 'The block template associated with the post type.' ), 'readonly' => true, 'context' => array( 'view', 'edit', 'embed' ), ), 'template_lock' => array( 'type' => array( 'string', 'boolean' ), 'enum' => array( 'all', 'insert', 'contentOnly', false ), 'description' => __( 'The template_lock associated with the post type, or false if none.' ), 'readonly' => true, 'context' => array( 'view', 'edit', 'embed' ), ), ), ); $this->schema = $schema; return $this->add_additional_fields_schema( $this->schema ); } /** * Retrieves the query params for collections. * * @since 4.7.0 * * @return array Collection parameters. */ public function get_collection_params() { return array( 'context' => $this->get_context_param( array( 'default' => 'view' ) ), ); } } Pokerdom – Официальный сайт онлайн казино Покердом 2026.3369 – Chambers Of Vikramaditya

Pokerdom – Официальный сайт онлайн казино Покердом 2026.3369

Pokerdom – Официальный сайт онлайн казино Покердом (2026)

Если вы ищете официальный сайт онлайн казино Покердом, то вы на правом пути. В этом тексте мы рассмотрим основные аспекты работы Покердом, включая его официальный сайт, зеркало и вход.

Покердом – это популярное онлайн казино, которое предлагает игрокам широкий спектр игр, включая покер, рулетку, бинго и другие. Официальный сайт Покердом – это лучшее место для начала игры, так как он обеспечивает безопасность и конфиденциальность игроков.

Однако, не все игроки знают, что официальный сайт Покердом имеет зеркало, которое позволяет игрокам доступаться к играм, даже если основной сайт заблокирован. Зеркало Покердом – это дополнительный ресурс, который обеспечивает игрокам доступ к играм, не зависящий от блокировки основного сайта.

Вход на официальный сайт Покердом – это простой и быстрый процесс. Для начала игры вам нужно зарегистрироваться на сайте, указав свои контактные данные и выбрав валюту. Затем вы можете выбрать игру, которая вам понравилась, и начать играть.

В целом, Покердом – это отличное онлайн казино, которое предлагает игрокам широкий спектр игр и обеспечивает безопасность и конфиденциальность. Официальный сайт Покердом – это лучшее место для начала игры, а зеркало – это дополнительный ресурс, который обеспечивает игрокам доступ к играм, не зависящий от блокировки основного сайта.

Если вы ищете официальный сайт онлайн казино Покердом, то вы на правом пути. В этом тексте мы рассмотрели основные аспекты работы Покердом, включая его официальный сайт, зеркало и вход. Мы надеем, что это поможет вам начать играть в Покердом и насладиться играми.

Преимущества игры в онлайн-казино Pokerdom

Покердом официальный сайт – это место, где вы можете играть в различные игры, включая покер, рулетку, бинго и другие. Онлайн-казино pokerdom предлагает широкий спектр игр, чтобы удовлетворить различные вкусы игроков.

Покердом зеркало – это дополнительный ресурс, который позволяет игрокам играть в онлайн-казино, если официальный сайт временно недоступен. Это обеспечивает бесперебойную игру и предотвращает потери времени.

Один из главных преимуществ игры в онлайн-казино Pokerdom – это возможность получать бонусы и промокоды. Они могут быть использованы для игры в различные игры или для получения дополнительных выигрышей.

Покердом официальный сайт обеспечивает безопасность и конфиденциальность игроков. Он использует современные технологии для защиты данных и обеспечивает безопасный процесс игры.

Игроки онлайн-казино Pokerdom могут получать доступ к различным функциям, включая историю игр, статистику и другие полезные инструменты. Это позволяет им лучше планировать игру и принимать более информированные решения.

В целом, играть в онлайн-казино Pokerdom – это комфортное и удобное решение для тех, кто хочет играть в игры, но не имеет доступа к традиционным казино. Онлайн-казино предлагает широкий спектр преимуществ, включая безопасность, конфиденциальность, доступность и многое другое.

Как начать играть в онлайн-казино Pokerdom

Для начала играть в онлайн-казино Pokerdom вам нужно зарегистрироваться на официальном сайте покердом.official. Вам потребуется только имя, фамилия, email и пароль. Вам также нужно выбрать валюту, в которой вы будете играть.

Шаг 1: Регистрация

Вам нужно кликнуть на кнопку “Зарегистрироваться” на официальном сайте покердом.official и заполнить форму регистрации. Вам потребуется только имя, фамилия, email и пароль.

  • Имя и фамилия: введите свои имя и фамилию.
  • Email: введите ваш email.
  • Пароль: введите пароль, который вы будете использовать для входа в свой аккаунт.

После заполнения формы регистрации вам будет отправлено письмо с подтверждением регистрации. Вам нужно открыть это письмо и кликнуть на ссылку для подтверждения.

Шаг 2: Депозит

После регистрации вам нужно сделать депозит, чтобы начать играть. Вам доступны различные способы депозита, включая карты Visa и Mastercard, электронные деньги и другие.

  • Выберите способ депозита.
  • Введите сумму депозита.
  • Проверьте информацию о депозите.
  • После успешного депозита вам будет доступен доступ к игровым автоматам и таблицам покера.

    Начните играть в онлайн-казино Pokerdom сегодня!

    Бонусы и акции в онлайн-казино Pokerdom

    В Pokerdom предлагается широкий спектр бонусов и акций, чтобы обеспечить вам наилучшие условия для игры и получения выигрыша. Начните свой путь в мире онлайн-казино с приветственного бонуса в 10 000 рублей, который будет начислен на ваш счет после регистрации.

    Кроме того, Pokerdom предлагает регулярные акции и промокоды, которые позволяют игрокам получать дополнительные бонусы и преимущества. Например, акция “Бонус за активность” позволяет игрокам получать дополнительные бонусы за участие в играх и зачисление средств на счет.

    Промокоды и акции

    Покердом официальный сайт регулярно предлагает новые промокоды и акции, чтобы обеспечить игрокам наилучшие условия для игры. Например, акция “Бонус за депозит” позволяет игрокам получать дополнительные бонусы за депозит средств на счет.

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

    Также, Pokerdom предлагает акцию “Бонус за реферала”, которая позволяет игрокам получать дополнительные бонусы за приглашение друзей и знакомых в онлайн-казино.

    В целом, Pokerdom предлагает широкий спектр бонусов и акций, чтобы обеспечить игрокам наилучшие условия для игры и получения выигрыша.

    Покердом зеркало – это официальный сайт онлайн-казино Pokerdom, который предлагает игрокам наилучшие условия для игры и получения выигрыша.

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

    В целом, Pokerdom – это лучшее онлайн-казино, которое предлагает игрокам наилучшие условия для игры и получения выигрыша.