Tutorial ini menunjukkan untuk memperluaskan fungsi edit cepat WordPress untuk memasukkan medan meta post tersuai. Mari kita menyelaraskan proses dan meningkatkan kejelasan.
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!

Wordpresscanhandlelargewebsiteswithcarefulplanningandoptimization.1) useCachingtoreduceServerVoad.2) OptimizeYourDatabaseRegularly.3) ExplibectDntodistributeContent.4) vetpluginsandthemestoavoidconflicts.5)

WordPressexcellentChoiceForacmsDuetoitsuser-friendlyInterface, extensiveCosystem, seocapability, skalability, andsupportivecommunity.1) ITSINDUITIVEMAKSAKSCONGANTENGETYESEasySers.2) theVASTArrayofthemesAnveSiveSveSiveSveSiveSiveSveSiveSveSiveSveSiveSveMesVeScoVeSveScoVeMesVeSveScoVeMesVeS

Wordpressisuser-friendlyduetoitsintuitiveinterfaceandcms, whingseparatatescontentfromdesign.itoffersarichtexteditorforeasycontentcreationandamedialibraryfororganization.itsflexabilityisenhancedbynumeroustemesandplugins

Wordpressissuitibleforbusinesssettings.1) itsupportse-commerceWithpluginsLikeWoocommerce, membenarkanProductManagementandPaymentProcessing.2) itservesasacmsforcorporateblogs, enhancingseoandengagement.3)

WordPressisnotidealforhigh-Trafficwebsites, CustomandComplexApplications, Sensitiveapplications Security, Real-timedataprocessing, andHighlyCustomizedUsererinterfaces.Forhigh-Trafficsites, useNext.JSorCustomSolutions;

Ya, yoUcanBuildablogWithWordPress.1) PilihBetWordPress.comforbeginnersorwordpress.orgformorecontrol.2) selectathemetopersonalzeyourblog'sLook.3)

Wordpresscanbesecureifmanagedproperly.1) Keepthewordpresscoreupdatedtopatchvulnerabilities.2) vetandupdatepluginsandthemesfromreputablesources.3)

Wordpresscanbuildvarioustypesofwebsites: 1) peribadiBlogs, easyTosetupwiththemesandplugins.2) Businesswebsites, menggunakandrag-and-dropbuilders.3) e-commerceplatforms, withwooComerceForseMlessintegration.4)


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa
