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

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months 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)

PHP vs. Flutter: The best choice for mobile development PHP vs. Flutter: The best choice for mobile development May 06, 2024 pm 10:45 PM

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.

How to change page width in wordpress How to change page width in wordpress Apr 16, 2024 am 01:03 AM

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).

How to create a product page in wordpress How to create a product page in wordpress Apr 16, 2024 am 12:39 AM

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.

In which folder are wordpress articles located? In which folder are wordpress articles located? Apr 16, 2024 am 10:29 AM

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.

Where is the wordpress template file? Where is the wordpress template file? Apr 16, 2024 am 11:00 AM

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

How to search for authors in WordPress How to search for authors in WordPress Apr 16, 2024 am 01:18 AM

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.

What language is used to develop WordPress? What language is used to develop WordPress? Apr 16, 2024 am 12:03 AM

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.

Which version of wordpress is stable? Which version of wordpress is stable? Apr 16, 2024 am 10:54 AM

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.

See all articles