wordpress網(wǎng)站文章自定義字段可以按照自己需求進行數(shù)據(jù)的填寫。例網(wǎng)頁描述description和關(guān)鍵詞keywords這兩個meta標(biāo)簽。 通常在添加自定義字段和其值的時候,我們都是手動去"自定義字段"模塊下拉框中去選擇相應(yīng)的字段,然后再輸入其值,最后還要提交等待一小段時間,似乎有點麻煩。 那么可不可以給這些常用的自定義字段創(chuàng)建一個單獨的面板,直接在里面填內(nèi)容就可以了呢?就像文章標(biāo)簽,直接添加標(biāo)簽即可,不需要單獨提交。答案是可以的,下面是效果圖: 下面介紹一下如何制作這種文章自定義字段面板的方法。 第一步:添加兩個自定義字段,名稱分別為description_value和keywords_value,你可以給下面數(shù)組添加多個元素,實現(xiàn)添加多個自定義字段的目的。 - $new_meta_boxes =
- array(
- "description" => array(
- "name" => "description",
- "std" => "這里填默認的網(wǎng)頁描述",
- "title" => "網(wǎng)頁描述:"),
- "keywords" => array(
- "name" => "keywords",
- "std" => "這里填默認的網(wǎng)頁關(guān)鍵字",
- "title" => "關(guān)鍵字:")
- );
復(fù)制代碼第二步:創(chuàng)建自定義域以及輸入框; - 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'<input type="hidden" name="'.$meta_box['name'].'_noncename" id="'.$meta_box['name'].'_noncename" value="'.wp_create_nonce( plugin_basename(__FILE__) ).'" />';
- // 自定義字段標(biāo)題
- echo'<h4>'.$meta_box['title'].'</h4>';
- // 自定義字段輸入框
- echo '<textarea cols="60" rows="3" name="'.$meta_box['name'].'_value">'.$meta_box_value.'</textarea><br />';
- }
- }
復(fù)制代碼第三步:在文章編輯頁添加自定義字段模塊,這其中這用了WordPress的添加模塊函數(shù)add_meta_box。 - function create_meta_box() {
- global $theme_name;
- if ( function_exists('add_meta_box') ) {
- add_meta_box( 'new-meta-boxes', '自定義模塊', 'new_meta_boxes', 'post', 'normal', 'high' );
- }
- }
復(fù)制代碼第四步:保存文章數(shù)據(jù)。之前所有準(zhǔn)備都做好了,最重要的還是保存我們的自定義字段中的信息。 - function save_postdata( $post_id ) {
- global $post, $new_meta_boxes;
- foreach($new_meta_boxes as $meta_box) {
- if ( !wp_verify_nonce( $_POST[$meta_box['name'].'_noncename'], plugin_basename(__FILE__) )) {
- return $post_id;
- }
- if ( 'page' == $_POST['post_type'] ) {
- if ( !current_user_can( 'edit_page', $post_id ))
- return $post_id;
- }
- else {
- if ( !current_user_can( 'edit_post', $post_id ))
- return $post_id;
- }
- $data = $_POST[$meta_box['name'].'_value'];
- if(get_post_meta($post_id, $meta_box['name'].'_value') == "")
- add_post_meta($post_id, $meta_box['name'].'_value', $data, true);
- elseif($data != get_post_meta($post_id, $meta_box['name'].'_value', true))
- update_post_meta($post_id, $meta_box['name'].'_value', $data);
- elseif($data == "")
- delete_post_meta($post_id, $meta_box['name'].'_value', get_post_meta($post_id, $meta_box['name'].'_value', true));
- }
- }
復(fù)制代碼第五步:將函數(shù)連接到指定action(動作)。這是最后一步,也是最重要的一步,我們要做的是將函數(shù)連接到指定action(動作),以讓W(xué)ordPress程序執(zhí)行我們之前編寫的函數(shù): - add_action('admin_menu', 'create_meta_box');
- add_action('save_post', 'save_postdata');
復(fù)制代碼好了,經(jīng)過以上5步,就可以開發(fā)出自己的wordpress自定義字段填寫面板了。
道勤主機提供365天*24小時全年全天無休、實時在線、零等待的售后技術(shù)支持。竭力為您免費處理您在使用道勤主機過程中所遇到的一切問題!
如果您是道勤主機用戶,那么您可以通過QQ【792472177】、售后QQ【59133755】、旺旺【詮釋意念】、微信:q792472177免費電話、后臺提交工單這些方式聯(lián)系道勤主機客服!
如果您不是我們的客戶也沒問題,點擊頁面最右邊的企業(yè)QQ在線咨詢圖標(biāo)聯(lián)系我們并購買后,我們?yōu)槟赓M進行無縫搬家服務(wù),讓您享受網(wǎng)站零訪問延遲的遷移到道勤主機的服務(wù)! |