/** * 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' ) ), ); } } NV Casino najlepsze gry dostpne w kasynie online.1965 – Chambers Of Vikramaditya

NV Casino najlepsze gry dostpne w kasynie online.1965

NV Casino – najlepsze gry dostępne w kasynie online

Jeśli szukasz najlepszych gier do gry w kasynie online, NV Casino jest idealnym wyborem. Zawiera szeroki wybór gier, które mogą zaspokoić gusta każdego gracza. W tym artykule przedstawimy najlepsze gry dostępne w NV Casino, aby pomóc Ci wybrać najlepsze gry do gry.

NV Casino oferuje nv kasyno szeroki wybór gier, w tym gry kasynowe, gry hazardowe, gry karciane i wiele innych. Głównym powodem, dla którego NV Casino jest tak popularny, jest fakt, że oferuje gry dostępne dla graczy z różnych części świata. Dzięki temu, możesz grać w swoim czasie i w swoim miejscu.

Jeśli szukasz gier, które mogą zaspokoić gusta każdego gracza, NV Casino jest idealnym wyborem. Oferuje szeroki wybór gier, które mogą zaspokoić gusta każdego gracza. W tym artykule przedstawimy najlepsze gry dostępne w NV Casino, aby pomóc Ci wybrać najlepsze gry do gry.

NV Casino jest także znany z swoich atrakcyjnych bonusów i promocji. Dzięki nim, możesz uzyskać dodatkowe pieniądze do gry i zwiększyć swoje szanse na wygraną. Aby uzyskać więcej informacji o bonusach i promocjach, zapraszamy do odwiedzenia oficjalnej strony NV Casino.

W tym artykule przedstawimy najlepsze gry dostępne w NV Casino, aby pomóc Ci wybrać najlepsze gry do gry. Oferujemy także porady i wskazówki, które mogą pomóc Ci zwiększyć swoje szanse na wygraną. Dziękujemy za zainteresowanie NV Casino i zapraszamy do odwiedzenia oficjalnej strony, aby uzyskać więcej informacji.

Najlepsze gry dostępne w NV Casino:

1. Book of Ra Deluxe – popularna gra kasynowa, która oferuje wiele sposobów na wygraną.

2. Starburst – gra hazardowa, która oferuje wiele sposobów na wygraną i jest dostępna dla graczy z różnych części świata.

3. Gonzo’s Quest – gra hazardowa, która oferuje wiele sposobów na wygraną i jest dostępna dla graczy z różnych części świata.

4. Mega Moolah – gra hazardowa, która oferuje wiele sposobów na wygraną i jest dostępna dla graczy z różnych części świata.

5. Jackpot 6000 – gra hazardowa, która oferuje wiele sposobów na wygraną i jest dostępna dla graczy z różnych części świata.

Zapraszamy do odwiedzenia oficjalnej strony NV Casino, aby uzyskać więcej informacji o gierach i bonusach. Dziękujemy za zainteresowanie NV Casino i zapraszamy do gry!

Witryny hazardowe – jak wybrać najlepsze?

Jeśli szukasz najlepszych witryn hazardowych, to NVCasino jest idealnym rozwiązaniem. Oferuje on wiele gier, w tym ruletke, blackjacka, poker, a także wiele innych. Wszystkie gry są dostępne online, co sprawia, że możesz grać, gdziekolwiek jesteś.

Witryny hazardowe – co warto wiedzieć?

Witryny hazardowe są coraz popularniejsze, a NVCasino jest jednym z najlepszych rozwiązań. Gdy wybierasz witrynę hazardową, warto wziąć pod uwagę kilka rzeczy. Pierwszym jest bezpieczeństwo. NVCasino jest bezpieczne, ponieważ jest licencjonowane i regulowane przez odpowiednie organy. Drugim jest wybór gier. NVCasino oferuje wiele gier, w tym ruletke, blackjacka, poker, a także wiele innych. Trzecim jest bonus. NVCasino oferuje wiele bonusów, w tym bonusy powitalne, bonusy za depozyty, a także bonusy za wygrane.

NVCasino jest idealnym rozwiązaniem dla każdego, kto szuka najlepszych witryn hazardowych. Oferuje on wiele gier, jest bezpieczne, a także oferuje wiele bonusów. Dlatego warto wybrać NVCasino, jeśli szukasz najlepszych witryn hazardowych.

Gry karciane w kasynie online – wybór idealny dla każdego

Jeśli szukasz emocji i ryzyka, to gry karciane są idealnym wyborem dla Ciebie. W kasynie online NV Casino, możesz wybrać z różnych wariantów, od klasyki do nowoczesnych rozwiązań.

Wśród gier karcianych, które możesz znaleźć w NV Casino, są takie, jak Blackjack, Baccarat, Poker, czy Roulette. Każda z nich oferuje swoją specyficzną atmosferę i szansę na wygraną.

  • Blackjack – gra, w której musisz osiągnąć 21 punkt, aby wygrać.
  • Baccarat – gra, w której musisz wygrać bank, aby wygrać.
  • Poker – gra, w której musisz wygrać runda, aby wygrać.
  • Roulette – gra, w której musisz wygrać numer, aby wygrać.

W NV Casino, możesz także znaleźć wiele innych gier karcianych, takich jak Caribbean Stud Poker, Casino Hold’em, czy Three Card Poker. Każda z nich oferuje swoją specyficzną atmosferę i szansę na wygraną.

Jeśli szukasz emocji i ryzyka, to gry karciane są idealnym wyborem dla Ciebie. W NV Casino, możesz wybrać z różnych wariantów i zagrać w swoją ulubioną grę.

Wyniki i bonusy

NV Casino oferuje swoim klientom wiele możliwości wygrania, a także atrakcyjne bonusy, które mogą pomóc w rozpoczęciu gry. Wśród dostępnych bonusów znajdujemy:

• Bonus powitalny w wysokości 100% do 500 PLN, który jest dostępny dla nowych graczy;

• Bonus za każdą kolejną wpłatę, który może osiągnąć 100% do 500 PLN;

• Bonus za wygraną, który może osiągnąć 100% do 500 PLN.

Należy pamiętać, że bonusy te są dostępne tylko dla graczy, którzy spełniają określone warunki, takie jak minimalna wpłata, minimalna kwota wygranej itp. Przed rozpoczęciem gry, zaleca się przeczytać regulamin i warunki bonusu, aby uniknąć niepożądanych konsekwencji.