网站建设资讯

NEWS

网站建设资讯

wordpress字段组 wordpress custom field

如何向WordPress评论表单添加字段

1、 在comments.php评论表单中添加自己想要的字段,如:

成都创新互联成立十多年来,这条路我们正越走越好,积累了技术与客户资源,形成了良好的口碑。为客户提供做网站、成都做网站、网站策划、网页设计、域名申请、网络营销、VI设计、网站改版、漏洞修补等服务。网站是否美观、功能强大、用户体验好、性价比高、打开快等等,这些对于网站建设都非常重要,成都创新互联通过对建站技术性的掌握、对创意设计的研究为客户提供一站式互联网解决方案,携手广大客户,共同发展进步。

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一个自定义字段支持多个值的,比如你的字段名为:URL,值可以为url1,url2,url3,所以建议你不要把url1,url2,url3作为一个值写入URL字段(这样不方便维护),而是分别写入,前台显示时使用 get_post_meta($post_id, $key, false) ,第三个参数为 false 这样出来的就是数组了,要按你的要求显示出来,php代码如:

把URL换成你的字段名.

?php $urls=get_post_meta($post-ID, 'URL', false);

foreach($urls as $url){

echo "a href=".$url." target='blank'".$url."/a";

}

?

如何在wordpress中添加自定义字段

把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 的值。

wordpress自定义字段 ,也叫自定义栏目 或者 域添加链接

我个人猜测,你是想引用别人的文章,如 “xxx博客, 原文链接",是不?

你可以尝试下,使用links作为自定义字段,右侧填写值时候,”xxx博客,链接”,这中间使用逗号区分,在你传值通过逗号筛选,分出两个不同的值,即“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博客 和 原文链接。

以上个人想法,就只需要输一个自定义段了,不知有无用。

呵呵


本文名称:wordpress字段组 wordpress custom field
网页网址:http://cdweb.net/article/dopcjdp.html