从 Jetpack 的 "Top Posts & Pages" 小部件中排除页面

Exclude pages from Jetpack's "Top Posts & Pages" widget

我有以下场景。 (带有 Jetpack 的 WordPress)

某些 "custom" 页面仅在提供数据(例如搜索词)时才会显示某些内容。如果不是,页面通常是 "blank"。在访问它们时(通过 link 包括查询变量),它们会在统计信息中说明。但是...如果您在 "Top Posts & Pages"(小部件)下单击它们,它们只是空白。

有没有办法不在 "Top Posts & Pages" 下列出那些特定的页面?或者我可以将统计信息从子页面重定向到父页面吗?

提前致谢

您可以连接到 jetpack_widget_get_top_posts 以从热门帖子和页面小部件中排除这些页面。

将以下代码添加到主题的 functions.php 文件中:

function wp653886_exclude_from_top_posts( $posts, $post_ids, $count ) {

    $page_ids_to_exclude = array( 144, 764, 876 ); // Put here the IDs of the pages you wish to exclude.

    foreach ( $posts as $k => $post ) {
        // Remove this item from the list
        if ( in_array( $post['post_id'],  $page_ids_to_exclude ) ) {
            unset( $posts[$k] );
        }
    }

    return $posts;

}
add_filter( 'jetpack_widget_get_top_posts', 'wp653886_exclude_from_top_posts', 10, 3 );

编辑 $page_ids_to_exclude 数组以添加要从小部件中排除的页面的 ID,然后就可以开始了。