Rumah > Tutorial CMS > WordTekan > Panduan untuk Panel Tulis Khusus WordPress ' s

Panduan untuk Panel Tulis Khusus WordPress ' s

Jennifer Aniston
Lepaskan: 2025-02-21 08:55:09
asal
1000 orang telah melayarinya

WordPress 3.0 mengantar kemas kini yang ketara, termasuk integrasi WordPress MU (membolehkan pengurusan berbilang tapak) dan pengenalan jenis pos tersuai. Ciri yang sangat berguna yang dipertingkatkan oleh jenis pos tersuai adalah panel tulis tersuai.

Guide to Wordpress's Custom Write Panels

Panel tulis tersuai menyediakan medan borang yang disesuaikan (input teks, kotak semak, dan lain -lain) dalam editor pos, yang dikaitkan dengan medan tersuai. Walaupun panel medan adat lalai tersedia, ia boleh menjadi rumit untuk kemasukan data yang luas. Panel tulis tersuai menawarkan alternatif yang diperkemas secara visual.

mari kita menggambarkan dengan jenis pos "buku". Di luar tajuk dan kandungan standard, kami akan menambah bidang "Pengarang" dan "ISBN". Dalam tema anda

, tambahkan kod ini untuk mendaftarkan jenis pos tersuai: functions.php

add_action( 'init', 'create_book_type' );
function create_book_type() {
  register_post_type( 'books', array(
    'labels' => array(
      'name' => __( 'Books' ),
      'singular_name' => __( 'Book' )
    ),
    'public' => true,
  ) );
}
Salin selepas log masuk
ini mendaftarkan jenis "buku". Seterusnya, tambahkan yang berikut ke

untuk membuat panel tulis tersuai: functions.php

3
// 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');
Salin selepas log masuk

: custom book_panel.css book_information.php

:

book_panel.css

Akhirnya, untuk memaparkan medan tersuai dalam tema anda, gunakan
.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; }
Salin selepas log masuk
dalam gelung anda:

book_information.php

Ini melengkapkan persediaan. Ingatlah untuk menyesuaikan laluan dalam kod untuk memadankan struktur tema anda. Untuk pengetahuan WordPress yang lebih mendalam, pertimbangkan penerbitan kami, "Bina tema WordPress anda sendiri."
<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>
Salin selepas log masuk

Atas ialah kandungan terperinci Panduan untuk Panel Tulis Khusus WordPress ' s. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan