cari
RumahTutorial CMSWordTekanPanjangkan tindakan edit cepat di papan pemuka WordPress

Tutorial ini menunjukkan untuk memperluaskan fungsi edit cepat WordPress untuk memasukkan medan meta post tersuai. Mari kita menyelaraskan proses dan meningkatkan kejelasan.

Extend the Quick Edit Actions in the WordPress Dashboard

Penambahbaikan utama: Plugin ini menambah "Posted Posted," "Rating," dan "Subtitle" fields ke antara muka edit cepat, meningkatkan kecekapan pengurusan pos.

Pembangunan plugin: Membuat plugin adalah amalan terbaik untuk memperluaskan fungsi WordPress Core. Ini mengelakkan mengubahsuai fail teras, memastikan kemas kini yang lebih mudah. ​​

<?php
/**
 * Plugin Name: Extend Quick Edit
 * Plugin URI:  https://elevate360.com.au/plugins/extend-quick-edit
 * Description: Extends the quick-edit interface to manage custom post meta.
 * Version:     1.0.0
 * Author:      Simon Codrington
 * Author URI:  http://simoncodrington.com.au
 * Text Domain: extend-quick-edit
 * Domain Path: /languages
 */

class EL_Extend_Quick_Edit {

    private static $instance = null;

    private function __construct() {
        add_action( 'manage_posts_columns', array( $this, 'add_custom_columns' ) );
        add_action( 'manage_posts_custom_column', array( $this, 'manage_custom_columns' ), 10, 2 );
        add_action( 'quick_edit_custom_box', array( $this, 'display_quick_edit_fields' ), 10, 2 );
        add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ) );
        add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ), 10, 2 );
        add_action( 'save_post', array( $this, 'save_post_meta' ), 10, 2 );
    }

    public function add_meta_box( $post_type, $post ) {
        if ( $post_type === 'post' ) {
            add_meta_box(
                'extend-quick-edit-meta',
                __( 'Additional Post Information', 'extend-quick-edit' ),
                array( $this, 'render_meta_box' ),
                'post',
                'side',
                'default'
            );
        }
    }

    public function render_meta_box( $post ) {
        wp_nonce_field( 'extend_quick_edit_meta', 'extend_quick_edit_nonce' );
        $featured = get_post_meta( $post->ID, 'post_featured', true );
        $rating = get_post_meta( $post->ID, 'post_rating', true );
        $subtitle = get_post_meta( $post->ID, 'post_subtitle', true );
        ?>
        <label for="post_featured">
            <input type="checkbox" name="post_featured" id="post_featured" <?php checked( $featured, 'yes' ); ?> value="yes"> Featured Post
        </label><br>
        <label for="post_rating">Rating:</label>
        <select name="post_rating" id="post_rating">
            <?php for ( $i = 1; $i <= 5; $i++ ) { ?>
                <option value="<?php echo $i; ?>" <?php selected( $rating, $i ); ?>><?php echo $i; ?></option>
            <?php } ?>
        </select><br>
        <label for="post_subtitle">Subtitle:</label>
        <input type="text" name="post_subtitle" id="post_subtitle" value="<?php echo esc_attr( $subtitle ); ?>">
        <?php
    }

    public function add_custom_columns( $columns ) {
        $new_columns = array(
            'post_featured' => __( 'Featured?', 'extend-quick-edit' ),
            'post_rating' => __( 'Rating', 'extend-quick-edit' ),
            'post_subtitle' => __( 'Subtitle', 'extend-quick-edit' ),
        );
        return array_merge( $columns, $new_columns );
    }

    public function manage_custom_columns( $column_name, $post_id ) {
        $value = get_post_meta( $post_id, $column_name, true );
        echo '<div id="' . esc_attr( $column_name ) . '_' . $post_id . '">' . esc_html( $value ) . '</div>';
    }

    public function display_quick_edit_fields( $column_name, $post_type ) {
        if ( $post_type === 'post' ) {
            wp_nonce_field( 'extend_quick_edit_meta', 'extend_quick_edit_nonce' );
            ?>
            <fieldset>
                <?php if ( $column_name === 'post_featured' ): ?>
                    <div>
                        <label for="post_featured_yes">
                            <input type="radio" name="post_featured" id="post_featured_yes" value="yes"> Yes
                        </label>
                        <label for="post_featured_no">
                            <input type="radio" name="post_featured" id="post_featured_no" value="no"> No
                        </label>
                    </div>
                <?php elseif ( $column_name === 'post_rating' ): ?>
                    <div>
                        <select name="post_rating" id="post_rating">
                            <?php for ( $i = 1; $i <= 5; $i++ ) { ?>
                                <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
                            <?php } ?>
                        </select>
                    </div>
                <?php elseif ( $column_name === 'post_subtitle' ): ?>
                    <div>
                        <input type="text" name="post_subtitle" id="post_subtitle">
                    </div>
                <?php endif; ?>
            </fieldset>
            <?php
        }
    }

    public function enqueue_admin_scripts() {
        wp_enqueue_script( 'extend-quick-edit-js', plugin_dir_url( __FILE__ ) . 'extend-quick-edit.js', array( 'jquery', 'inline-edit-post' ), '1.0.0', true );
    }

    public function save_post_meta( $post_id, $post ) {
        if ( ! isset( $_POST['extend_quick_edit_nonce'] ) || ! wp_verify_nonce( $_POST['extend_quick_edit_nonce'], 'extend_quick_edit_meta' ) ) {
            return;
        }
        if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
            return;
        }
        if ( ! current_user_can( 'edit_post', $post_id ) ) {
            return;
        }

        $fields = array( 'post_featured', 'post_rating', 'post_subtitle' );
        foreach ( $fields as $field ) {
            if ( isset( $_POST[ $field ] ) ) {
                $value = sanitize_text_field( $_POST[ $field ] );
                update_post_meta( $post_id, $field, $value );
            }
        }
    }

    public static function get_instance() {
        if ( is_null( self::$instance ) ) {
            self::$instance = new self();
        }
        return self::$instance;
    }
}

