Wordpress:Bbpress 为流行视图添加额外的过滤器
Wordpress: Bbpress add extra filter to the popular view
我目前正在开发一个安装了 Bbpress 论坛的 Wordpress 网站。我正在使用简码在(非论坛)页面上添加所有热门主题:
[bbp-single-view id="popular"]
我想为此功能添加一个额外的过滤器,但我不知道该怎么做。我想过滤元值“_bbp_last_active_time”,以检查上个月某个主题是否有 activity。
我在 bbpress 核心中找到了这个脚本,但我不知道如何添加另一个过滤器:
// bbpress.php line 672
bbp_register_view(
'popular',
__( 'Most popular topics', 'bbpress' ),
apply_filters( 'bbp_register_view_popular', array(
'meta_key' => '_bbp_reply_count',
'max_num_pages' => 1,
'orderby' => 'meta_value_num',
'show_stickies' => false
)
) );
我确实用 SQL 和自定义短代码尝试过类似的东西,但我不知道如何将其转换为具有正确布局功能的主题列表:
SELECT
wp_posts.post_parent, COUNT(*) as count, wp_postmeta.*
FROM
wp_posts, wp_postmeta
WHERE
wp_posts.post_type = 'reply'
AND
wp_postmeta.post_id = wp_posts.post_parent
AND
wp_postmeta.meta_key = '_bbp_last_active_time'
AND
wp_postmeta.meta_value > (NOW() - INTERVAL 1 MONTH)
GROUP BY
wp_posts.post_parent
ORDER BY
count DESC
LIMIT 5;
提前致谢!非常感谢您的帮助!
我已经找到了解决方案:
$date_now = date( 'Y-m-d H:i:s' );
$date=date_create($date_now);
date_sub($date,date_interval_create_from_date_string("30 days"));
$new_date = date_format($date,"Y-m-d H:i:s");
bbp_register_view(
'jaappopular',
__( 'Most popular topics', 'bbpress' ),
apply_filters( 'bbp_register_view_popular', array(
'meta_key' => '_bbp_reply_count',
'max_num_pages' => 1,
'orderby' => 'meta_value_num',
'show_stickies' => false,
'meta_query' => array(
'relation' => 'AND',
array(
'key' => '_bbp_last_active_time' ,
'value' => $new_date,
'compare' => '>=',
)
),
)
) );
);
是啊!
我目前正在开发一个安装了 Bbpress 论坛的 Wordpress 网站。我正在使用简码在(非论坛)页面上添加所有热门主题:
[bbp-single-view id="popular"]
我想为此功能添加一个额外的过滤器,但我不知道该怎么做。我想过滤元值“_bbp_last_active_time”,以检查上个月某个主题是否有 activity。
我在 bbpress 核心中找到了这个脚本,但我不知道如何添加另一个过滤器:
// bbpress.php line 672
bbp_register_view(
'popular',
__( 'Most popular topics', 'bbpress' ),
apply_filters( 'bbp_register_view_popular', array(
'meta_key' => '_bbp_reply_count',
'max_num_pages' => 1,
'orderby' => 'meta_value_num',
'show_stickies' => false
)
) );
我确实用 SQL 和自定义短代码尝试过类似的东西,但我不知道如何将其转换为具有正确布局功能的主题列表:
SELECT
wp_posts.post_parent, COUNT(*) as count, wp_postmeta.*
FROM
wp_posts, wp_postmeta
WHERE
wp_posts.post_type = 'reply'
AND
wp_postmeta.post_id = wp_posts.post_parent
AND
wp_postmeta.meta_key = '_bbp_last_active_time'
AND
wp_postmeta.meta_value > (NOW() - INTERVAL 1 MONTH)
GROUP BY
wp_posts.post_parent
ORDER BY
count DESC
LIMIT 5;
提前致谢!非常感谢您的帮助!
我已经找到了解决方案:
$date_now = date( 'Y-m-d H:i:s' );
$date=date_create($date_now);
date_sub($date,date_interval_create_from_date_string("30 days"));
$new_date = date_format($date,"Y-m-d H:i:s");
bbp_register_view(
'jaappopular',
__( 'Most popular topics', 'bbpress' ),
apply_filters( 'bbp_register_view_popular', array(
'meta_key' => '_bbp_reply_count',
'max_num_pages' => 1,
'orderby' => 'meta_value_num',
'show_stickies' => false,
'meta_query' => array(
'relation' => 'AND',
array(
'key' => '_bbp_last_active_time' ,
'value' => $new_date,
'compare' => '>=',
)
),
)
) );
);
是啊!