Rumah >Tutorial CMS >WordTekan >Jenis Pos Khas WordPress - Notis dan Taksonomi
kami juga melihat cara menyesuaikan pelbagai label UI jenis post tersuai untuk menjadikannya berbeza dari jenis
posdan halaman jenis pos. Walau bagaimanapun, kami tidak meliputi cara menyesuaikan notis admin yang dihasilkan oleh mereka. Dalam tutorial ini, saya akan meliputi cara menyesuaikan notis ini dan juga bagaimana untuk mendaftarkan taksonomi baru ke jenis pos tersuai.
Menyesuaikan Notis Admin CPT
Secara lalai, notis admin yang dipaparkan semasa bekerja pada siaran tersuai menganggap anda berurusan dengan jenis pos pos dan oleh itu, apabila contohnya jenis pos buku dikemas kini, notis berikut dipaparkan: Post dikemas kini. Lihat post.
anda boleh menukar teks mesej ini dengan mudah dengan menggunakan cangkuk post_updated_messages seperti SO:
Kod Penjelasan: Kod di atas menyesuaikan notis admin yang dihasilkan oleh jenis post jenis buku.
add_filter( 'post_updated_messages', 'book_cpt_messages' ); /** * Book CPT updates messages. * * @param array $messages Existing post update messages. * * @return array Amended book CPT notices */ function book_cpt_messages( $messages ) { $post = get_post(); $post_type = get_post_type( $post ); $post_type_object = get_post_type_object( $post_type ); $messages['book'] = array( 0 => '', // Unused. Messages start at index 1. 1 => __( 'Book updated.', 'textdomain' ), 2 => __( 'Custom field updated.', 'textdomain' ), 3 => __( 'Custom field deleted.', 'textdomain' ), 4 => __( 'Book updated.', 'textdomain' ), 5 => isset( $_GET['revision'] ) ? sprintf( __( 'Book restored to revision from %s', 'textdomain' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, 6 => __( 'Book published.', 'textdomain' ), 7 => __( 'Book saved.', 'textdomain' ), 8 => __( 'Book submitted.', 'textdomain' ), 9 => sprintf( __( 'Book scheduled for: <strong>%1$s</strong>.', 'textdomain' ), date_i18n( __( 'M j, Y @ G:i', 'textdomain' ), strtotime( $post->post_date ) ) ), 10 => __( 'Book draft updated.', 'textdomain' ) ); if ( $post_type_object->publicly_queryable ) { $permalink = get_permalink( $post->ID ); $view_link = sprintf( ' <a href="%s">%s</a>', esc_url( $permalink ), __( 'View book', 'textdomain' ) ); $messages[ $post_type ][1] .= $view_link; $messages[ $post_type ][6] .= $view_link; $messages[ $post_type ][9] .= $view_link; $preview_permalink = add_query_arg( 'preview', 'true', $permalink ); $preview_link = sprintf( ' <a target="_blank" href="%s">%s</a>', esc_url( $preview_permalink ), __( 'Preview book', 'textdomain' ) ); $messages[ $post_type ][8] .= $preview_link; $messages[ $post_type ][10] .= $preview_link; } return $messages; }
Mesej $ Multi-dimensi Array mengawal notis admin yang dipaparkan oleh mana-mana jenis pos.
Untuk menyesuaikan mesej jenis post jenis post, buat array indeks yang mengandungi pelbagai mesej sebagai nilai $ mesej ['buku'].
Pernyataan IF memeriksa jika jenis post tersuai boleh diminta secara terbuka. Iaitu, sama ada hujah awam ditetapkan untuk benar semasa mendaftarkan jenis pos tersuai.
Jika benar, pautan untuk melihat jawatan yang dimiliki oleh CPT ditambahkan ke notis admin yang dipaparkan apabila dikemas kini, diterbitkan atau dijadualkan untuk diterbitkan sementara pautan ke pratonton siaran ditambah apabila diserahkan untuk semakan atau a Draf dikemas kini.
Taxonomies Custom
Contoh -contoh taksonomi termasuk kategori untuk mengumpulkan jawatan yang berkaitan dengan kategori dan tag tertentu yang hampir sama dengan kategori tetapi lebih banyak bentuk percuma. Maklumat lanjut mengenai taksonomi boleh didapati di Codex WordPress.
Bahawa dikatakan, kita akan meliputi cara membuat taksonomi tersuai. Marilah kita mengambil contoh membuat jenis pos buku, mengkategorikan entri buku menggunakan kategori yang sama yang digunakan untuk jawatan blog tidak sesuai.
Contoh kehidupan sebenar adalah plugin muat turun digital yang mudah yang menggunakan jenis post muat turun untuk entri produk digital dengan taksonomi muat turun_category untuk pengkategorian produk.
3Jika anda mempunyai jenis buku post tersuai buku, anda harus melihat taksonomi kategori yang ditambahkan ke menu admin dan menyiarkan skrin edit.
add_filter( 'post_updated_messages', 'book_cpt_messages' ); /** * Book CPT updates messages. * * @param array $messages Existing post update messages. * * @return array Amended book CPT notices */ function book_cpt_messages( $messages ) { $post = get_post(); $post_type = get_post_type( $post ); $post_type_object = get_post_type_object( $post_type ); $messages['book'] = array( 0 => '', // Unused. Messages start at index 1. 1 => __( 'Book updated.', 'textdomain' ), 2 => __( 'Custom field updated.', 'textdomain' ), 3 => __( 'Custom field deleted.', 'textdomain' ), 4 => __( 'Book updated.', 'textdomain' ), 5 => isset( $_GET['revision'] ) ? sprintf( __( 'Book restored to revision from %s', 'textdomain' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, 6 => __( 'Book published.', 'textdomain' ), 7 => __( 'Book saved.', 'textdomain' ), 8 => __( 'Book submitted.', 'textdomain' ), 9 => sprintf( __( 'Book scheduled for: <strong>%1$s</strong>.', 'textdomain' ), date_i18n( __( 'M j, Y @ G:i', 'textdomain' ), strtotime( $post->post_date ) ) ), 10 => __( 'Book draft updated.', 'textdomain' ) ); if ( $post_type_object->publicly_queryable ) { $permalink = get_permalink( $post->ID ); $view_link = sprintf( ' <a href="%s">%s</a>', esc_url( $permalink ), __( 'View book', 'textdomain' ) ); $messages[ $post_type ][1] .= $view_link; $messages[ $post_type ][6] .= $view_link; $messages[ $post_type ][9] .= $view_link; $preview_permalink = add_query_arg( 'preview', 'true', $permalink ); $preview_link = sprintf( ' <a target="_blank" href="%s">%s</a>', esc_url( $preview_permalink ), __( 'Preview book', 'textdomain' ) ); $messages[ $post_type ][8] .= $preview_link; $messages[ $post_type ][10] .= $preview_link; } return $messages; }
Saya tidak akan menerangkan hujah -hujah kerana mereka hampir sama dengan register_post_type (). Senarai hujah dan penerangan boleh didapati di sini.
Kesimpulan
Adakah anda mempunyai soalan atau sumbangan? Sila gunakan komen untuk memberitahu kami.
soalan yang sering ditanya mengenai jenis post, notis, dan taksonomi WordPress Custom
Apakah taksonomi WordPress dan bagaimana mereka berfungsi? Jenis Pos tersuai) bersama -sama. Mereka datang dalam dua bentuk: kategori dan tag. Kategori adalah hierarki dan boleh mempunyai kategori kanak -kanak, manakala tag tidak hierarki. Anda boleh membuat taksonomi tersuai menggunakan fungsi register_taxonomy ().
Untuk memaparkan notis jenis pos tersuai, anda boleh menggunakan cangkuk penapis 'post_updated_messages'. Cangkuk ini membolehkan anda menyesuaikan mesej kemas kini untuk mana -mana jenis pos. Anda boleh menambah fungsi ke fail functions.php anda yang memeriksa jenis pos dan kemudian menetapkan mesej yang sesuai. Taksonomi tersuai dengan fungsi register_taxonomy (), anda boleh menentukan jenis pos yang taksonomi ini harus dikaitkan dengan. Ini dilakukan dengan lulus pelbagai nama jenis pos sebagai parameter kedua ke fungsi. Untuk menyesuaikan mesej yang dipaparkan apabila siaran dikemas kini. Ini boleh menjadi sangat berguna untuk jenis pos tersuai, di mana anda mungkin ingin memaparkan mesej yang berbeza daripada lalai. 'Fungsi dalam WordPress digunakan untuk mengambil jenis pos pos semasa atau jawatan tertentu. Ia mengembalikan rentetan pada kejayaan dan palsu atas kegagalan. Fungsi ini boleh berguna apabila anda perlu melakukan tindakan berdasarkan jenis pos. Jenis Pos tersuai dalam WordPress dengan menggunakan fungsi 'add_meta_box'. Fungsi ini membolehkan anda menambah kotak meta baru ke skrin penyuntingan pos, di mana anda boleh memasukkan maklumat tambahan untuk siaran. > Untuk memaparkan jenis pos tersuai di halaman depan laman web anda, anda boleh mengubah suai pertanyaan utama yang digunakan WordPress untuk memaparkan siaran. Ini boleh dilakukan dengan menggunakan cangkuk tindakan 'pre_get_posts' dan menetapkan parameter 'post_type' kepada nama jenis pos tersuai anda. >
Apabila mendaftarkan taksonomi tersuai dengan fungsi register_taxonomy (), anda boleh menentukan jenis pos yang taksonomi ini harus dikaitkan dengan. Ini dilakukan dengan meluluskan pelbagai nama jenis pos sebagai parameter kedua ke fungsi. Dalam WordPress dicetuskan apabila jawatan atau halaman dibuat atau dikemas kini. Ia boleh digunakan untuk melakukan tindakan seperti menyimpan data meta pos, menghantar pemberitahuan, atau tugas lain yang sepatutnya berlaku selepas jawatan disimpan.Atas ialah kandungan terperinci Jenis Pos Khas WordPress - Notis dan Taksonomi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!