BuddyPress会员资料上的分页
问题描述:
我想在会员的buddypress资料上的自定义选项卡中显示用户的帖子。BuddyPress会员资料上的分页
问题: 分页不起作用。
我试图: 这里有我想要的代码:
创建标签: 了以下功能创建的成员选项卡的个人资料页面。它工作正常。
function add_profile_tab() {
global $bp;
bp_core_new_nav_item(array(
'name' => 'Blog',
'slug' => 'blog',
'screen_function' => 'yourtab_screen',
'position' => 80,
'parent_url' => bp_loggedin_user_domain() . '/blog/',
'parent_slug' => $bp->profile->slug,
'default_subnav_slug' => 'blog'
));
}
add_action('bp_setup_nav', 'add_profile_tab');
function yourtab_screen() {
add_action('bp_template_title', 'blog_content_title');
add_action('bp_template_content', 'blog_content_main');
bp_core_load_template('buddypress/members/single/plugins');
}
function blog_content_title() {
echo 'Title';
}
function blog_content_main() {
show_user_posts();
}
显示用户帖子: 下面是显示用户职位show_user_posts()
:
function show_user_posts() {
$args = array(
'author' => bp_displayed_user_id(),
'post_status' => 'publish',
'paged' => $paged
);
$query = new WP_Query($args);
if ($query -> have_posts()) :
while ($query -> have_posts()) : $query -> the_post();
get_template_part('excerpt', 'content');
endwhile;
blog_pagination($query->max_num_pages, '', $paged);
wp_reset_postdata();
endif;
}
分页:这里的分页功能。
function blog_pagination($numpages = '', $pagerange = '', $paged = '') {
global $paged, $wp_query, $wp_rewrite;
if (empty($pagerange)) {
$pagerange = 2;
}
if (empty($paged)) {
$paged = 1;
}
if ($numpages == '') {
$numpages = $wp_query -> max_num_pages;
if (! $numpages) {
$numpages = 1;
}
}
$pagination_args = array (
'base' => get_pagenum_link(1) . '%_%',
'format' => 'page/%#%',
'total' => $numpages,
'current' => $paged,
'show_all' => False,
'end_size' => 1,
'mid_size' => $pagerange,
'prev_next' => True,
'type' => 'plain',
'add_args' => false,
'add_fragment' => ''
);
if ($wp_rewrite->using_permalinks())
$pagination_args['base'] = user_trailingslashit(trailingslashit(remove_query_arg('s', get_pagenum_link(1))).'page/%#%/', 'paged');
if (! empty($wp_query->query_vars['s']))
$pagination_args['add_args'] = array('s' => get_query_var('s'));
$paginate_links = paginate_links($pagination_args);
if ($paginate_links) {
echo $paginate_links;
}
}
会发生什么: 以上分页功能计算和正确生成的页面数,但是我得到的所有分页链接404错误。例如在这个网址: http://wp/members/admin/blog/page/2/
我想什么: 这是正在被重写规则造成的。它可以通过为上述URL添加重写规则来解决。在使用add_rewrite_rule
可以完成的WordPress中,但我无法弄清Buddypress的网址结构。
答
使用数据表,它会给你自动分页功能,只是你必须根据你的需要来控制该功能。在这里,我给你的链接看到这https://datatables.net/examples/ajax/simple.html或Wordpress你也可以使用插件作为WP -Phaginate。每个特定页面,发布,分类等的页面
答
复位帖子
注:这将WordPress的默认每页10个职位的设置冲突。如果您正在测试分页,请转至管理中的设置>阅读。 &你可以通过使用下面的函数来改变每一页的帖子。只要条件改变。
在function.php文件
$option_posts_per_page = get_option('posts_per_page');
add_action('init', 'my_modify_posts_per_page', 0);
function my_modify_posts_per_page() {
add_filter('option_posts_per_page', 'my_option_posts_per_page');
}
function my_option_posts_per_page($value) {
global $option_posts_per_page;
if (!is_admin() && bp_has_members() ) {
return 12;
} else {
return $option_posts_per_page;
}
}
您好下面添加功能。你能否给你的网站正确的网址?您提供的是错误的:[链接](http:// wp/members/admin/blog/page/2 /),您的网站域名缺失 – bkseen