如果尚无评论,则隐藏默认的“最近评论”小工具

时间:2014-06-21 作者:okiedokey

如果还没有注释,有没有办法完全隐藏小部件?

我在考虑在我的函数中添加一个php函数。php文件-这是一种可能的方式吗?如果是,有人能提供建议吗?

2 个回复
SO网友:Wyck

我不知道是否有注释小部件的钩子,但您可以使用条件调用模板中的小部件来检查是否有注释。您可能也可以通过函数来实现这一点。php。

类似于:

$num_comments = get_comments_number();

if ( $num_comments > 0 ) {  
    the_widget( \'WP_Widget_Recent_Comments\' );
} else { 
 // do something else
}

SO网友:birgire

以下是一个使用sidebars_widgets 从中筛选wp_get_sidebars_widgets() 函数calleddynamic_sidebar() 功能:

/** 
 * Remove the recent comments widgets from a given sidebar (index)
 * 
 * @link http://wordpress.stackexchange.com/q/151361/26350
 */
! is_admin() && add_filter( \'sidebars_widgets\', function( $sidebars_widgets ) {

    // ------------------------
    // Edit this to your needs:
    $sidebar_index = \'sidebar-1\';
    $find          = \'recent-comments\';
    // ------------------------

    if( isset( $sidebars_widgets[$sidebar_index] ) && 0 == get_comments_number() )
    {
        foreach( $sidebars_widgets[$sidebar_index] as $key => $widget )
        {
            if( false !== stripos( $widget, $find ) )
                 unset( $sidebars_widgets[$sidebar_index][$key] );

        }
    }
    return $sidebars_widgets;
}, PHP_INT_MAX );
您必须记住修改$sidebar_index$find 满足您的需求。

我们还可以循环浏览所有侧栏,而不是针对单个侧栏。如果需要,我相信您可以调整代码段。

结束

相关推荐

如何在页面/?Comments_Popup=删除(或meta noindex)

我注意到我的网站有很多这样的页面:http://example.com/?comments_popup=837 http://example.com/?comments_popup={id of the page/post} 它们导致了许多重复/精简的内容页。我想删除,或者至少将meta-noindex放在这里。要编辑的文件是哪个?我想这是wordpress的核心。