A complete list of WordPress JSON processing related functions
JSON processing is a task that often needs to be processed in WordPress development. For this reason, WordPress defines a bunch of JSON processing functions. The following is done by the WordPress Tutorial column. Let’s give a unified introduction.
wp_json_encode
Encode to JSON and perform some integrity checks.
wp_json_encode( $data, $options = 0, $depth = 512 )
Let’s briefly talk about the reason why WordPress introduced this function:
First of all, different PHP versions of the json_encode function support different parameters. PHP 5.3 previously supported only one parameter, $data. PHP 5.3 introduced the $options parameter, and PHP 5.5 introduced the $depth parameter. Therefore, WordPress adapts to different versions of PHP, and wp_json_encode supports three parameters and is compatible with different versions of PHP.
Before json_encode, wp_json_encode uses the function _wp_json_prepare_data to clean the data. If these types are boolean, integer, double, string, NULL, it will be returned directly. If it is an array, continue to use the _wp_json_prepare_data function to clean each element in the array. The element is cleaned. If it is an object, if the class of the object implements the JsonSerializable interface, then $data = $data->jsonSerialize() is returned. Otherwise, continue to use _wp_json_prepare_data to clean each attribute in the object.
Then use json_encode for encoding. If unsuccessful, use _wp_json_sanity_check to perform integrity processing on the data, and finally use json_encode for encoding. _wp_json_sanity_check mainly uses the function _wp_json_convert_string to perform deep UTF-8 detection and conversion of data.
So it is recommended to use wp_json_encode to JSON encode variables, which is more reliable.
wpjam_json_encode
wp_json_encode( $data, $options = JSON_UNESCAPED_UNICODE, $depth = 512 )
PHP5.4 JSON has a new option: JSON_UNESCAPED_UNICODE, hence the name: Do not encode into Unicode to make Chinese more readable.
So we wrote a wpjam_json_encode function. Compared with wp_json_encode, the default value of the $options parameter is set to JSON_UNESCAPED_UNICODE. In this way, if wpjam_json_encode($data) is used directly, Chinese will not be encoded into unicode and is more readable. .
As long as you install the WPJAM Basic plugin, your WordPress will have this function.
wp_send_json
Send JSON data directly.
wp_send_json( $response, $status_code = null )
He first outputs the Content-Type header of application/json. If $status_code is not empty, then outputs the status code of $status_code.
Then call wp_json_encode to encode the data.
wpjam_send_json
wpjam_send_json( $response, $status_code = null )
Also in order to make Chinese more readable after JSON encoding, we also wrote the wpjam_send_json function, which is almost the same as wp_send_json, just calling The function to encode the data is wpjam_json_encode.
In addition, if the incoming data is an instance of WP_Error, then wpjam_send_json directly outputs errcode and errmsg JSON. If errcode is not set, wpjam_send_json will automatically add errcode=>0
Install the WPJAM Basic plug-in, and your WordPress will have this function.
wp_send_json_success and wp_send_json_error
WordPress also provides two functions, wp_send_json_success and wp_send_json_error:
wp_send_json_success( $data = null, $status_code = null ) wp_send_json_error( $data = null, $status_code = null )
wp_send_json_success First output success as true, and then set The data $data is placed in data and output. wp_send_json_error will determine whether $data is a WP_Error instance. If so, it will output an array of code and message. Our implementation of wpjam_send_json can already handle these errors automatically.
wp_is_json_request
Determine whether the current request is a JSON request, or return a JSON result. This function has no parameters, use it directly:
wp_is_json_request()
It determines that $_SERVER['HTTP_ACCEPT'] contains application/json, or $_SERVER['CONTENT_TYPE'] is equal to application/json.
wp_is_jsonp_request
Determine whether the current request is a JSONP request, or return a JSONP result. This function has no parameters, use it directly:
wp_is_jsonp_request()
It first determines whether $_GET['_jsonp'] exists, and then determines whether its value is legal through the function wp_check_jsonp_callback.
wp_check_jsonp_callback
Determine whether the JSONP callback is a legal JavaScript callback function:
wp_check_jsonp_callback( $callback )
The legal JavaScript callback function can only include numbers plus characters, and English periods.
The above is the detailed content of A complete list of WordPress JSON processing related functions. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP and Flutter are popular technologies for mobile development. Flutter excels in cross-platform capabilities, performance and user interface, and is suitable for applications that require high performance, cross-platform and customized UI. PHP is suitable for server-side applications with lower performance and not cross-platform.

You can easily modify your WordPress page width by editing your style.css file: Edit your style.css file and add .site-content { max-width: [your preferred width]; }. Edit [your preferred width] to set the page width. Save changes and clear cache (optional).

Create a product page in WordPress: 1. Create the product (name, description, pictures); 2. Customize the page template (add title, description, pictures, buttons); 3. Enter product information (stock, size, weight); 4 . Create variations (different colors, sizes); 5. Set visibility (public or hidden); 6. Enable/disable comments; 7. Preview and publish the page.

WordPress posts are stored in the /wp-content/uploads folder. This folder uses subfolders to categorize different types of uploads, including articles organized by year, month, and article ID. Article files are stored in plain text format (.txt), and the filename usually includes its ID and title.

WordPress template files are located in the /wp-content/themes/[theme name]/ directory. They are used to determine the appearance and functionality of the website, including header (header.php), footer (footer.php), main template (index.php), single article (single.php), page (page.php), Archive (archive.php), category (category.php), tag (tag.php), search (search.php) and 404 error page (404.php). By editing and modifying these files, you can customize the appearance of your WordPress website

Search for authors in WordPress: 1. Once logged in to your admin panel, navigate to Posts or Pages, enter the author name using the search bar, and select Author in Filters. 2. Other tips: Use wildcards to broaden your search, use operators to combine criteria, or enter author IDs to search for articles.

WordPress is developed using PHP language as its core programming language for handling database interactions, form processing, dynamic content generation, and user requests. PHP was chosen for reasons including cross-platform compatibility, ease of learning, active community, and rich library and frameworks. Apart from PHP, WordPress also uses languages like HTML, CSS, JavaScript, SQL, etc. to enhance its functionality.

The most stable WordPress version is the latest version because it contains the latest security patches, performance enhancements, and introduces new features and improvements. In order to update to the latest version, log into your WordPress dashboard, go to the Updates page and click Update Now.
