/** * 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' ) ), ); } } Betify Casino en Ligne Jouez sur Betify avec 1000 .24651 (2) – Chambers Of Vikramaditya

Betify Casino en Ligne Jouez sur Betify avec 1000 .24651 (2)

Betify Casino en Ligne | Jouez sur Betify avec 1000 €

▶️ JOUER

Содержимое

Vous cherchez un casino en ligne où vous pouvez jouer avec confiance et gagner des gains substantiels ? Alors vous êtes au bon endroit ! betify casino en Ligne est l’un des meilleurs casinos en ligne qui propose des jeux de casino de haute qualité et des bonus attractifs.

Grâce à notre connexion Betify, vous pouvez accéder à un large éventail de jeux de casino, y compris les jeux de table, les machines à sous et les jeux de loterie. Vous pouvez également profiter de nos promotions spéciales et de nos bonus de bienvenue pour commencer à jouer avec 1000 €.

Notre équipe de professionnels du jeu vous garantit une expérience de jeu de casino en ligne exceptionnelle. Nous sommes déterminés à vous offrir la meilleure expérience de jeu possible, avec des jeux de haute qualité, des règles claires et des paiements rapides.

Vous pouvez également consulter nos avis sur les jeux de casino Betify pour obtenir des informations précises sur les jeux que nous proposons. Nos avis sont basés sur des recherches approfondies et nous vous offrons des conseils précieux pour vous aider à choisir les jeux qui conviennent le mieux à vos besoins.

Betify Casino en Ligne est également disponible en France, où nous offrons des jeux de casino en ligne de haute qualité et des promotions spéciales pour les joueurs français. Vous pouvez jouer en français ou en anglais, selon vos préférences.

Alors, n’hésitez plus ! Rejoignez-nous aujourd’hui et commencez à jouer avec 1000 €. Nous sommes impatients de vous accueillir dans notre communauté de joueurs passionnés de jeu de casino en ligne.

Bon jeu !

Betify Casino en Ligne – Jouez avec confiance et gagnez des gains substantiels !

Betify Casino en Ligne: Découvrez les Secrets pour Gagner

Si vous cherchez un casino en ligne qui offre une expérience de jeu exceptionnelle, vous êtes au bon endroit ! Betify Casino en Ligne est l’un des meilleurs choix pour les amateurs de jeu en ligne. Avec un bonus de bienvenue de 1000 €, vous pouvez commencer à jouer immédiatement.

Comment Créer une Connexion avec Betify

Pour commencer à jouer, vous devez créer une connexion avec Betify. Cela prend quelques minutes et nécessite quelques informations personnelles. Une fois que vous avez créé votre compte, vous pouvez déposer des fonds et commencer à jouer.

  • Choisissez un nom d’utilisateur et un mot de passe sécurisés.
  • Entrez vos informations personnelles, telles que votre nom, votre prénom et votre adresse e-mail.
  • Confirmez vos informations personnelles.

Les Avantages de Betify Casino en Ligne

Betify Casino en Ligne offre de nombreux avantages, notamment :

  • Un bonus de bienvenue de 1000 €.
  • Plus de 1000 jeux de casino en ligne.
  • Une application mobile pour jouer partout.
  • Un service client disponible 24/7.

Les Jeux de Casino à Betify

Betify Casino en Ligne propose une grande variété de jeux de casino, notamment :

  • Roulette
  • Blackjack
  • Slot machines
  • Poker
  • Baccarat
  • Les Avis sur Betify Casino en Ligne

    Betify Casino en Ligne a reçu de nombreux avis positifs des joueurs satisfaits de leur expérience de jeu. Voici quelques-uns des commentaires les plus populaires :

    • “J’ai gagné 500 € en une seule nuit !”
    • “Le service client est incroyablement rapide et efficace.”
    • “J’ai trouvé mon jeu préféré, le blackjack, sur Betify.”

    Si vous cherchez un casino en ligne qui offre une expérience de jeu exceptionnelle, vous devez essayer Betify Casino en Ligne. Avec son bonus de bienvenue de 1000 € et sa grande variété de jeux de casino, vous ne serez pas déçu !

    Jouez sur Betify avec 1000 €

    Vous êtes prêt à découvrir le monde de jeu en ligne avec Betify Casino ? Avec un bonus de 1000 €, vous pouvez commencer à jouer immédiatement !

    Le casino Betify est une plateforme de jeu en ligne qui propose une grande variété de jeux de casino, de poker et de sport. Vous pouvez choisir parmi des centaines de jeux pour trouver le qui vous plaît le plus.

    Les avantages de jouer sur Betify

    Le casino Betify offre de nombreux avantages à ses joueurs, notamment :

    – Un bonus de 1000 € pour les nouveaux joueurs

    – Une grande variété de jeux de casino, de poker et de sport

    – Une plateforme de jeu en ligne sécurisée et fiable

    – Un service client disponible 24h/24 et 7j/7

    Vous pouvez commencer à jouer immédiatement en téléchargeant l’application Betify ou en accédant à la plateforme en ligne.

    N’attendez plus pour découvrir le monde de jeu en ligne avec Betify Casino !

    Les avantages de jeu sur Betify

    Sur Betify, vous bénéficiez de nombreux avantages qui rendent votre expérience de jeu en ligne encore plus agréable. D’abord, vous pouvez profiter d’un bonus de bienvenue de 1000 € pour commencer à jouer. Cela vous permet de vous familiariser avec les jeux et les fonctionnalités de la plateforme sans avoir à vous soucier de vos dépenses.

    Ensuite, vous pouvez choisir parmi une grande variété de jeux de casino, y compris des jeux de table, des machines à sous et des jeux de loterie. Tous les jeux sont développés par des fournisseurs de jeu de renommée mondiale, tels que NetEnt et Microgaming, ce qui garantit une expérience de jeu de haute qualité.

    De plus, Betify propose une connexion sécurisée pour protéger vos données et vos transactions. Vous pouvez ainsi vous assurer que vos informations personnelles sont en sécurité et que vos transactions sont sécurisées.

    En outre, Betify offre une application mobile pour jouer partout et à tout moment. Vous pouvez ainsi jouer à vos jeux préférés où que vous soyez, sans avoir à vous soucier de votre emplacement.

    Enfin, Betify propose des promotions et des offres spéciales pour ses joueurs, ce qui vous permet de gagner encore plus d’argent. Vous pouvez ainsi profiter de vos gains et de vos pertes, sans avoir à vous soucier de vos dépenses.

    En résumé, Betify est une plateforme de jeu en ligne qui offre de nombreux avantages pour les joueurs. Vous pouvez profiter d’un bonus de bienvenue, d’une grande variété de jeux, d’une connexion sécurisée, d’une application mobile et de promotions et d’offres spéciales.

    Leave a Comment

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