本方法需要修改主题文件,适用于有点代码修改经验用户。不适合小白!!!
如小白需要修改,可打赏站长,备注需要帮忙修改及QQ号,博主视情况提供修改意见。
本教程基于splity主题修改,其他主题修改原理相同,但过程可能会有所不同,请勿照搬。

方法一

此方法修改后达到,未登录无法评论及查看所有评论。

效果:


方法

找到主题中的post.php文件
在文件中搜索 comments.php
<div class="card">
    <?php $this->need('comments.php'); ?>
</div>
该位置就是引用评论的位置,将其改为:
<?php if($this->user->hasLogin()):?>
<div class="card">
<?php $this->need('comments.php'); ?>
</div>
<?php else : ?>
<div class="card"  style="text-align:center">
<a href="<?php $this->options->adminUrl(); ?>"><h5>请登录后评论</h5></a>
</div>
<?php endif;?>
即可。

方法二

此方法修改后达到,未登录无法评论及但可以查看文章的所有评论内容。

效果:


方法

在主题文件 comments.php中找到如下代码
<h3 id="response" class="comment-reply-title"><?php _e('发表评论'); ?></h3>
        <form id="new_comment_form" method="post" action="<?php $this->commentUrl() ?>" _lpchecked="1">

        <div class="new_comment"><textarea name="text" rows="3" class="textarea_box" style="height: auto;" placeholder="人生在世,难免会写点错别字,没事儿~"></textarea>
        <?php $comments->smilies(); ?></div>

        <div class="comment_triggered" style="display: block;">
            <div class="input_body">
                <ul class="ident">
                    <li>
                        <input type="text" name="author" placeholder="昵称*" value="<?php $this->remember('author'); ?>">
                    </li>

                    <li>
                        <input type="mail" name="mail" placeholder="邮件*" value="<?php $this->remember('mail'); ?>">
                    </li>

                    <li>
                        <input type="text" name="url" placeholder="网址" value="<?php $this->remember('url'); ?>">
                    </li>
                </ul>
            <input type="submit" value="提交评论" class="comment_submit_button c_button">
            </div>
        </div>
        
        </form>
将其修改为
<h3 id="response" class="comment-reply-title"><?php _e('发表评论'); ?></h3>
        <?php if($this->user->hasLogin()):?>
        <form id="new_comment_form" method="post" action="<?php $this->commentUrl() ?>" _lpchecked="1">

        <div class="new_comment"><textarea name="text" rows="3" class="textarea_box" style="height: auto;" placeholder="人生在世,难免会写点错别字,没事儿~"></textarea>
        <?php $comments->smilies(); ?></div>

        <div class="comment_triggered" style="display: block;">
            <div class="input_body">
                <ul class="ident">
                    <li>
                        <input type="text" name="author" placeholder="昵称*" value="<?php $this->remember('author'); ?>">
                    </li>

                    <li>
                        <input type="mail" name="mail" placeholder="邮件*" value="<?php $this->remember('mail'); ?>">
                    </li>

                    <li>
                        <input type="text" name="url" placeholder="网址" value="<?php $this->remember('url'); ?>">
                    </li>
                </ul>
            <input type="submit" value="提交评论" class="comment_submit_button c_button">
            </div>
        </div>
        
        </form>
        <?php else : ?>
        <div class="card"  style="text-align:center">
            <a href="<?php $this->options->adminUrl(); ?>"><h5>请登录后评论</h5></a>
            </div>
        <?php endif;?>
即可。

原理

通过php代码判断是否有用户登录,如果登录就显示内容1,没有登录就显示内容2。
具体代码为:
<?php if($this->user->hasLogin()):?>
内容1
<?php else : ?>
内容2
<?php endif;?>
if else endif为php判断语句。
$this->user->hasLogin()为登录状态。