Rumah > Tutorial CMS > WordTekan > Analisis ringkas tentang cara menambah panel medan tersuai dalam WordPress

Analisis ringkas tentang cara menambah panel medan tersuai dalam WordPress

青灯夜游
Lepaskan: 2023-03-06 19:40:31
ke hadapan
1584 orang telah melayarinya

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!

Analisis ringkas tentang cara menambah panel medan tersuai dalam WordPress

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:

Analisis ringkas tentang cara menambah panel medan tersuai dalam WordPress

Saya akan mengajar anda cara mengendalikannya di bawah. Letakkan semua kod berikut ke dalam functions.php daripada tema semasa.

1. Cipta maklumat medan yang diperlukan

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" => "关键字:"));
Salin selepas log masuk

2. Cipta kotak input medan tersuai

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&#39;<h3>&#39;.$meta_box[&#39;title&#39;].&#39;</h3>&#39;;

    // 自定义字段输入框
    echo &#39;<textarea cols="60" rows="3" name="&#39;.$meta_box[&#39;name&#39;].&#39;_value">&#39;.$meta_box_value.&#39;</textarea><br />&#39;;
  }
   
  echo &#39;<input type="hidden" name="ludou_metaboxes_nonce" id="ludou_metaboxes_nonce" value="&#39;.wp_create_nonce( plugin_basename(__FILE__) ).&#39;" />&#39;;}
Salin selepas log masuk

3 Cipta modul medan tersuai

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(&#39;add_meta_box&#39;) ) {
    add_meta_box( &#39;new-meta-boxes&#39;, &#39;自定义模块&#39;, &#39;new_meta_boxes&#39;, &#39;post&#39;, &#39;normal&#39;, &#39;high&#39; );
  }}
Salin selepas log masuk

4. Simpan data artikel

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[&#39;ludou_metaboxes_nonce&#39;], plugin_basename(__FILE__) ))
    return;
   
  if ( !current_user_can( &#39;edit_posts&#39;, $post_id ))
    return;
               
  foreach($new_meta_boxes as $meta_box) {
    $data = $_POST[$meta_box[&#39;name&#39;].&#39;_value&#39;];

    if($data == "")
      delete_post_meta($post_id, $meta_box[&#39;name&#39;].&#39;_value&#39;, get_post_meta($post_id, $meta_box[&#39;name&#39;].&#39;_value&#39;, true));
    else
      update_post_meta($post_id, $meta_box[&#39;name&#39;].&#39;_value&#39;, $data);
   }}
Salin selepas log masuk

5. Sambungkan fungsi kepada tindakan (tindakan) yang ditentukan

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(&#39;admin_menu&#39;, &#39;create_meta_box&#39;);
add_action(&#39;save_post&#39;, &#39;save_postdata&#39;);
Salin selepas log masuk

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 &#39;<meta name="description" content="&#39;.$description.&#39;" />
<meta name="keywords" content="&#39;.$keywords.&#39;" />&#39;;
}
?>
Salin selepas log masuk

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!

Label berkaitan:
sumber:ludou.org
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
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan