gpt4 book ai didi

wordpress - comment_reply_link 不显示

转载 作者:行者123 更新时间:2023-12-05 08:34:51 24 4
gpt4 key购买 nike

我想创建我自己的评论模板,所以我运行了 foreach 结果是这样的:

<dl class="commentlist">
<?php foreach ($comments as $comment) : ?>
<dt><?php printf(__('%s'), get_comment_author_link()) ?> <em><?php echo human_time_diff( get_comment_time('U'), current_time('timestamp') ); ?> <?php echo get_locale() == 'pl_PL' ? 'temu' : 'ago'; ?></em></dt>
<dd>
<?php if ($comment->comment_approved == '0') : ?>
<em>Komentarz czeka na zatwierdzenie</em><br />
<?php endif; ?>

<?php comment_text(); ?>
<?php comment_reply_link( array ( 'reply_text' => 'Reply this comment' ) ); ?>
</dd>
<?php endforeach; ?>
</dl>

很好,但我无法使 comment_reply_link 正常工作。我尝试使用在 Wordpress Comment reply link does not appear 中找到的解决方案,但这对我不起作用。

comment_reply_link( array('reply_text' => 'Reply this comment'), comment_ID(), the_ID() );

给我一些数字(可能是评论的时间戳)。

我能做什么?

最佳答案

如果您使用的不是 wp_list_comments 而是例如 get_comments 然后像上面那样为每个运行一个,comment_reply_link 的问题> 如下:

在 wordpress comment-template.php 中,comment_reply_link 使用的 get_comment_reply_link$args['max_depth '] 因此下面的 if 语句:

function get_comment_reply_link($args = array(), $comment = null, $post = null) {

$defaults = array(
'add_below' => 'comment',
'respond_id' => 'respond',
'reply_text' => __('Reply'),
'login_text' => __('Log in to Reply'),
'depth' => 0,
'before' => '',
'after' => ''
);

$args = wp_parse_args($args, $defaults);

if ( 0 == $args['depth'] || $args['max_depth'] <= $args['depth'] )
return;

始终为真且函数过早退出。即使您设置了 'depth' => 1。因为 NULL 总是小于 0,1,etc..您不能为 comment_reply_link 编写自定义过滤器,因为稍后会在函数中调用 Hook 。

我发现不更改 comment-template.php 文件的唯一方法是在我的 comment.php 中执行以下操作:

$post_id = get_the_ID();
$comment_id =get_comment_ID();

//get the setting configured in the admin panel under settings discussions "Enable threaded (nested) comments levels deep"
$max_depth = get_option('thread_comments_depth');
//add max_depth to the array and give it the value from above and set the depth to 1
$default = array(
'add_below' => 'comment',
'respond_id' => 'respond',
'reply_text' => __('Reply'),
'login_text' => __('Log in to Reply'),
'depth' => 1,
'before' => '',
'after' => '',
'max_depth' => $max_depth
);
comment_reply_link($default,$comment_id,$post_id);

然后链接就会出现。

关于wordpress - comment_reply_link 不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18547040/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com