提交评论后,选择当前选项卡

时间:2013-09-21 作者:Abdeel

在我的single.php 我有三个选项卡,一个用于描述,另一个用于评论和评论。我的问题是,当我提交评论时,第一个选项卡始终处于选中状态。我的代码:

            <div id="product-information">
                <div id="tabs" class="htabs">
                    <a href="#tab-description" class="selected">Description</a> 
                    <a href="#tab-comment" class="">Comments</a>
                    <a href="#tab-review" class="">Reviews</a> 
                </div>

                <div id="tab-description" class="tab-content" style="display: block;">
                    <?php the_content(); ?>          
                </div>

                <div id="tab-comment" class="tab-content" style="display: none;">
                    <?php if ( comments_open() || true): ?>
                        <?php comments_template( \'\', true ); ?>
                    <?php endif ?>
                </div>

                 <div id="tab-review" class="tab-content" style="display: none;">
                    <h1>REVIEW</h1>
                </div>

             </div>
如何传递属性class="selected" 动态地?

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

我认为最好的解决方案是添加一个get属性,在这种情况下,我们不需要像这样的javascript:您的single。php:

            <div id="product-information">
            <div id="tabs" class="htabs">
                <a href="<?php the_permalink(); ?>&tab=description" class="<?php echo !isset($_GET[\'tab\']) || ($_GET[\'tab\'] == \'description\') ? \'selected\':\'\'; ?>">Description</a> 
                <a href="<?php the_permalink(); ?>&tab=comment" class="<?php echo isset($_GET[\'tab\']) && ($_GET[\'tab\'] == \'comment\') ? \'selected\':\'\'; ?>">Comments</a>
                <a href="<?php the_permalink(); ?>&tab=review" class="<?php echo isset($_GET[\'tab\']) && ($_GET[\'tab\'] == \'review\') ? \'selected\':\'\'; ?>">Reviews</a> 
            </div>

            <div id="tab-description" class="tab-content" style="display: <?php echo !isset($_GET[\'tab\']) || ($_GET[\'tab\'] == \'description\') ? \'block;\':\'none;\'; ?>">
                <?php the_content(); ?>          
            </div>

            <div id="tab-comment" class="tab-content" style="display: <?php echo isset($_GET[\'tab\']) && ($_GET[\'tab\'] == \'comment\') ? \'block;\':\'none;\'; ?>">
                <?php if ( comments_open() || true): ?>
                    <?php comments_template( \'\', true ); ?>
                <?php endif ?>
            </div>

             <div id="tab-review" class="tab-content" style="display: <?php echo isset($_GET[\'tab\']) && ($_GET[\'tab\'] == \'review\') ? \'block;\':\'none;\'; ?>;">
                <h1>REVIEW</h1>
            </div>

         </div>
在你的功能中。php添加以下内容:

    if ( ! function_exists( \'redirect_after_comment\' ) ) {
function redirect_after_comment($location)
{
    return get_permalink().\'&tab=comment\';
}
   }
   add_filter(\'comment_post_redirect\', \'redirect_after_comment\');

结束

相关推荐

COMMENTS_NUMBER显示在指定范围之外

我想显示一篇特定帖子的评论数,所以我想我应该使用comments\\u number,但是当我使用它时,评论数会打印在应该包含在其中的范围之外。我也尝试过使用get\\u comments\\u number,但那根本不显示任何内容。下面的代码已添加到我的函数中。php和其他代码,但我无法在span中显示注释编号-它只是打印在页面顶部。$content .= \'<p class=\"meta\"><span class=\"date\">\'.$date.\'</span&