EL_Extend_Quick_Edit::get_instance();
?>

(extend-quick-edit.js):

jQuery(document).ready(function($) {
    var $inlineEdit = inlineEditPost.edit;
    inlineEditPost.edit = function(id) {
        $inlineEdit.apply(this, arguments);
        var $row = $(this.row);
        var post_id = parseInt($row.attr('id').replace(/[^0-9]/g, ''));
        var fields = ['post_featured', 'post_rating', 'post_subtitle'];
        $.each(fields, function(index, field) {
            var value = $('#' + field + '_' + post_id).text();
            if (field === 'post_featured') {
                $row.find('input[name="' + field + '"][value="' + value + '"]').prop('checked', true);
            } else {
                $row.find('#' + field).val(value);
            }
        });
    }
});
ingat untuk meletakkan

dalam direktori yang sama seperti fail PHP plugin anda. Kod yang lebih baik ini lebih ringkas, cekap, dan mudah dikekalkan. JavaScript dipermudahkan untuk secara langsung mengisi medan edit cepat menggunakan jQuery. Pengendalian ralat dan keselamatan juga dipertingkatkan. Pendekatan yang disemak ini memberikan penyelesaian yang lebih mantap dan mesra pengguna. Selepas mengaktifkan plugin, anda akan melihat medan tersuai baru dalam antara muka edit cepat. Ingatlah untuk membersihkan cache penyemak imbas anda setelah memasang plugin. extend-quick-edit.js

Atas ialah kandungan terperinci Panjangkan tindakan edit cepat di papan pemuka WordPress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
Cara mudah memindahkan blog anda dari wordpress.com ke wordpress.orgCara mudah memindahkan blog anda dari wordpress.com ke wordpress.orgApr 18, 2025 am 11:33 AM

Adakah anda ingin memindahkan blog anda dari wordpress.com ke wordpress.org? Ramai pemula bermula dengan WordPress.com tetapi dengan cepat menyedari batasan mereka dan ingin beralih ke platform WordPress.org yang dihoskan sendiri. Dalam panduan langkah demi langkah ini, kami akan menunjukkan kepada anda bagaimana untuk memindahkan blog anda dengan betul dari WordPress.com ke WordPress.org. Mengapa berhijrah dari wordpress.com ke wordpress.org? WordPress.com membolehkan sesiapa membuat akaun

Cara mengautomasikan WordPress dan media sosial dengan IFTTT (dan banyak lagi)Cara mengautomasikan WordPress dan media sosial dengan IFTTT (dan banyak lagi)Apr 18, 2025 am 11:27 AM

Adakah anda mencari cara untuk mengautomasikan laman web WordPress dan akaun media sosial anda? Dengan automasi, anda akan dapat berkongsi catatan blog atau kemas kini secara automatik di Facebook, Twitter, LinkedIn, Instagram dan banyak lagi. Dalam artikel ini, kami akan menunjukkan kepada anda bagaimana untuk mengautomasikan WordPress dan media sosial dengan mudah menggunakan IFTTT, Zapier, dan Automator Uncanny. Mengapa mengautomasikan WordPress dan media sosial? Automatikkan WordPre anda

Cara Memperbaiki Had Item Menu tersuai di WordPressCara Memperbaiki Had Item Menu tersuai di WordPressApr 18, 2025 am 11:18 AM

