Home Backend Development PHP Tutorial Introduction to adding fixed fields to articles in wordpress

Introduction to adding fixed fields to articles in wordpress

Jul 04, 2018 pm 02:04 PM

This article mainly introduces the introduction of adding fixed fields to articles in wordpress. It has certain reference value. Now I share it with you. Friends in need can refer to it.

Let wordpress add an article data table. Field so that it can be edited on the article editing page and obtained through the rest api.

Example: Add a thumbnail field litpic to the article

First add a field litpic to the article table wp_posts through mysql

Then add the following code after the theme's function.php :

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

add_action( 'add_meta_boxes', 'myplugin_add_custom_box');

  

 

add_action( 'save_post', 'myplugin_save_postdata');function myplugin_add_custom_box() {

add_meta_box('myplugin_sectionid',

'设置缩略图', // 可自行修改标题文字

'myplugin_inner_custom_box',

'post');

}function myplugin_inner_custom_box( $post ) {

global $wpdb;

// Use nonce for verification

wp_nonce_field( plugin_basename( __FILE__ ),

'myplugin_noncename' );

// 获取固定字段litpic的值,用于显示之前保存的值

// 此处wp_posts新添加的字段为litpic,多个用半角逗号隔开

$date = $wpdb->get_row( $wpdb->prepare( "SELECT litpic FROM $wpdb->posts WHERE ID = %d", $post->ID) );

// litpic  字段输入框的HTML代码

echo &#39;<label for="litpic_new_field">图片url </label>&#39;;

echo &#39;<input type="text" id="litpic_new_field" name="litpic_new_field" value="&#39;.$date->litpic.&#39;" size="28" />&#39;;

// 多个字段依此类推

}

function myplugin_save_postdata( $post_id ) {

// verify if this is an auto save routine.

// If it is our form has not been submitted, so we dont want to do anything

if ( defined( ’DOING_AUTOSAVE’ ) && DOING_AUTOSAVE )return;

// verify this came from the our screen and with proper authorization,

// because save_post can be triggered at other times

if ( !wp_verify_nonce( $_POST[&#39;myplugin_noncename&#39;], plugin_basename( __FILE__ ) ) )return;

// 权限验证

if ( &#39;post&#39; == $_POST[&#39;post_type&#39;] ) {

if ( !current_user_can( &#39;edit_post&#39;, $post_id ) )return;

}

// 获取编写文章时填写的固定字段的值,多个字段依此类推

$litpic = $_POST[&#39;litpic_new_field&#39;];global $wpdb;$wpdb->update( "$wpdb->posts",

// 以下一行代码,多个字段的话参照下面的写法,单引号中是字段名,右边是变量值。半角逗号隔开

array( &#39;litpic&#39; => $litpic),

array( &#39;ID&#39; => $post_id ),

// 添加了多少个新字段就写多少个%s,半角逗号隔开

array( &#39;%s&#39;),

array( &#39;%d&#39;)

);

}

Copy after login

After adding, the article page will display the input box of litpic field, as shown in the figure:

But at this time the rest api will not output the litpic field.

Open the /wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php file.

Add the following code:

1

2

3

if ( ! empty( $schema[&#39;properties&#39;][&#39;litpic&#39;] ) ) {           

$data[&#39;litpic&#39;] = $post->litpic;

        }

Copy after login

1

2

3

4

5

&#39;litpic&#39;        => array(                   

&#39;description&#39; => __( &#39;A litpic to protect access to the content and excerpt.&#39; ),

                    &#39;type&#39;        => &#39;string&#39;,

                    &#39;context&#39;     => array( &#39;view&#39;, &#39;edit&#39;, &#39;embed&#39; ),

                ),

Copy after login

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

$post_type_attributes = array(            &#39;title&#39;,

            &#39;editor&#39;,

            &#39;author&#39;,

            &#39;excerpt&#39;,

            &#39;thumbnail&#39;,

            &#39;comments&#39;,

            &#39;revisions&#39;,

            &#39;page-attributes&#39;,

            &#39;post-formats&#39;,

            &#39;custom-fields&#39;,

            &#39;litpic&#39;,

        );        $fixed_schemas = array(            &#39;post&#39; => array(                &#39;title&#39;,

                &#39;editor&#39;,

                &#39;author&#39;,

                &#39;excerpt&#39;,

                &#39;thumbnail&#39;,

                &#39;comments&#39;,

                &#39;revisions&#39;,

                &#39;post-formats&#39;,

                &#39;custom-fields&#39;,

                &#39;litpic&#39;,

            ),

Copy after login

1

2

3

4

5

6

case &#39;litpic&#39;:                   

$schema[&#39;properties&#39;][&#39;litpic&#39;] = array(                       

&#39;description&#39; => __( &#39;The ID for the litpic of the object.&#39; ),

                        &#39;type&#39;        => &#39;string&#39;,

                        &#39;context&#39;     => array( &#39;view&#39;, &#39;edit&#39;, &#39;embed&#39; ),

                    );                    break;

Copy after login

Now, the rest api can output the litpic field.

The above is the entire content of this article. I hope it will be helpful to everyone's study. For more related content, please pay attention to the PHP Chinese website!

Related recommendations:

About activemq stomp class code

About the addition, deletion, modification and check of Yii framework

The above is the detailed content of Introduction to adding fixed fields to articles in wordpress. 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 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
1662
14
PHP Tutorial
1261
29
C# Tutorial
1234
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.

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 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 &gt;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.

How to cancel the editing date of wordpress How to cancel the editing date of wordpress Apr 20, 2025 am 10:54 AM

WordPress editing dates can be canceled in three ways: 1. Install the Enable Post Date Disable plug-in; 2. Add code in the functions.php file; 3. Manually edit the post_modified column in the wp_posts table.

How to write a header of a wordpress How to write a header of a wordpress Apr 20, 2025 pm 12:09 PM

The steps to create a custom header in WordPress are as follows: Edit the theme file "header.php". Add your website name and description. Create a navigation menu. Add a search bar. Save changes and view your custom header.

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

See all articles