WordPress memberi kuasa kepada pengguna untuk membuat kotak meta tersuai untuk jawatan, halaman, dan jenis pos tersuai secara langsung dalam antara muka admin. API WordPress juga menawarkan pilihan penyesuaian yang luas untuk kotak meta lalai. Tutorial ini membimbing anda melalui membuat, menyimpan, mengesahkan, dan mengambil semula data meta tersuai, bersama -sama dengan mengeluarkan kotak meta lalai.
Konsep Utama:
Memahami Kotak Meta Kustom:
Kotak meta tersuai menyediakan cara untuk menambah medan melebihi pilihan lalai WordPress. Plugin dan tema menggunakannya untuk mengumpul input pengguna berstruktur. Mereka juga boleh ditambah ke papan pemuka, mencerminkan fungsi widget papan pemuka WordPress (yang pada dasarnya adalah kotak meta sendiri). Kotak meta standard termasuk editor, medan tersuai, imej yang dipaparkan, kategori, dan bahagian tag.
Kotak meta tersuai vs medan tersuai:
Bidang Custom Store Pasangan Nilai Utama Data. Kotak Meta menawarkan jenis input yang lebih serba boleh, termasuk pemetik warna, muat naik fail, dan jatuh turun.
Data meta dijelaskan:
Data Meta mewakili nilai yang dimasukkan ke dalam medan kotak meta tersuai. WordPress menyimpan data ini sebagai pasangan nilai utama (nilai meta dan nilai meta), di mana kunci meta adalah nama medan dan nilai meta adalah data yang dimasukkan.
Mewujudkan kotak meta:
fungsi add_meta_box
daftar dan memaparkan kotak meta tersuai. Kod berikut menambah kotak meta tersuai ke catatan WordPress:
function custom_meta_box_markup() { // Content will be added here later } function add_custom_meta_box() { add_meta_box("demo-meta-box", "Custom Meta Box", "custom_meta_box_markup", "post", "side", "high", null); } add_action("add_meta_boxes", "add_custom_meta_box");
add_meta_box
menggunakan tujuh argumen: id (pengenal unik), tajuk (tajuk yang dipaparkan), panggilan balik (fungsi untuk memaparkan kandungan), skrin (jenis pos), konteks (kedudukan), keutamaan (pesanan dalam konteks), dan panggilan balik Argumen.
mari tambahkan input teks, dropdown, dan kotak semak:
Kod ini termasuk pengesahan nonce untuk keselamatan dan penggunaan
function custom_meta_box_markup($object) { wp_nonce_field(basename(__FILE__), "meta-box-nonce"); ?> <div> <label for="meta-box-text">Text:</label> <input name="meta-box-text" type="text" value="<?php echo esc_attr(get_post_meta($object->ID, "meta-box-text", true)); ?>"> <br><br> <label for="meta-box-dropdown">Dropdown:</label> <select name="meta-box-dropdown"> <?php $option_values = array(1, 2, 3); foreach ($option_values as $value) { $selected = ($value == get_post_meta($object->ID, "meta-box-dropdown", true)) ? 'selected' : ''; echo "<option value=\"{$value}\" {$selected}>{$value}</option>"; } ?> </select> <br><br> <label for="meta-box-checkbox">Check Box:</label> <?php $checkbox_value = get_post_meta($object->ID, "meta-box-checkbox", true); $checked = ($checkbox_value == "true") ? 'checked' : ''; ?> <input name="meta-box-checkbox" type="checkbox" value="true" <?php echo $checked; ?>> </div> <?php }
get_post_meta
Menyimpan data meta:
menjimatkan data: save_post
function custom_meta_box_markup() { // Content will be added here later } function add_custom_meta_box() { add_meta_box("demo-meta-box", "Custom Meta Box", "custom_meta_box_markup", "post", "side", "high", null); } add_action("add_meta_boxes", "add_custom_meta_box");
untuk mengelakkan kelemahan keselamatan. sanitize_text_field
Mengeluarkan kotak meta:
Fungsi membuang kotak meta. Contohnya, untuk mengeluarkan kotak meta medan tersuai: remove_meta_box
function custom_meta_box_markup($object) { wp_nonce_field(basename(__FILE__), "meta-box-nonce"); ?> <div> <label for="meta-box-text">Text:</label> <input name="meta-box-text" type="text" value="<?php echo esc_attr(get_post_meta($object->ID, "meta-box-text", true)); ?>"> <br><br> <label for="meta-box-dropdown">Dropdown:</label> <select name="meta-box-dropdown"> <?php $option_values = array(1, 2, 3); foreach ($option_values as $value) { $selected = ($value == get_post_meta($object->ID, "meta-box-dropdown", true)) ? 'selected' : ''; echo "<option value=\"{$value}\" {$selected}>{$value}</option>"; } ?> </select> <br><br> <label for="meta-box-checkbox">Check Box:</label> <?php $checkbox_value = get_post_meta($object->ID, "meta-box-checkbox", true); $checked = ($checkbox_value == "true") ? 'checked' : ''; ?> <input name="meta-box-checkbox" type="checkbox" value="true" <?php echo $checked; ?>> </div> <?php }
atau do_meta_boxes
) bergantung pada konteks. wp_dashboard_setup
Kesimpulan:
Meta Box API WordPress adalah alat yang berkuasa untuk melanjutkan fungsi. Memahami nuansa dan mengutamakan amalan terbaik keselamatan adalah kunci kepada pelaksanaan yang berkesan. Contoh kod yang disediakan menggambarkan proses teras, tetapi ingat untuk menyesuaikannya dengan keperluan khusus anda dan sentiasa membersihkan input pengguna.Atas ialah kandungan terperinci Menambah kotak meta tersuai ke antara muka admin WordPress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!