在wordpress留言板如何添加一個手機號的字段
[重要通告]如您遇疑難雜癥,本站支持知識付費業(yè)務,掃右邊二維碼加博主微信,可節(jié)省您寶貴時間哦!
wordpresss不管是制作個人博客,留言板都必不可少,然而就是一個詢盤的表單。對于詢盤信息最重要的就是客戶的聯(lián)系方式啦,wordpress默認是可以填寫郵箱的。如果不是外貿(mào)網(wǎng)站,手機號就是最重要的聯(lián)系方式。wordpress留言板中如何添加一個手機的字段。
wordpress中使用留言板功能只用一個函數(shù)?comment_form()?就可以搞定。 這函數(shù)默認會輸出含有五個字段?comment
?、author
、email
、url
、?cookies
的表單。comment作為填寫留言信息的字段,當然是必不可少的。其他的字段則可以進行訂制,或者增加新的字段。這里說下如何新增加一個手機號的字段。
wordprss中添加一個手機號的字段
worpdress提供了修改留言字段的一個鉤子,這里可以修改是這四個字段(author
、email
、url
、?cookies
);
做個小測試,把這段代碼放到主題文件中的 functions.php 中。找一個有留言的頁面看下效果
add_filter('comment_form_default_fields', function ($fields) { echo "<!-- "; var_dump($fields); echo "-->"; return $fields; });
修改一下代碼
add_filter('comment_form_default_fields', function ($fields) { $fields['tel'] = '<p class="comment-form-tel">' .'<label for="tel">聯(lián)系電話</label> ' .'<input id="tel" name="tel" type="text" value="' . esc_attr($commenter['comment_tel']) . '" size="30" />' .'</p>'; return $fields; });
前臺的顯示修改完成以后,就剩下兩個問題。
- 手機號如何保存
- 后臺如何顯示
手機號的保存
使用wordpress提供的?wp_postmeta
?表,通過?update_comment_meta
函數(shù)把數(shù)據(jù)寫入到這個數(shù)據(jù)表中。
add_action('wp_insert_comment', function ($comment_ID, $commmentdata) { $tel = isset($_POST['tel']) ? $_POST['tel'] : false; update_comment_meta($comment_ID, 'tel', $tel); }
手機號的后臺顯示
后臺的顯示,需要輸出兩個部分,第一個部分?表頭的字段
?, 第二?內(nèi)容
# 后來評論顯示電話的字段 add_filter('manage_edit-comments_columns', 'my_comments_columns'); function my_comments_columns($columns) { $columns['tel'] = __('聯(lián)系電話'); return $columns; } # 后臺評論顯示電話的內(nèi)容 add_action('manage_comments_custom_column', 'output_my_comments_columns', 10, 2); function output_my_comments_columns($column_name, $comment_id) { switch ($column_name) { case "tel" : echo get_comment_meta($comment_id, 'tel', true); break; } }
本文參閱與:https://www.liuhaolin.com/wordpress/73.html 三克油
PS延伸閱讀,有一種比較簡單的方式:
需要字段做一下修改,修改只有兩種,第一刪除,第二添加,修改的方法 (下面的代碼寫在模板文件中)
function my_fields($fields) {
// 添加一個字段
$fields['tel'] = '<p class="comment-form-tel">' . '<label for="qq">' . "聯(lián)系電話" . '</label> ' .
'<input id="tel" name="tel" type="text" value="' . esc_attr($commenter['comment_tel']) . '" size="30" /></p>';unset($fields['url']); // 刪除一個字段
//unset($fields['author']); // 刪除作者字段
//unset($fields['email']); // 刪除郵箱字段
return $fields;
}// 對留言板字段進行處理
add_filter('comment_form_default_fields', 'my_fields');// 輸出處理后的留言板
comment_form();
默認情況新增加的字段并不會自動保存,所有添加保存的代碼,代碼放到?functions.php
?中
add_action('wp_insert_comment', 'wp_insert_my_comment', 10, 2);
function wp_insert_my_comment($comment_ID, $commmentdata) {
$tel = isset($_POST['tel']) ? $_POST['tel'] : false;
update_comment_meta($comment_ID, 'tel', $tel);
}
這段代碼就保存了評論中的?tel
字段;
wrdpress 定制化留言板(后臺顯示)
對于自己添加的字段,默認是后臺是不會顯示的。所以添加一下代碼到?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'] = __('聯(lián)系電話');
$columns['email'] = __('電子郵箱');
return $columns;
}# 添加字段的顯示內(nèi)容
function output_my_comments_columns($column_name, $comment_id) {
// die();
switch ($column_name) {
case "tel" :
echo get_comment_meta($comment_id, 'tel', true);
break;
case "email":
echo get_comment_author_email();
}
}
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!