


Dieses Tutorial zeigt, dass die schnelle Bearbeitungsfunktion von WordPress benutzerdefinierte Post -Meta -Felder erweitert wird. Lassen Sie uns den Prozess optimieren und die Klarheit verbessern.
Schlüsselverbesserungen: Dieses Plugin fügt "Felder" Featured Post "," Rating "und" Untertitel "zur Schnellbearbeitungsschnittstelle hinzu, die die Effizienz des Postmanagements verbessert.
Plugin -Entwicklung: Erstellen eines Plugins ist die beste Praxis für die Erweiterung der Kern -WordPress -Funktionalität. Dadurch wird vermieden, Kerndateien zu ändern und einfachere Aktualisierungen zu gewährleisten.
<?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); } }); } });
Denken Sie daran, extend-quick-edit.js
in demselben Verzeichnis wie die PHP -Datei Ihres Plugins zu platzieren. Dieser verbesserte Code ist prägnanter, effizienter und leichter zu warten. Das JavaScript ist vereinfacht, um die Schnellbearbeitungsfelder mit JQuery direkt zu füllen. Die Handhabung und Sicherheit des Fehlers werden ebenfalls verbessert. Dieser überarbeitete Ansatz bietet eine robustere und benutzerfreundlichere Lösung. Nach dem Aktivieren des Plugins sehen Sie die neuen benutzerdefinierten Felder in der Schnellbearbeitungsschnittstelle. Denken Sie daran, Ihren Browser -Cache nach der Installation des Plugins zu löschen.
Das obige ist der detaillierte Inhalt vonErweitern Sie die Schnellbearbeitungsaktionen im WordPress -Dashboard. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

WordPressISUSER-freundlich-friftziehendeuToitIntuitiveInterfaceandcms, die untersagt, dass die Kontent-Kontent- und Anamse-Fotorganisation.itsflexibilityISextexforeasyContentCreation und -Anträgungsfrequenz

WordpressissoutableForbusinessSetting.1) Issupportse-Commercewithplugins-ähnlichwoocommerce, erlaubt ProductManagement undPaymentprozessing.2 ItersasacmsCorcorporateblologs, EnhancingSeoandengagement.3) CustomizationSpossiblewithnoRaChemesandPlugglugins.4 ).4 ).4 ).4)

WordPressIsnotidealforHigh-Trafficwebsites, CustomandComplex Applications, SicherheitssensitiveApplikationen, echte Timedataprozessing, andhoiglylycustomizeduserInterfaces.forHigh-Trafficsites, Usenext.JSorcustomsolutions; forcomplexApplication, optfordjangoorrubiorrubisions

Ja, YoucanbuildabogwithWordPress.1) Wählen Sie zwischen WordPress.comforBeginersorwordPress.orgformorEcontrol.2) selectathemetopersonalizeyourblog.Slook.3) UsePluginstoenHanceFunctionality, LikeseoandSocialMediaInteGration

WordPressCanbesecureifManagedProperly.1) KeepTheWordPressCoreupdatedTopatchVulnerabilities.2) Vetandupdatepluginsandthemes ausRomReputableSources.3) EnforcestongPasswordsandussetwo-Factorautorautical.5) ChooseaahostingProviderwithgoodscurityPractices

WordPressCanBuildVariousTypesofwebsites: 1) Personalblogs, EasyToSetupwithThemesAndPlugins.2) BusinessWebsites, verwenden DRAG-and-DROPBUILDERS.3) E-CommercePlatformen mitwoocommerceAnteAntEAntinte integration

WordPressIsapowerfulCmswithSignificantAdvantages und 1) Itsuser-freundlich und idealforbegglins.2) ItsexibilityCanleadtoToTandSecurityISSusiessifnotmanagedProperly) reguläre UMGEDATEDATEANTREPHICEPTIMICUMISIONSYTORSYTORYTOMAINTAINSYTOMAINTAINSAGEMAINTAILSAGE

WordPressExcelSineaseofuseandAptability, Makingidealforbegglegersandsmalltomedium-Größe-Sizedbusiness.1) Easyofuse: Wordpressisuser-freundlich.2) Sicherheit: DrupalleadswithstrongSecurityFeatures.3) Leistung: GhostofferssexcellentPerformeduetonodes.jscurityFeatures.js.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.
