/**
創新互聯公司服務項目包括蒼溪網站建設、蒼溪網站制作、蒼溪網頁制作以及蒼溪網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,蒼溪網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到蒼溪省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!
*?WordPress?添加額外選項字段到常規設置頁面
*/
$new_general_setting?=?new?new_general_setting();
class?new_general_setting?{
function?new_general_setting(?)?{
add_filter(?'admin_init'?,?array(?$this?,?'register_fields'?)?);
}
function?register_fields()?{
register_setting(?'general',?'favorite_color',?'esc_attr'?); add_settings_field('fav_color',?'label?for="favorite_color"'.__('最喜歡的顏色'?).'/label'?,?array($this,?'fields_html')?,?'general'?); }
function?fields_html()?{
$value?=?get_option(?'favorite_color',?''?); echo?'input?type="text"?id="favorite_color"?name="favorite_color"?value="'?.?$value?.?'"?/'; }
}
把A表指定的x字段數據更新到B表的y字段”的話,我猜你沒弄清楚wp_posts表和wp_postmeta表是一對多的關系,你看下這個SQL語句是否可以?
UPDATE wp_posts p, wp_postmeta pm SET pm.meta_value = p.post_title WHERE pm.post_id = p.ID AND pm.meta_key = "title";
這里最后 pm.meta_key = "title" 的 title 是 meta_value 對應的 meta_key 的值。
自定義域的值都是寫入 post_meta 的,你寫入 posts 與 wordpress 的開發理念違背
能實現功能就行,不明白你為什么搞這么復雜
1、 在comments.php評論表單中添加自己想要的字段,如:
p
input type="text" name="tel" id="tel" size="22" tabindex="4" /
label for="tel"電話/label
/p
tabindex 這個屬性按照從小到大排,為什么要這樣?你可以自己試試….
2、如果評論表單是使用系統自帶的,那么請用以下方法添加表單字段,如果不是,請略過
add_filter('comment_form_default_fields','comment_form_add_ewai');
function comment_form_add_ewai($fields) {
$label1 = __( '國家/地區' );
$label2 = __( 'Skype賬號' );
$label3 = __( '電話' );
$label4 = __( '傳真' );
$label5 = __( '地址' );
$value1 = isset($_POST['guojia']) ? $_POST['guojia'] : false;
$value2 = isset($_POST['skype']) ? $_POST['skype'] : false;
$value3 = isset($_POST['tel']) ? $_POST['tel'] : false;
$value4 = isset($_POST['fax']) ? $_POST['fax'] : false;
$value5 = isset($_POST['address']) ? $_POST['address'] : false;
$fields['guojia'] =HTML
p
label for="guojia"{$label1}/label
input id="guojia" name="guojia" type="text" value="{$value1}" size="30" /
/p
HTML;
return $fields;
}
3、 接收表單字段并寫入數據庫
在主題目錄的 functions.php添加以下代碼
add_action('wp_insert_comment','wp_insert_tel',10,2);
function wp_insert_tel($comment_ID,$commmentdata) {
$tel = isset($_POST['tel']) ? $_POST['tel'] : false;
//_tel 是存儲在數據庫里的字段名字,取出數據的就會用到
update_comment_meta($comment_ID,'_tel',$tel);
}
這兩步就可以將數據寫入數據庫了,不信你試試看
add_action()參數中的10和2分別表示該函數執行的優先級是10(默認值,值越小優先級越高),該函數接受2個參數。
4、在后臺顯示額外字段
前面兩步只是接收和寫入到數據庫,那么要怎么在后臺評論列表中顯示呢?將以下代碼復制到主題目錄的functions.php 中:
add_filter( 'manage_edit-comments_columns', 'my_comments_columns' );
add_action( 'manage_comments_custom_column', 'output_my_comments_columns', 10, 2 );
function my_comments_columns( $columns ){
$columns[ '_tel' ] = __( '電話' ); //電話是代表列的名字
return $columns;
}
function output_my_comments_columns( $column_name, $comment_id ){
switch( $column_name ) {
case "_tel" :
echo get_comment_meta( $comment_id, '_tel', true );
break;
}
如果要在前臺的留言列表中調用,就用以下代碼,_tel就是你在數據庫中存儲的字段名字
?php
$tel = get_comment_meta($comment-comment_ID,'_tel',true);
if( !empty($tel)){
echo "電話".$tel;
}
?
5、 大功告成,看看后臺的評論列表,是不是多了一列電話,那樣的話就沒錯了。
6、如果要移除某一個自帶的表單字段,可以使用以下代碼
function tel_filtered($fields){
if(isset($fields['tel']))
unset($fields['tel']);
return $fields;
}
add_filter('comment_form_default_fields', 'tel')
當前題目:wordpress建字段 wordpress文章編輯器
文章出自:http://m.newbst.com/article22/doghccc.html
成都網站建設公司_創新互聯,為您提供品牌網站建設、品牌網站設計、網站策劃、域名注冊、網站排名、品牌網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