Rumah > Tutorial CMS > WordTekan > Menambah kotak meta tersuai ke antara muka admin WordPress

Menambah kotak meta tersuai ke antara muka admin WordPress

尊渡假赌尊渡假赌尊渡假赌
Lepaskan: 2025-02-18 08:26:09
asal
651 orang telah melayarinya

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:

  • Kotak meta tersuai memperluaskan fungsi WordPress dengan membenarkan penambahan maklumat tambahan kepada jawatan, halaman, dan jenis pos tersuai. Ini dipaparkan di papan pemuka WordPress.
  • Semasa pengekodan terlibat, plugin seperti bidang adat maju, kotak meta, dan cMB2 memudahkan proses dengan ketara. Pengubahsuaian fail tema diperlukan untuk memaparkan data kotak meta tersuai di hujung depan.
  • Kotak meta tersuai berkuasa tetapi mempunyai batasan. Mereka tidak dapat mengubah antara muka Admin WordPress atau menambah ciri yang tidak disokong. Pengesahan data dan sanitisasi adalah penting untuk keselamatan.

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

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.

Adding Custom Meta Boxes to the WordPress Admin Interface

Menambah medan ke kotak meta tersuai:

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
}
Salin selepas log masuk
Salin selepas log masuk
untuk mendapatkan data sedia ada.

get_post_meta

Menyimpan data meta:

cangkuk

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");
Salin selepas log masuk
Salin selepas log masuk
Kod ini mengesahkan nonce, kebenaran pengguna, dan menyelamatkan auto. Secara kritis, ia menggunakan

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
}
Salin selepas log masuk
Salin selepas log masuk
ingat bahawa cangkuk yang digunakan (mis.,

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan