Home CMS Tutorial WordPress A complete list of WordPress JSON processing related functions

A complete list of WordPress JSON processing related functions

Sep 20, 2019 am 11:17 AM
wordpress

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.

A complete list of WordPress JSON processing related functions

wp_json_encode

Encode to JSON and perform some integrity checks.

wp_json_encode( $data, $options = 0, $depth = 512 )
Copy after login

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 )
Copy after login

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 )
Copy after login

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 )
Copy after login

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 )
Copy after login

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!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1672
14
PHP Tutorial
1277
29
C# Tutorial
1257
24
How to adjust the wordpress article list How to adjust the wordpress article list Apr 20, 2025 am 10:48 AM

There are four ways to adjust the WordPress article list: use theme options, use plugins (such as Post Types Order, WP Post List, Boxy Stuff), use code (add settings in the functions.php file), or modify the WordPress database directly.

How to build a website for wordpress host How to build a website for wordpress host Apr 20, 2025 am 11:12 AM

To build a website using WordPress hosting, you need to: select a reliable hosting provider. Buy a domain name. Set up a WordPress hosting account. Select a topic. Add pages and articles. Install the plug-in. Customize your website. Publish your website.

How to import the source code of wordpress How to import the source code of wordpress Apr 20, 2025 am 11:24 AM

Importing WordPress source code requires the following steps: Create a sub-theme for theme modification. Import the source code and overwrite the files in the sub-topic. Activate the sub-theme to make it effective. Test the changes to make sure everything works.

How to view the front-end of WordPress How to view the front-end of WordPress Apr 20, 2025 am 10:30 AM

You can view the WordPress front-end by logging into the dashboard and switching to the View Sites tab; automate the viewing process with a headless browser; installing the WordPress plugin to preview the front-end within the dashboard; viewing the front-end via a local URL (if WordPress is set locally).

How to change the head image of the wordpress theme How to change the head image of the wordpress theme Apr 20, 2025 am 10:00 AM

A step-by-step guide to replacing a header image of WordPress: Log in to the WordPress dashboard and navigate to Appearance >Theme. Select the topic you want to edit and click Customize. Open the Theme Options panel and look for the Site Header or Header Image options. Click the Select Image button and upload a new head image. Crop the image and click Save and Crop. Click the Save and Publish button to update the changes.

What are the plugins for wordpress blocking ip What are the plugins for wordpress blocking ip Apr 20, 2025 am 08:27 AM

WordPress IP blocking plugin selection is crucial. The following types can be considered: based on .htaccess: efficient, but complex operation; database operation: flexible, but low efficiency; firewall: high security performance, but complex configuration; self-written: highest control, but requires more technical level.

How to register a wordpress account How to register a wordpress account Apr 20, 2025 am 11:45 AM

To create an account on WordPress, simply visit its website, select the registration option, fill in the registration form, and verify your email address. Other ways to register include using a Google account or Apple ID. The benefits of signing up include creating a website, gaining features, joining the community, and gaining support.

How to import wordpress templates How to import wordpress templates Apr 20, 2025 am 10:18 AM

WordPress templates quickly create professional websites. The steps to import a template include: select and download the template. Log in to the WordPress dashboard. Select Theme from the Appearance menu. Click "Add New Theme". Click "Upload topic" and select the downloaded template .zip file. Click "Install Now". Click the "Activate" button. Customize the templates through the Customize menu.

See all articles