【发布时间】:2017-11-09 07:29:10
【问题描述】:
在 wordpress 中,我有一个带有一些标签的帖子。用户应该能够通过在评论中编写带有井号标签的标签来为帖子添加标签,例如“这是添加#orange 的评论”应添加标记橙色。
这是我的代码:
function add_tag_from_comment( $comment_ID ) {
$comment = get_comment($comment_ID);
$search_text = strip_tags( str_replace( array( "\n", "\r"), $comment->comment_content));
preg_match_all('/#([\d\w-_]+)[\b|]{0,3}/', $search_text, $matches, PREG_PATTERN_ORDER);
foreach($matches[1] as $match) {
wp_set_post_tags( $comment->comment_post_ID, $match, true );
}
}
add_action( 'comment_post', 'add_tag_from_comment', 10, 2 );
如果我将$comment->comment_content 替换为“这是添加#oranges 的评论”之类的文本,那么它可以工作。但是当我写实际评论时它不起作用,我不知道原因。有人可以帮帮我吗?
【问题讨论】:
-
检查 $comment (
echo $comment) 的内容,可能是数据以某种方式被斜切或编码,正则表达式无法捕获内容中的主题标签。跨度> -
感谢您的提示。不幸的是,我无法访问日志文件或控制台。有没有其他方法可以调试和显示评论内容?
标签: php wordpress comments taxonomy