久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      WordPress如何添加Meta Box

      下面由WordPress教程欄目給大家介紹WordPress添加Meta Box的方法,希望對需要的朋友有所幫助!

        WordPress添加Meta Box的方法,需要使用到add meta boxes Action,該Action允許我們?yōu)槿魏挝恼骂愋妥訫eta Box,在該Action中,我們需要使用add_meta_box()方法來添加Meta Box的相關(guān)信息。

      代碼如下

      function add_rating_meta_box($post_type, $post) {        // 需要哪些post type添加推薦指數(shù) Meta Box        $types = array( 'post', 'page' );         foreach ( $types as $type ) {            add_meta_box(                'rating_meta_box_id', // Meta Box在前臺頁面中的id,可通過JS獲取到該Meta Box                '推薦指數(shù)', // 顯示的標(biāo)題                'render_rating_meta_box', // 回調(diào)方法,用于輸出Meta Box的HTML代碼                $type, // 在哪個post type頁面添加                'side', // 在哪顯示該Meta Box                'default' // 優(yōu)先級            );        }    }    add_action( 'add_meta_boxes', 'add_rating_meta_box' );

        這里我們在$types數(shù)組中定義了Post和Page都需要推薦指數(shù)這個自定義字段,然后告訴WordPress使用“render_rating_meta_box”方法來渲染Meta Box,位置在側(cè)邊欄(side)。因為內(nèi)容不多,所以側(cè)邊欄足夠,若內(nèi)容較多,可以將“side”改為“advanced”,這樣就會在主內(nèi)容區(qū)域渲染Meta Box。

        接下來看看是如何渲染的

      function render_rating_meta_box( $post ) {        // 添加 nonce 項用于后續(xù)的安全檢查        wp_nonce_field( 'rating_nonce_action', 'rating_nonce_name' );         // 獲取推薦指數(shù)的值        $rating_key = 'rating';        $rating_value = get_post_meta( $post->ID, $rating_key, true );        $rating_value = (int)$rating_value;         $html = '<select name="rating_field">';        for ($i = 0; $i <= 10; $i++) {            $selected = '';            if ($i == $rating_value) {                $selected = 'selected="selected"';            }            $html .= sprintf('<option value="%s" %s>%s星</option>', $i, $selected, $i/2);        }        $html .= '</select>';        echo $html;    }

        這里先使用wp_nonce_field()添加了一個nonce field,用來做安全檢查,然后,讀取推薦指數(shù)的值,循環(huán)1~10來輸出可供選擇的值,如果和推薦指數(shù)相同,則默認(rèn)選上。通過下拉框,既可以解決輸入不方便和無法驗證的問題。記住這里下拉框的name屬性的值(rating_field),將通過它在下面的代碼中獲取選擇的值。

        最后,當(dāng)文章被保存時,需要將推薦指數(shù)也保存起來

      function save_rating_post_data( $post_id ) {        // 檢查nonce是否設(shè)置        if (!isset($_POST['rating_nonce_name'])) {            return $post_id;        }        $nonce = $_POST['rating_nonce_name'];         // 驗證nonce是否正確        if (!wp_verify_nonce( $nonce, 'rating_nonce_action')) {            return $post_id;        }         // 如果是系統(tǒng)自動保存,則不操作        if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {            return $post_id;        }         // 檢查用戶權(quán)限        if ($_POST['post_type'] == 'post') {            if (!current_user_can('edit_post', $post_id )) {                return $post_id;            }        }         $rating_key = 'rating';        // 獲取數(shù)據(jù)        $rating_value = $_POST['rating_field'];         // 更新數(shù)據(jù)        update_post_meta( $post_id, $rating_key, $rating_value );    }    add_action( 'save_post', 'save_rating_post_data' );

        這里做了一系列檢查,包括對剛剛設(shè)置的nonce檢查,用戶權(quán)限的檢查,排除自動保存的情況。然后使用update_post_meta()方法將數(shù)據(jù)存入數(shù)據(jù)庫。

        至此,我們就完成了對推薦指數(shù)自定義字段的改裝,可以很方便的選擇文章的推薦指數(shù)。

        等等。。。

        細(xì)心的朋友可能發(fā)現(xiàn)了,在應(yīng)用了上面三段代碼后,的確可以實(shí)現(xiàn)功能。但是,在默認(rèn)的自定義欄目區(qū)域下,是可以看到,有一個名為“rating”的欄目,這就是我們剛剛選擇的推薦指數(shù)。如果想讓他不在自定義欄目下,顯示,可以將上述代碼中的$rating_key改為以下劃線開頭,這樣,WordPress就不會顯示出來了。注意有兩個地方要改。

      // 原來的代碼   $rating_key = 'rating';    // 改后的代碼   $rating_key = '_rating';

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號