Hanya beberapa hari yang lalu, salah seorang pengguna kami melaporkan masalah yang luar biasa. Masalahnya ialah dia mencapai had item menu tersuai. Mana -mana kandungan yang dia simpan selepas mencapai had item menu tidak akan disimpan sama sekali. Kami tidak pernah mendengar isu ini, jadi kami memutuskan untuk mencubanya pada pemasangan tempatan kami. Lebih daripada 200 item menu dicipta dan disimpan. Kesannya sangat baik. Pindahkan 100 item ke senarai juntai bawah dan simpan dengan baik. Kemudian kami tahu ia berkaitan dengan pelayan. Selepas penyelidikan lanjut, nampaknya ramai yang lain menghadapi masalah yang sama. Selepas menggali lebih mendalam, kami mendapati tiket TRAC (#14134) yang menyerlahkan isu ini. Membaca sangat

Cara menambah metafields tersuai ke taksonomi tersuai di WordPressCara menambah metafields tersuai ke taksonomi tersuai di WordPressApr 18, 2025 am 11:11 AM

Adakah anda perlu menambah metafields tersuai ke taksonomi tersuai di WordPress? Taksonomi tersuai membolehkan anda mengatur kandungan selain kategori dan tag. Kadang -kadang ia berguna untuk menambah medan lain untuk menggambarkannya. Dalam artikel ini, kami akan menunjukkan kepada anda cara menambah Metafields lain kepada taksonomi yang mereka buat. Bilakah Metafields tersuai ditambah kepada taksonomi tersuai? Apabila anda membuat kandungan baru di laman WordPress anda, anda boleh mengaturnya menggunakan dua taksonomi lalai (kategori dan tag). Sesetengah laman web mendapat manfaat daripada penggunaan taksonomi tersuai. Ini membolehkan anda menyusun kandungan dengan cara lain. Contohnya,

Cara menerbitkan dari jauh ke WordPress menggunakan Windows Live WriterCara menerbitkan dari jauh ke WordPress menggunakan Windows Live WriterApr 18, 2025 am 11:02 AM

Windows Live Writer adalah alat serba boleh yang membolehkan anda menyiarkan siaran terus dari desktop anda ke blog WordPress anda. Ini bermakna anda tidak perlu log masuk ke panel admin WordPress untuk mengemas kini blog anda sama sekali. Dalam tutorial ini, saya akan menunjukkan kepada anda bagaimana untuk membolehkan penerbitan desktop untuk blog WordPress anda menggunakan Windows Live Writer. Cara Menyiapkan Windows Live Writer di WordPress Langkah 1: Untuk menggunakan Windows Live Writer di WordPR

Cara Memperbaiki Teks Putih Dan Butang Hilang Dalam Editor Visual WordPressCara Memperbaiki Teks Putih Dan Butang Hilang Dalam Editor Visual WordPressApr 18, 2025 am 10:52 AM

Baru -baru ini, salah seorang pengguna kami melaporkan masalah pemasangan yang sangat pelik. Apabila menulis jawatan, mereka tidak dapat melihat apa -apa yang mereka tulis. Kerana teks dalam editor pos berwarna putih. Lebih -lebih lagi, semua butang editor visual hilang, dan keupayaan untuk beralih dari visual ke HTML tidak berfungsi sama ada. Dalam artikel ini, kami akan menunjukkan kepada anda bagaimana untuk memperbaiki teks putih dan isu butang yang hilang dalam editor visual WordPress. Jadilah nota pemula: Jika anda mencari butang tersembunyi yang boleh dilihat dalam tangkapan skrin laman web lain, anda mungkin mencari sinki dapur. Anda perlu mengklik ikon sinki dapur untuk melihat pilihan lain seperti garis bawah, salin dari Word, dll.

Cara memaparkan avatar dalam e -mel pengguna di WordPressCara memaparkan avatar dalam e -mel pengguna di WordPressApr 18, 2025 am 10:51 AM

Adakah anda ingin memaparkan avatar dalam e -mel pengguna di WordPress? Gravatar adalah perkhidmatan rangkaian yang menghubungkan alamat e -mel pengguna ke avatar dalam talian. WordPress secara automatik memaparkan gambar profil pelawat di bahagian komen, tetapi anda juga mungkin mahu menambahkannya ke kawasan lain di laman web ini. Dalam artikel ini, kami akan menunjukkan kepada anda bagaimana untuk memaparkan avatar dalam e -mel pengguna di WordPress. Apa itu Gravatar dan mengapa saya harus memaparkannya? Gravatar bermaksud avatar yang diiktiraf secara global, yang membolehkan orang ramai menghubungkan imej ke alamat e -mel mereka. Sekiranya laman web menyokong

Cara menukar lokasi muat naik media lalai di WordPressCara menukar lokasi muat naik media lalai di WordPressApr 18, 2025 am 10:47 AM

Adakah anda ingin menukar lokasi muat naik media lalai di WordPress? Memindahkan fail media ke folder lain boleh meningkatkan kelajuan dan prestasi laman web dan membantu anda membuat sandaran lebih cepat. Ia juga memberi anda kebebasan untuk mengatur fail anda dengan cara yang sesuai dengan anda. Dalam artikel ini, kami akan menunjukkan kepada anda cara menukar lokasi muat naik media lalai di WordPress. Mengapa menukar lokasi muat naik media lalai? Secara lalai, WordPress menyimpan semua imej dan fail media lain dalam/WP-content/muat naik/folder. Dalam folder ini, anda akan menemui kanak -kanak tahun dan bulan yang berbeza

See all articles

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

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.