Rumah pembangunan bahagian belakang tutorial php wordpress添加文章固定字段的介绍

wordpress添加文章固定字段的介绍

Jul 04, 2018 pm 02:04 PM

这篇文章主要介绍了关于wordpress添加文章固定字段的介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

让wordpress的文章数据表 增加一个字段,使其能在文章编辑页能编辑,并能通过rest api 获取出来。

例:给文章加一个缩略图字段 litpic 

首先 通过mysql 给文章表 wp_posts 加一个字段 litpic

然后在主题的function.php 后面添加如下代码:

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;)
);
}
Salin selepas log masuk

添加后,文章页会显示litpic字段的输入框,如图:

但此时 rest api还不会把litpic字段输出。

打开 /wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php 文件。

添加如下代码:

if ( ! empty( $schema[&#39;properties&#39;][&#39;litpic&#39;] ) ) {            
$data[&#39;litpic&#39;] = $post->litpic;
        }
Salin selepas log masuk

&#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; ),
                ),
Salin selepas log masuk

$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;,
            ),
Salin selepas log masuk

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;
Salin selepas log masuk

现在,rest api 就可以把litpic 字段输出了。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

关于activemq stomp类代码

关于Yii框架的增删改查

Atas ialah kandungan terperinci wordpress添加文章固定字段的介绍. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PHP vs. Flutter: Pilihan terbaik untuk pembangunan mudah alih PHP vs. Flutter: Pilihan terbaik untuk pembangunan mudah alih May 06, 2024 pm 10:45 PM

PHP dan Flutter ialah teknologi popular untuk pembangunan mudah alih. Flutter cemerlang dalam keupayaan merentas platform, prestasi dan antara muka pengguna, dan sesuai untuk aplikasi yang memerlukan prestasi tinggi, merentas platform dan UI tersuai. PHP sesuai untuk aplikasi sebelah pelayan dengan prestasi yang lebih rendah dan bukan merentas platform.

Bagaimana untuk menukar lebar halaman dalam wordpress Bagaimana untuk menukar lebar halaman dalam wordpress Apr 16, 2024 am 01:03 AM

Anda boleh mengubah suai lebar halaman WordPress anda dengan mudah dengan mengedit fail style.css anda: Edit fail style.css anda dan tambahkan .site-content { max-width: [lebar pilihan anda]; Edit [lebar pilihan anda] untuk menetapkan lebar halaman. Simpan perubahan dan kosongkan cache (pilihan).

Dalam folder manakah artikel wordpress terletak? Dalam folder manakah artikel wordpress terletak? Apr 16, 2024 am 10:29 AM

Catatan WordPress disimpan dalam folder /wp-content/uploads. Folder ini menggunakan subfolder untuk mengkategorikan pelbagai jenis muat naik, termasuk artikel yang disusun mengikut tahun, bulan dan ID artikel. Fail artikel disimpan dalam format teks biasa (.txt), dan nama fail biasanya termasuk ID dan tajuknya.

Cara membuat halaman produk dalam wordpress Cara membuat halaman produk dalam wordpress Apr 16, 2024 am 12:39 AM

Buat halaman produk dalam WordPress: 1. Buat produk (nama, penerangan, gambar); 4 . Buat variasi (warna, saiz yang berbeza);

Di manakah fail templat wordpress? Di manakah fail templat wordpress? Apr 16, 2024 am 11:00 AM

Fail templat WordPress terletak dalam direktori /wp-content/themes/[theme name]/. Ia digunakan untuk menentukan penampilan dan kefungsian tapak web, termasuk pengepala (header.php), pengaki (footer.php), templat utama (index.php), artikel tunggal (single.php), halaman (page.php) , Arkib (archive.php), kategori (category.php), tag (tag.php), carian (search.php) dan halaman ralat 404 (404.php). Dengan mengedit dan mengubah suai fail ini, anda boleh menyesuaikan penampilan laman web WordPress anda

Bagaimana untuk mencari pengarang dalam WordPress Bagaimana untuk mencari pengarang dalam WordPress Apr 16, 2024 am 01:18 AM

Cari pengarang dalam WordPress: 1. Setelah log masuk ke panel pentadbir anda, navigasi ke Catatan atau Halaman, masukkan nama pengarang menggunakan bar carian, dan pilih Pengarang dalam Penapis. 2. Petua lain: Gunakan kad bebas untuk meluaskan carian anda, gunakan operator untuk menggabungkan kriteria atau masukkan ID pengarang untuk mencari artikel.

Versi wordpress yang manakah stabil? Versi wordpress yang manakah stabil? Apr 16, 2024 am 10:54 AM

Versi WordPress yang paling stabil ialah versi terkini kerana ia mengandungi tampung keselamatan terkini, peningkatan prestasi dan memperkenalkan ciri dan penambahbaikan baharu. Untuk mengemas kini kepada versi terkini, log masuk ke papan pemuka WordPress anda, pergi ke halaman Kemas Kini dan klik Kemas Kini Sekarang.

Adakah wordpress perlu didaftarkan? Adakah wordpress perlu didaftarkan? Apr 16, 2024 pm 12:07 PM

WordPress memerlukan pendaftaran. Menurut "Langkah Pengurusan Keselamatan Internet" negara saya, tapak web yang menyediakan perkhidmatan maklumat Internet dalam negara mesti mendaftar dengan Pejabat Maklumat Internet wilayah tempatan, termasuk WordPress. Proses pendaftaran termasuk langkah-langkah seperti memilih penyedia perkhidmatan, menyediakan maklumat, menghantar permohonan, menyemak dan menerbitkan, dan mendapatkan nombor pendaftaran. Faedah pemfailan termasuk pematuhan undang-undang, meningkatkan kredibiliti, memenuhi keperluan akses, memastikan akses biasa, dsb. Maklumat pemfailan mestilah benar dan sah, dan mesti dikemas kini dengan kerap selepas pemfailan.

See all articles