/** * 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.2020 – Chambers Of Vikramaditya

– Официальный сайт онлайн казино Pokerdom.2020

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

▶️ ИГРАТЬ

Содержимое

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

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

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

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

Если вы ищете официальный сайт онлайн казино Pokerdom, то вы можете найти его по адресу pokerdom.com. Там вы сможете зарегистрироваться, начать играть и получать выигрыши.

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

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

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

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

Безопасность и надежность

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

  • Шифрование данных
  • Защита от хакеров
  • Безопасность транзакций

Великая выборка игр

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

  • Покер
  • Рулетка
  • Блэкджек
  • Слоты
  • Промокоды и бонусы

    Покердом предлагает различные промокоды и бонусы, которые помогут игрокам начать игру с преимуществом. Это может быть дополнительный депозит, бесплатные спины или другие бонусы.

    • Дополнительный депозит
    • Бесплатные спины
    • Другие бонусы

    Мобильная версия

    Покердом имеет мобильную версию, которая позволяет игрокам играть в любое время и из любого места. Это удобно для тех, кто хочет играть в покер на работе или в пути.

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

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

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

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

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

    Важно: при регистрации убедитесь, что вы вводите корректные данные, иначе вам может быть запрещен доступ к сайту.

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

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

    Важно: перед депозитом убедитесь, что вы выбрали подходящий способ оплаты, иначе вам может быть сложно получить доступ к вашим средствам.

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

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

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

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

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

    Акции и промокоды

    Покердом регулярно предлагает акции и промокоды, которые помогут вам увеличить свой банкрол. Например, акция “День рождения” может дать вам 20% бонус на все сделанные ставки в течение дня рождения. Акция “Вторник” может дать вам 15% бонус на все сделанные ставки в течение вторника.

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

    Важно! Не забывайте проверять страницу акций и промокодов на официальном сайте Pokerdom, чтобы не пропустить новые предложения.

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

    Начните играть с преимуществом!

    Leave a Comment

    Your email address will not be published. Required fields are marked *