Bagaimana untuk menambah panel medan tersuai dalam WordPress? Artikel berikut akan memperkenalkan kepada anda cara menambah panel medan tersuai dalam WordPress Saya harap ia akan membantu anda!
Apabila kami menulis artikel dalam WordPress, kami sering menggunakan beberapa medan tersuai, seperti dua teg meta penerangan halaman web dan kata kunci Mengenai kedua-dua teg ini, anda boleh membaca artikel yang saya tulis sebelum ini: WordPress menetapkan Perihalan dan Kata Kunci bebas
Biasanya apabila menambah medan tersuai dan nilainya, kami melakukannya secara manual Nampaknya agak menyusahkan untuk memilih medan yang sepadan dalam kotak lungsur turun modul "Medan Tersuai", kemudian masukkan nilainya, dan akhirnya serahkan dan tunggu untuk tempoh masa yang singkat. Jadi adakah mungkin untuk membuat panel berasingan untuk medan tersuai yang biasa digunakan ini dan hanya mengisi kandungan secara terus? Sama seperti teg artikel, anda boleh menambah teg terus tanpa menyerahkannya secara berasingan. Jawapannya ya, inilah renderingnya:
Saya akan mengajar anda cara mengendalikannya di bawah. Letakkan semua kod berikut ke dalam functions.php daripada tema semasa.
Di sini kami akan menambah dua medan tersuai, masing-masing dinamakan _description_value dan _keywords_value menambah berbilang elemen untuk mencapai tujuan menambah berbilang medan tersuai.
Elemen pertama tatasusunan, nama, ialah nama medan tersuai Dalam kod ini, nama medan tersuai ialah nilai nama tambah _nilai untuk mengelakkan konflik dengan kod lain, seperti _description_value; std ialah kendiri Tentukan nilai lalai medan Apabila anda menerbitkan artikel dan tiada nilai diisi dalam medan tersuai, nilai lalai akan digunakan ialah tajuk modul medan tersuai, seperti "Abstrak", ". Kategori" dan "Teg" pada halaman penyuntingan artikel ", ini adalah nama modul.
$new_meta_boxes =array( "description" => array( "name" => "_description", "std" => "这里填默认的网页描述", "title" => "网页描述:"), "keywords" => array( "name" => "_keywords", "std" => "这里填默认的网页关键字", "title" => "关键字:"));
Kod berikut akan digunakan untuk mencipta medan tersuai dan kotak input, seperti yang ditulis Itu sahaja
function new_meta_boxes() { global $post, $new_meta_boxes; foreach($new_meta_boxes as $meta_box) { $meta_box_value = get_post_meta($post->ID, $meta_box['name'].'_value', true); if($meta_box_value == "") $meta_box_value = $meta_box['std']; // 自定义字段标题 echo'<h3>'.$meta_box['title'].'</h3>'; // 自定义字段输入框 echo '<textarea cols="60" rows="3" name="'.$meta_box['name'].'_value">'.$meta_box_value.'</textarea><br />'; } echo '<input type="hidden" name="ludou_metaboxes_nonce" id="ludou_metaboxes_nonce" value="'.wp_create_nonce( plugin_basename(__FILE__) ).'" />';}
Kod berikut akan menambah modul medan tersuai pada artikel. halaman penyuntingan Ini Ini menggunakan fungsi modul tambah WordPress add_meta_box. Ini betul-betul bertentangan dengan apa yang dilakukan dalam artikel sebelumnya Memadam modul berkaitan daripada halaman penyuntingan artikel WordPress.
function create_meta_box() { if ( function_exists('add_meta_box') ) { add_meta_box( 'new-meta-boxes', '自定义模块', 'new_meta_boxes', 'post', 'normal', 'high' ); }}
Semua persiapan telah dilakukan sebelum ini, yang paling penting ialah menyimpan maklumat medan tersuai kami dalam.
function save_postdata( $post_id ) { global $new_meta_boxes; if ( !wp_verify_nonce( $_POST['ludou_metaboxes_nonce'], plugin_basename(__FILE__) )) return; if ( !current_user_can( 'edit_posts', $post_id )) return; foreach($new_meta_boxes as $meta_box) { $data = $_POST[$meta_box['name'].'_value']; if($data == "") delete_post_meta($post_id, $meta_box['name'].'_value', get_post_meta($post_id, $meta_box['name'].'_value', true)); else update_post_meta($post_id, $meta_box['name'].'_value', $data); }}
Ini adalah langkah terakhir dan langkah yang paling penting. Kami Apa yang perlu kami lakukan ialah menyambungkan fungsi kepada tindakan (tindakan) yang ditentukan untuk membenarkan program WordPress melaksanakan fungsi yang kami tulis sebelum ini:
add_action('admin_menu', 'create_meta_box'); add_action('save_post', 'save_postdata');
Okay, itu sahaja perlu lakukan , kini anda boleh memanggil dua medan tersuai ini dalam tema anda Gunakan editor teks untuk membuka header.php dalam direktori tema, dan salin kod berikut ke tag kata kunci telah ditakrifkan untuk operasi yang lebih khusus, sila gunakan enjin carian:
<?phpif (is_single()) { // 自定义字段名称为 description_value $description = get_post_meta($post->ID, "_description_value", true); // 自定义字段名称为 keywords_value $keywords = get_post_meta($post->ID, "_keywords_value", true); // 去除不必要的空格和HTML标签 $description = trim(strip_tags($description)); $keywords = trim(strip_tags($keywords)); echo '<meta name="description" content="'.$description.'" /> <meta name="keywords" content="'.$keywords.'" />'; } ?>
Pembelajaran yang disyorkan: "Tutorial WordPress"
Atas ialah kandungan terperinci Analisis ringkas tentang cara menambah panel medan tersuai dalam WordPress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!