如何通过存储在wp_commentdata中的meta_value过滤Wordpress中的注释?

时间:2011-11-07 03:14:11

标签: wordpress

我能够通过评论表单中的自定义字段在表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函数无法做到这一点。

有人可以建议我怎么办?提前谢谢!

1 个答案:

答案 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);
?>