WordPress 3.0 endet wesentliche Aktualisierungen, einschließlich der Integration von WordPress MU (Aktivierung von Multi-Site-Management) und der Einführung benutzerdefinierter Post-Typen. Eine besonders nützliche Funktion, die durch benutzerdefinierte Post -Typen verbessert wird, ist das benutzerdefinierte Schreibfeld.
benutzerdefinierte Schreibpaneele bieten anpassbare Formularfelder (Texteingaben, Kontrollkästchen usw.) innerhalb des Post -Editors, der mit benutzerdefinierten Feldern verknüpft ist. Während das Standardpanel für benutzerdefiniertes Feld verfügbar ist, kann es für umfangreiche Dateneingabe umständlich sein. Benutzerdefinierte Schreibpaneele bieten eine optimierte, optisch ansprechende Alternative.
veranschaulichen wir mit einem "Bücher" benutzerdefinierten Beitragstyp. Über den Standardtitel und den Standardinhalt hinaus fügen wir "Autor" und "ISBN" -Felder hinzu. Fügen Sie in Ihrem Thema functions.php
diesen Code hinzu, um den benutzerdefinierten Beitragstyp zu registrieren:
add_action( 'init', 'create_book_type' ); function create_book_type() { register_post_type( 'books', array( 'labels' => array( 'name' => __( 'Books' ), 'singular_name' => __( 'Book' ) ), 'public' => true, ) ); }
Dies registriert den Post -Typ "Bücher". Fügen Sie als nächstes functions.php
Folgendes hinzu, um das benutzerdefinierte Schreibfeld zu erstellen:
// Define paths (adjust as needed) define( 'MY_WORDPRESS_FOLDER', $_SERVER['DOCUMENT_ROOT'] ); define( 'MY_THEME_FOLDER', str_replace("\",'/',dirname(__FILE__)) ); define( 'MY_THEME_PATH', '/' . substr( MY_THEME_FOLDER, stripos(MY_THEME_FOLDER,'wp-content') ) ); add_action('admin_init','book_meta_init'); function book_meta_init() { wp_enqueue_style( 'my_meta_css', MY_THEME_PATH . '/custom/book_panel.css' ); add_meta_box( 'book_meta', 'Book Information', 'book_meta', 'books', 'advanced', 'high' ); } function book_meta() { global $post; $author = get_post_meta($post->ID,'author',TRUE); $isbn = get_post_meta($post->ID,'isbn',TRUE); include(MY_THEME_FOLDER . '/custom/book_information.php'); wp_nonce_field( __FILE__, 'my_meta_noncename' ); } function my_meta_save($post_id) { if (!wp_verify_nonce( $_POST['my_meta_noncename'], __FILE__ )) return $post_id; if (!current_user_can('edit_post', $post_id)) return $post_id; $accepted_fields['books'] = array( 'author', 'isbn' ); $post_type_id = $_POST['post_type']; foreach ($accepted_fields[$post_type_id] as $key) { $custom_field = $_POST[$key]; if (is_null($custom_field)) delete_post_meta($post_id, $key); elseif (isset($custom_field) && !is_null($custom_field)) update_post_meta($post_id,$key,$custom_field); } return $post_id; } add_action('save_post','my_meta_save');
Erstellen Sie ein custom
Verzeichnis in Ihrem Thema und add book_panel.css
(zum Styling) und book_information.php
(für das Panel HTML).
book_panel.css
:
.book_panel .description { display: none; } .book_panel label { display: block; font-weight: bold; margin: 6px; margin-bottom: 0; margin-top: 12px; } .book_panel label span { display: inline; font-weight: normal; } .book_panel span { color: #999; display: block; } .book_panel textarea, .book_panel input[type='text'] { margin-bottom: 3px; width: 100%; } .book_panel h4 { color: #999; font-size: 1em; margin: 15px 6px; text-transform:uppercase; }
book_information.php
:
<div class="book_panel"> <h4>Book Details</h4> <label for="author">Author <span>(Required)</span></label> <input type="text" name="author" id="author" value="<?php echo esc_attr( $author ); ?>" /><br/> <label for="isbn">ISBN <span>(Required)</span></label> <input type="text" name="isbn" id="isbn" value="<?php echo esc_attr( $isbn ); ?>" /> </div>
Verwenden Sie schließlich die benutzerdefinierten Felder in Ihrem Thema, get_post_meta()
in Ihrer Schleife:
$loop = new WP_Query( array( 'post_type' => 'books', 'posts_per_page' => 10 ) ); while ($loop->have_posts()) : $loop->the_post(); the_title(); the_content(); echo 'Author: ' . get_post_meta(get_the_ID(), "author", true); echo 'ISBN: ' . get_post_meta(get_the_ID(), "isbn", true); endwhile;
Dies vervollständigt das Setup. Denken Sie daran, die Pfade im Code an die Struktur Ihres Themas anzupassen. Für ein ausführlicheres WordPress-Wissen finden Sie unsere Veröffentlichung "Erstellen Sie Ihre eigenen bösen WordPress-Themen."
Das obige ist der detaillierte Inhalt vonLeitfaden für die benutzerdefinierten Schreibpaneele von WordPress. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!