我能够通过评论表单中的自定义字段在表wp_commentmeta的Wordpress数据库中输入这些数据:
meta_id | comment_id | meta_key | meta_value
--------------------------------------------------
9 | 6 | commentoptions | option1
10 | 7 | commentoptions | option2
现在我正在尝试根据meta_value值找到一种过滤注释的方法,这些注释用于在单个页面上的2列中显示它们,一列向左,一列向右。我的意思是:第一条评论必须在te左侧的列中,下一条评论必须转到右侧的列。
起初,我认为“我很幸运,只需要创建两个div,用CSS定位它们,并使用wp_list_comments函数过滤注释”但是...... wp_list_comments函数无法做到这一点。
有人可以建议我怎么办?提前谢谢!
答案 0 :(得分:0)
假设这些元值通过wordpress API进入数据库,下面的代码将帮助您为特定注释 post 拉取元值。
修订答案:
<?php
$comment_id = 123;
$key = "commentoptions"; // change to whatever key you are using
$single = true; // whether or not you want just one or multiple values returned associated with the same key, see comments below about use
$meta_values = get_comment_meta($comment_id, $key, $single);
?>
原始答案(适用于发布元字段)
<?php
$post_id = 123;
$key = "commentoptions"; // change to whatever key you are using
$single = true; // whether or not you want just one or multiple values returned associated with the same key, see comments below about use
$meta_values = get_post_meta($post_id, $key, $single);
?>
您也可以使用如下所示的get_post_custom_values(),如果您希望每个键都有多个值,这是一种更好的方法。如果使用$ single = false,上面的代码也会这样做,但由于get_post_meta()函数的工作原理,它不是首选的 - 如果只返回一个值,它会给你实际的字符串值,否则返回一个价值数组。如果您有一个或多个键值,则下面的方法将返回一个数组,这样可以使代码更清晰,更直观。
<?php
$post_id = 123;
$key = "commentoptions";
$meta_values = get_post_custom_values($key, $post_id);
?>