1、 在comments.php評論表單中添加自己想要的字段,如:
成都創(chuàng)新互聯(lián)成立十多年來,這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供做網(wǎng)站、成都做網(wǎng)站、網(wǎng)站策劃、網(wǎng)頁設(shè)計(jì)、域名申請、網(wǎng)絡(luò)營銷、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。網(wǎng)站是否美觀、功能強(qiáng)大、用戶體驗(yàn)好、性價(jià)比高、打開快等等,這些對于網(wǎng)站建設(shè)都非常重要,成都創(chuàng)新互聯(lián)通過對建站技術(shù)性的掌握、對創(chuàng)意設(shè)計(jì)的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。
p
input type="text" name="tel" id="tel" size="22" tabindex="4" /
label for="tel"電話/label
/p
tabindex 這個(gè)屬性按照從小到大排,為什么要這樣?你可以自己試試….
2、如果評論表單是使用系統(tǒng)自帶的,那么請用以下方法添加表單字段,如果不是,請略過
add_filter('comment_form_default_fields','comment_form_add_ewai');
function comment_form_add_ewai($fields) {
$label1 = __( '國家/地區(qū)' );
$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、 接收表單字段并寫入數(shù)據(jù)庫
在主題目錄的 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 是存儲在數(shù)據(jù)庫里的字段名字,取出數(shù)據(jù)的就會用到
update_comment_meta($comment_ID,'_tel',$tel);
}
這兩步就可以將數(shù)據(jù)寫入數(shù)據(jù)庫了,不信你試試看
add_action()參數(shù)中的10和2分別表示該函數(shù)執(zhí)行的優(yōu)先級是10(默認(rèn)值,值越小優(yōu)先級越高),該函數(shù)接受2個(gè)參數(shù)。
4、在后臺顯示額外字段
前面兩步只是接收和寫入到數(shù)據(jù)庫,那么要怎么在后臺評論列表中顯示呢?將以下代碼復(fù)制到主題目錄的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;
}
如果要在前臺的留言列表中調(diào)用,就用以下代碼,_tel就是你在數(shù)據(jù)庫中存儲的字段名字
?php
$tel = get_comment_meta($comment-comment_ID,'_tel',true);
if( !empty($tel)){
echo "電話".$tel;
}
?
5、 大功告成,看看后臺的評論列表,是不是多了一列電話,那樣的話就沒錯(cuò)了。
6、如果要移除某一個(gè)自帶的表單字段,可以使用以下代碼
function tel_filtered($fields){
if(isset($fields['tel']))
unset($fields['tel']);
return $fields;
}
add_filter('comment_form_default_fields', 'tel')
wordpress一個(gè)自定義字段支持多個(gè)值的,比如你的字段名為:URL,值可以為url1,url2,url3,所以建議你不要把url1,url2,url3作為一個(gè)值寫入U(xiǎn)RL字段(這樣不方便維護(hù)),而是分別寫入,前臺顯示時(shí)使用 get_post_meta($post_id, $key, false) ,第三個(gè)參數(shù)為 false 這樣出來的就是數(shù)組了,要按你的要求顯示出來,php代碼如:
把URL換成你的字段名.
?php $urls=get_post_meta($post-ID, 'URL', false);
foreach($urls as $url){
echo "a href=".$url." target='blank'".$url."/a";
}
?
把A表指定的x字段數(shù)據(jù)更新到B表的y字段”的話,我猜你沒弄清楚wp_posts表和wp_postmeta表是一對多的關(guān)系,你看下這個(gè)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 對應(yīng)的 meta_key 的值。
我個(gè)人猜測,你是想引用別人的文章,如 “xxx博客, 原文鏈接",是不?
你可以嘗試下,使用links作為自定義字段,右側(cè)填寫值時(shí)候,”xxx博客,鏈接”,這中間使用逗號區(qū)分,在你傳值通過逗號篩選,分出兩個(gè)不同的值,即“xxx博客”和“文章鏈接”
$author_links = get_post_meta($post-ID,"links",true);
$author_links = preg_replace("`'`", "", $author_links);
$author_links = explode(",",$author_links);
然后得 $author_links[0] 和 $author_links[1] 的值,即xxx博客 和 原文鏈接。
以上個(gè)人想法,就只需要輸一個(gè)自定義段了,不知有無用。
呵呵
當(dāng)前名稱:wordpress字段組 wordpress custom field
文章分享:http://jinyejixie.com/article18/dopcjdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、虛擬主機(jī)、網(wǎng)站內(nèi)鏈、定制開發(fā)、靜態(tài)網(wǎng)站、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)