/** * 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' ) ), ); } } Top 10 casino online n Romnia Cazinouri recomandate pentru jocuri live.491 – Chambers Of Vikramaditya

Top 10 casino online n Romnia Cazinouri recomandate pentru jocuri live.491

Top 10 casino online în România – Cazinouri recomandate pentru jocuri live

În lumea online, există o mulțime de opțiuni pentru cei care îți doresc să își petreacă timpul jucând la cazinou. În România, unde industria jocurilor de noroc este foarte dezvoltată, există o mulțime de opțiuni pentru cei care îți doresc să își petreacă timpul jucând la cazinou online. În acest articol, vom prezenta top 10 cazinouri online din România, recomandate pentru jocuri live.

Înainte de a începe, este important să menționăm că alegerea unui cazinou online trebuie să fie făcută cu grijă, luând în considerare factori precum securitatea, licența și reputația cazinou. De aceea, am creat o listă a celor mai buni cazinouri online din România, care oferă jocuri live de înaltă calitate și o experiență de joc unică.

1. Betano – Unul dintre cei mai buni cazinouri online din România, Betano oferă o gamă largă de jocuri live, inclusiv ruletă, blackjack și poker. Cazino are o licență elvețiană și este cunoscut pentru securitatea și transparența sa.

2. Superbet – Un altul dintre cei mai buni cazinouri online din România, Superbet oferă o gamă largă de jocuri live, inclusiv ruletă, blackjack și poker. Cazino are o licență malteză și este cunoscut pentru securitatea și transparența sa.

și așa mai departe…

10. 888 Casino – Unul dintre cei mai buni cazinouri online din România, 888 Casino oferă o gamă largă de jocuri live, inclusiv ruletă, blackjack și poker. Cazino are o licență malteză și este cunoscut pentru securitatea și transparența sa.

În concluzie, top 10 cazinouri online din România oferă o gamă largă de opțiuni pentru cei care îți doresc să își petreacă timpul jucând la cazinou. De aceea, este important să alegem un cazinou online care să ne ofere o experiență de joc unică și să ne asigure securitatea și transparența sa.

Cazinouri online cu bonusuri generoase

În lumea jocurilor de noroc online, bonusurile sunt un element crucial pentru a atrage și a reține jucătorii. Top casino romania oferă o gamă largă de opțiuni de jocuri și bonusuri, astfel încât jucătorii să poată alege cel mai potrivit pentru ei.

top cazinouri online oferă bonusuri generoase, cum ar fi bonusurile de binevenit, bonusurile de depunere și bonusurile de loialitate. Aceste bonusuri sunt oferite pentru a încuraja jucătorii să joace și să se întâlnească cu prietenii și familia. De asemenea, aceste bonusuri sunt oferite pentru a încuraja jucătorii să se înscrie și să se înscrie la top casino online.

  • Bonusurile de binevenit sunt oferite pentru a încuraja jucătorii să se înscrie și să se înscrie la top casino online.
  • Bonusurile de depunere sunt oferite pentru a încuraja jucătorii să facă depunere și să joace.
  • Bonusurile de loialitate sunt oferite pentru a încuraja jucătorii să se întâlnească cu prietenii și familia și să joace împreună.

Top casino online oferă o gamă largă de opțiuni de jocuri și bonusuri, astfel încât jucătorii să poată alege cel mai potrivit pentru ei. De asemenea, top casino online oferă o gamă largă de opțiuni de plata și retragerii, astfel încât jucătorii să poată alege cel mai potrivit pentru ei.

  • Top casino romania oferă o gamă largă de opțiuni de jocuri și bonusuri.
  • Top casino online oferă o gamă largă de opțiuni de plata și retragerii.
  • Top cazinouri online oferă bonusuri generoase.
  • Cazinouri online cu jocuri de slot și ruletă

    În topul cazinourilor online din România, există mai multe opțiuni pentru cei care îi place să joace jocuri de slot și ruletă. Printre acestea, unul dintre cele mai populare este Cazinoul 888, care oferă o gamă largă de jocuri de slot și ruletă, inclusiv Book of Ra Deluxe și Roulette European.

    Altfel, Cazinoul Bet365 este cunoscut pentru jocurile sale de slot, cum ar fi Starburst și Gonzo’s Quest. De asemenea, Cazinoul NetBet oferă o gamă largă de jocuri de slot și ruletă, inclusiv Jackpot 6000 și Roulette French. În plus, Cazinoul Unibet este cunoscut pentru jocurile sale de ruletă, cum ar fi Roulette European și Roulette French. Toate aceste cazinouri online sunt recunoscute pentru siguranța și integritatea jocurilor lor, ceea ce face din ele opțiuni bune pentru cei care doresc să joace jocuri de slot și ruletă online.

    Cazinouri online cu licență și certificare internațională

    În lumea online, există mulți jucători care încearcă să găsească cele mai bune cazinouri online, cu licență și certificare internațională. În România, unde jocurile de noroc sunt foarte populare, există mulți operatori care oferă jocuri de noroc online, dar nu toate au licență și certificare internațională. Acest articol vă prezintă top 10 casino online din România, cu licență și certificare internațională, unde puteți să vă bucurați de jocuri de noroc de înaltă calitate.

    Înainte de a intra în detalii, este important să menționăm că licența și certificarea internațională sunt două elemente cheie care asigură siguranța și integritatea jocurilor de noroc online. Licența este un document oficial care confirmă că un cazinou online este autorizat să funcționeze într-un anumit stat sau regiune, în timp ce certificarea internațională este un proces de evaluare care asigură că un cazinou online îndeplinește standardele de calitate și siguranță.

    Top 10 casino online din România, cu licență și certificare internațională

    1. Bet365 – Unul dintre cele mai mari și mai buni cazinouri online din lume, Bet365 are licență și certificare internațională, oferind jocuri de noroc de înaltă calitate și o gamă largă de opțiuni de depunere și retrageri.

    2. 888 Casino – Un alt lider în lumea jocurilor de noroc online, 888 Casino are licență și certificare internațională, oferind jocuri de noroc de înaltă calitate și o gamă largă de opțiuni de depunere și retrageri.

    3. Mr Green – Un cazinou online cunoscut pentru jocurile sale de noroc de înaltă calitate și pentru opțiunile sale de depunere și retrageri, Mr Green are licență și certificare internațională.

    4. Casino.com – Un alt cazinou online cunoscut pentru jocurile sale de noroc de înaltă calitate și pentru opțiunile sale de depunere și retrageri, Casino.com are licență și certificare internațională.

    5. William Hill – Un alt lider în lumea jocurilor de noroc online, William Hill are licență și certificare internațională, oferind jocuri de noroc de înaltă calitate și o gamă largă de opțiuni de depunere și retrageri.

    6. Paddy Power – Un alt cazinou online cunoscut pentru jocurile sale de noroc de înaltă calitate și pentru opțiunile sale de depunere și retrageri, Paddy Power are licență și certificare internațională.

    7. Bwin – Un alt lider în lumea jocurilor de noroc online, Bwin are licență și certificare internațională, oferind jocuri de noroc de înaltă calitate și o gamă largă de opțiuni de depunere și retrageri.

    8. Unibet – Un alt cazinou online cunoscut pentru jocurile sale de noroc de înaltă calitate și pentru opțiunile sale de depunere și retrageri, Unibet are licență și certificare internațională.

    9. Betway – Un alt lider în lumea jocurilor de noroc online, Betway are licență și certificare internațională, oferind jocuri de noroc de înaltă calitate și o gamă largă de opțiuni de depunere și retrageri.

    10. 32Red – Un alt cazinou online cunoscut pentru jocurile sale de noroc de înaltă calitate și pentru opțiunile sale de depunere și retrageri, 32Red are licență și certificare internațională.