在边栏中也显示微笑吗?

时间:2011-10-01 作者:japanworm

我想在我的侧边栏中生成笑脸(其中显示最近的帖子、评论等),而不是仅显示为文本。

我一直在Wordpress Codex、Google和这里搜索,但找不到任何答案。

这有可能吗?

对于我在侧边栏中显示的最近的评论,我该怎么做?

<?php   $comments = get_comments(\'status=approve&number=5\'); ?>
<?php foreach ($comments as $comment) { ?>
<li><p><strong><?php
        $title = get_the_title($comment->comment_post_ID);
        echo get_avatar( $comment, \'45\' );
echo strip_tags($comment->comment_author); ?></strong>&nbsp;commented on <a href="<?php echo get_permalink($comment->comment_post_ID); ?>#comment-<?php echo $comment->comment_ID; ?>" rel="external nofollow" title="<?php echo $title; ?>"> <?php echo $title; ?></a>: <?php echo wp_html_excerpt( $comment->comment_content, 45 ); ?> (...)</p></li>
<?php }  ?>
提前谢谢。

1 个回复
最合适的回答,由SO网友:chrisguitarguy 整理而成

WordPress使用适当命名的函数将文本表情符号转换为其等效图像convert_smilies.

要让笑脸出现在文本小部件中,您需要运行小部件文本convert_smilies 作用您可以通过添加过滤器来完成此操作:

<?php
add_filter( \'widget_text\', \'convert_smilies\' );
当然,您可能想在小部件标题中添加笑脸:

<?php
add_filter( \'widget_title\', \'convert_smilies\' );
如果你想在最近的帖子中显示笑脸,那就有点棘手了。例如,最近发布的小部件使用如下函数get_the_title 这样可以检索帖子的元素。

因此,您可以在帖子标题中添加笑脸:

<?php
add_filter( \'the_title\', \'convert_smilies\' );
但这不允许你有条件地确保笑脸只出现在侧边栏的帖子标题中。

如果您正在使用第三方插件来制作小部件,那么您必须亲自查看它们的代码,看看是否有任何可以挂接的过滤器。

EDIT:

在您的情况下,您可能只需要更改以下代码:

<?php echo wp_html_excerpt( $comment->comment_content, 45 ); ?>

<?php echo wp_html_excerpt( convert_smilies( $comment->comment_content ), 45 ); ?>

结束