/** * The main reply loop. WordPress makes this easy for us * * @since bbPress (r2553) * * @param mixed $args All the arguments supported by {@link WP_Query} * @uses bbp_show_lead_topic() Are we showing the topic as a lead? * @uses bbp_get_topic_id() To get the topic id * @uses bbp_get_reply_post_type() To get the reply post type * @uses bbp_get_topic_post_type() To get the topic post type * @uses get_option() To get the replies per page option * @uses bbp_get_paged() To get the current page value * @uses current_user_can() To check if the current user is capable of editing * others' replies * @uses WP_Query To make query and get the replies * @uses WP_Rewrite::using_permalinks() To check if the blog is using permalinks * @uses get_permalink() To get the permalink * @uses add_query_arg() To add custom args to the url * @uses apply_filters() Calls 'bbp_replies_pagination' with the pagination args * @uses paginate_links() To paginate the links * @uses apply_filters() Calls 'bbp_has_replies' with * bbPres::reply_query::have_posts() * and bbPres::reply_query * @return object Multidimensional array of reply information */ function bbp_has_replies($args = '') { global $wp_rewrite; /** Defaults **************************************************************/ // Other defaults $default_reply_search = !empty($_REQUEST['rs']) ? $_REQUEST['rs'] : false; $default_post_parent = bbp_is_single_topic() ? bbp_get_topic_id() : 'any'; $default_post_type = bbp_is_single_topic() && bbp_show_lead_topic() ? bbp_get_reply_post_type() : array(bbp_get_topic_post_type(), bbp_get_reply_post_type()); $default_thread_replies = (bool) (bbp_is_single_topic() && bbp_thread_replies()); // Default query args $default = array('post_type' => $default_post_type, 'post_parent' => $default_post_parent, 'posts_per_page' => bbp_get_replies_per_page(), 'paged' => bbp_get_paged(), 'orderby' => 'date', 'order' => 'ASC', 'hierarchical' => $default_thread_replies, 'ignore_sticky_posts' => true, 's' => $default_reply_search); // What are the default allowed statuses (based on user caps) if (bbp_get_view_all()) { // Default view=all statuses $post_statuses = array(bbp_get_public_status_id(), bbp_get_closed_status_id(), bbp_get_spam_status_id(), bbp_get_trash_status_id()); // Add support for private status if (current_user_can('read_private_replies')) { $post_statuses[] = bbp_get_private_status_id(); } // Join post statuses together $default['post_status'] = implode(',', $post_statuses); // Lean on the 'perm' query var value of 'readable' to provide statuses } else { $default['perm'] = 'readable'; } /** Setup *****************************************************************/ // Parse arguments against default values $r = bbp_parse_args($args, $default, 'has_replies'); // Set posts_per_page value if replies are threaded $replies_per_page = $r['posts_per_page']; if (true === $r['hierarchical']) { $r['posts_per_page'] = -1; } // Get bbPress $bbp = bbpress(); // Call the query $bbp->reply_query = new WP_Query($r); // Add pagination values to query object $bbp->reply_query->posts_per_page = $replies_per_page; $bbp->reply_query->paged = $r['paged']; // Never home, regardless of what parse_query says $bbp->reply_query->is_home = false; // Reset is_single if single topic if (bbp_is_single_topic()) { $bbp->reply_query->is_single = true; } // Only add reply to if query returned results if ((int) $bbp->reply_query->found_posts) { // Get reply to for each reply foreach ($bbp->reply_query->posts as &$post) { // Check for reply post type if (bbp_get_reply_post_type() === $post->post_type) { $reply_to = bbp_get_reply_to($post->ID); // Make sure it's a reply to a reply if (empty($reply_to) || bbp_get_reply_topic_id($post->ID) === $reply_to) { $reply_to = 0; } // Add reply_to to the post object so we can walk it later $post->reply_to = $reply_to; } } } // Only add pagination if query returned results if ((int) $bbp->reply_query->found_posts && (int) $bbp->reply_query->posts_per_page) { // If pretty permalinks are enabled, make our pagination pretty if ($wp_rewrite->using_permalinks()) { // User's replies if (bbp_is_single_user_replies()) { $base = bbp_get_user_replies_created_url(bbp_get_displayed_user_id()); // Root profile page } elseif (bbp_is_single_user()) { $base = bbp_get_user_profile_url(bbp_get_displayed_user_id()); // Page or single post } elseif (is_page() || is_single()) { $base = get_permalink(); // Single topic } else { $base = get_permalink(bbp_get_topic_id()); } $base = trailingslashit($base) . user_trailingslashit($wp_rewrite->pagination_base . '/%#%/'); // Unpretty permalinks } else { $base = add_query_arg('paged', '%#%'); } // Figure out total pages if (true === $r['hierarchical']) { $walker = new BBP_Walker_Reply(); $total_pages = ceil((int) $walker->get_number_of_root_elements($bbp->reply_query->posts) / (int) $replies_per_page); } else { $total_pages = ceil((int) $bbp->reply_query->found_posts / (int) $replies_per_page); // Add pagination to query object $bbp->reply_query->pagination_links = paginate_links(apply_filters('bbp_replies_pagination', array('base' => $base, 'format' => '', 'total' => $total_pages, 'current' => (int) $bbp->reply_query->paged, 'prev_text' => is_rtl() ? '→' : '←', 'next_text' => is_rtl() ? '←' : '→', 'mid_size' => 1, 'add_args' => bbp_get_view_all() ? array('view' => 'all') : false))); // Remove first page from pagination if ($wp_rewrite->using_permalinks()) { $bbp->reply_query->pagination_links = str_replace($wp_rewrite->pagination_base . '/1/', '', $bbp->reply_query->pagination_links); } else { $bbp->reply_query->pagination_links = str_replace('&paged=1', '', $bbp->reply_query->pagination_links); } } } // Return object return apply_filters('bbp_has_replies', $bbp->reply_query->have_posts(), $bbp->reply_query); }
?> <div id="post-<?php bbp_reply_id(); ?> " class="bbp-reply-header"> <div class="bbp-meta"> <h6 class="bbp-reply-post-date"><?php bbp_reply_post_date(); ?> </h6> <?php if (bbp_is_single_user_replies()) { ?> <span class="bbp-header"> <?php _e('in reply to: ', 'bbpress'); ?> <a class="bbp-topic-permalink" href="<?php bbp_topic_permalink(bbp_get_reply_topic_id()); ?> "><?php bbp_topic_title(bbp_get_reply_topic_id()); ?> </a> </span>
/** * Displays the output, the login form * * @since bbPress (r2827) * * @param mixed $args Arguments * @param array $instance Instance * @uses apply_filters() Calls 'bbp_login_widget_title' with the title * @uses get_template_part() To get the login/logged in form */ public function widget($args = array(), $instance = array()) { // Get widget settings $settings = $this->parse_settings($instance); // Typical WordPress filter $settings['title'] = apply_filters('widget_title', $settings['title'], $instance, $this->id_base); // bbPress filters $settings['title'] = apply_filters('bbp_login_widget_title', $settings['title'], $instance, $this->id_base); $settings['register'] = apply_filters('bbp_login_widget_register', $settings['register'], $instance, $this->id_base); $settings['lostpass'] = apply_filters('bbp_login_widget_lostpass', $settings['lostpass'], $instance, $this->id_base); echo $args['before_widget']; if (!empty($settings['title'])) { echo $args['before_title'] . $settings['title'] . $args['after_title']; } if (!is_user_logged_in()) { ?> <form method="post" action="<?php bbp_wp_login_action(array('context' => 'login_post')); ?> " class="bbp-login-form"> <fieldset> <legend><?php _e('Log In', 'bbpress'); ?> </legend> <div class="bbp-username form-group"> <label for="user_login" class="sr-only"><?php _e('Username', 'bbpress'); ?> : </label> <div class="input-group"> <span class="input-group-addon"> <span class="glyphicon ipt-icomoon-user"></span> </span> <input placeholder="<?php _e('Username', 'bbpress'); ?> " class="form-control" type="text" name="log" value="<?php bbp_sanitize_val('user_login', 'text'); ?> " size="20" id="user_login" tabindex="<?php bbp_tab_index(); ?> " /> </div> </div> <div class="bbp-password form-group"> <label for="user_pass" class="sr-only"><?php _e('Password', 'bbpress'); ?> : </label> <div class="input-group"> <span class="input-group-addon"> <span class="glyphicon ipt-icomoon-console"></span> </span> <input placeholder="<?php _e('Password', 'bbpress'); ?> " class="form-control" type="password" name="pwd" value="<?php bbp_sanitize_val('user_pass', 'password'); ?> " size="20" id="user_pass" tabindex="<?php bbp_tab_index(); ?> " /> </div> </div> <?php do_action('login_form'); ?> <div class="bbp-remember-me checkbox"> <input type="checkbox" name="rememberme" value="forever" <?php checked(bbp_get_sanitize_val('rememberme', 'checkbox'), true, true); ?> id="rememberme" tabindex="<?php bbp_tab_index(); ?> " /> <label for="rememberme"><?php _e('Remember Me', 'bbpress'); ?> </label> </div> <div class="bbp-submit-wrapper btn-group"> <?php if (!empty($settings['lostpass'])) { ?> <a href="<?php echo esc_url($settings['lostpass']); ?> " title="<?php esc_attr_e('Lost Password', 'bbpress'); ?> " class="bbp-lostpass-link btn btn-default"><span class="glyphicon ipt-icomoon-info"></span></a> <?php } ?> <?php if (!empty($settings['register'])) { ?> <a href="<?php echo esc_url($settings['register']); ?> " title="<?php esc_attr_e('Register', 'bbpress'); ?> " class="bbp-register-link btn btn-default"><span class="glyphicon ipt-icomoon-signup"></span> <?php _e('Register', 'bbpress'); ?> </a> <?php } ?> <button class="btn btn-primary" type="submit" name="user-submit" id="user-submit" tabindex="<?php bbp_tab_index(); ?> " class="button submit user-submit"><span class="glyphicon ipt-icomoon-switch"></span> <?php _e('Log In', 'bbpress'); ?> </button> </div> <?php bbp_user_login_fields(); ?> </fieldset> </form> <?php } else { ?> <div class="bbp-logged-in"> <a href="<?php bbp_user_profile_url(bbp_get_current_user_id()); ?> " class="submit user-submit thumbnail pull-left"><?php echo get_avatar(bbp_get_current_user_id(), '64'); ?> </a> <h4><?php bbp_user_profile_link(bbp_get_current_user_id()); ?> </h4> <div class="btn-group"> <a class="btn btn-default btn-sm" href="<?php bbp_user_profile_edit_url(bbp_get_current_user_id()); ?> " title="<?php printf(esc_attr__("Edit Your Profile", 'ipt_kb')); ?> "><span class="glyphicon glyphicon-edit"></span> <?php _e('Edit', 'bbpress'); ?> </a> <?php bbp_logout_link(); ?> </div> <div class="clearfix"></div> <div class="list-group"> <a href="<?php bbp_user_profile_url(bbp_get_current_user_id()); ?> " class="list-group-item bbp-user-forum-role <?php if (bbp_is_user_home() && bbp_is_single_user_profile()) { echo 'active'; } ?> "> <span class="glyphicon ipt-icomoon-user4"></span> <?php printf(__('%s Forum Role', 'ipt_kb'), '<span class="badge">' . bbp_get_user_display_role(bbp_get_current_user_id()) . '</span>'); ?> </a> <a href="<?php bbp_user_topics_created_url(bbp_get_current_user_id()); ?> " class="list-group-item bbp-user-topic-count <?php if (bbp_is_user_home() && bbp_is_single_user_topics()) { echo 'active'; } ?> "> <span class="glyphicon ipt-icomoon-bubbles4"></span> <?php printf(__('%s Topics Started', 'ipt_kb'), '<span class="badge">' . bbp_get_user_topic_count_raw(bbp_get_current_user_id()) . '</span>'); ?> </a> <a href="<?php bbp_user_replies_created_url(bbp_get_current_user_id()); ?> " class="list-group-item bbp-user-reply-count <?php if (bbp_is_user_home() && bbp_is_single_user_replies()) { echo 'active'; } ?> "> <span class="glyphicon ipt-icomoon-reply"></span> <?php printf(__('%s Replies Created', 'ipt_kb'), '<span class="badge">' . bbp_get_user_reply_count_raw(bbp_get_current_user_id()) . '</span>'); ?> </a> <?php if (bbp_is_favorites_active()) { ?> <a href="<?php bbp_favorites_permalink(bbp_get_current_user_id()); ?> " class="list-group-item bbp-user-favorite-count <?php if (bbp_is_user_home() && bbp_is_favorites()) { echo 'active'; } ?> " title="<?php printf(esc_attr__("Your Favorites", 'ipt_kb')); ?> "> <span class="glyphicon ipt-icomoon-heart"></span> <?php printf(__('%s Favorites', 'ipt_kb'), '<span class="badge">' . count(bbp_get_user_favorites_topic_ids(bbp_get_current_user_id())) . '</span>'); ?> </a> <?php } ?> <?php if (bbp_is_subscriptions_active()) { ?> <a href="<?php bbp_subscriptions_permalink(bbp_get_current_user_id()); ?> " class="list-group-item bbp-user-subscribe-count <?php if (bbp_is_user_home() && bbp_is_subscriptions()) { echo 'active'; } ?> " title="<?php printf(esc_attr__("Your Subscriptions", 'ipt_kb')); ?> "> <span class="glyphicon ipt-icomoon-bookmarks"></span> <?php printf(__('%s Subscriptions', 'ipt_kb'), '<span class="badge">' . count(bbp_get_user_subscribed_topic_ids(bbp_get_current_user_id())) . '</span>'); ?> </a> <?php } ?> </div> </div> <?php } echo $args['after_widget']; }
/** * Custom page title for bbPress pages * * @since bbPress (r2788) * * @param string $title Optional. The title (not used). * @param string $sep Optional, default is '»'. How to separate the * various items within the page title. * @param string $seplocation Optional. Direction to display title, 'right'. * @uses bbp_is_single_user() To check if it's a user profile page * @uses bbp_is_single_user_edit() To check if it's a user profile edit page * @uses bbp_is_user_home() To check if the profile page is of the current user * @uses get_query_var() To get the user id * @uses get_userdata() To get the user data * @uses bbp_is_single_forum() To check if it's a forum * @uses bbp_get_forum_title() To get the forum title * @uses bbp_is_single_topic() To check if it's a topic * @uses bbp_get_topic_title() To get the topic title * @uses bbp_is_single_reply() To check if it's a reply * @uses bbp_get_reply_title() To get the reply title * @uses is_tax() To check if it's the tag page * @uses get_queried_object() To get the queried object * @uses bbp_is_single_view() To check if it's a view * @uses bbp_get_view_title() To get the view title * @uses apply_filters() Calls 'bbp_raw_title' with the title * @uses apply_filters() Calls 'bbp_profile_page_wp_title' with the title, * separator and separator location * @return string The tite */ function bbp_title($title = '', $sep = '»', $seplocation = '') { // Title array $new_title = array(); /** Archives **************************************************************/ // Forum Archive if (bbp_is_forum_archive()) { $new_title['text'] = bbp_get_forum_archive_title(); // Topic Archive } elseif (bbp_is_topic_archive()) { $new_title['text'] = bbp_get_topic_archive_title(); /** Edit ******************************************************************/ // Forum edit page } elseif (bbp_is_forum_edit()) { $new_title['text'] = bbp_get_forum_title(); $new_title['format'] = esc_attr__('Forum Edit: %s', 'bbpress'); // Topic edit page } elseif (bbp_is_topic_edit()) { $new_title['text'] = bbp_get_topic_title(); $new_title['format'] = esc_attr__('Topic Edit: %s', 'bbpress'); // Reply edit page } elseif (bbp_is_reply_edit()) { $new_title['text'] = bbp_get_reply_title(); $new_title['format'] = esc_attr__('Reply Edit: %s', 'bbpress'); // Topic tag edit page } elseif (bbp_is_topic_tag_edit()) { $new_title['text'] = bbp_get_topic_tag_name(); $new_title['format'] = esc_attr__('Topic Tag Edit: %s', 'bbpress'); /** Singles ***************************************************************/ // Forum page } elseif (bbp_is_single_forum()) { $new_title['text'] = bbp_get_forum_title(); $new_title['format'] = esc_attr__('Forum: %s', 'bbpress'); // Topic page } elseif (bbp_is_single_topic()) { $new_title['text'] = bbp_get_topic_title(); $new_title['format'] = esc_attr__('Topic: %s', 'bbpress'); // Replies } elseif (bbp_is_single_reply()) { $new_title['text'] = bbp_get_reply_title(); // Topic tag page } elseif (bbp_is_topic_tag() || get_query_var('bbp_topic_tag')) { $new_title['text'] = bbp_get_topic_tag_name(); $new_title['format'] = esc_attr__('Topic Tag: %s', 'bbpress'); /** Users *****************************************************************/ // Profile page } elseif (bbp_is_single_user()) { // User is viewing their own profile if (bbp_is_user_home()) { $new_title['text'] = esc_attr_x('Your', 'User viewing his/her own profile', 'bbpress'); // User is viewing someone else's profile (so use their display name) } else { $new_title['text'] = sprintf(esc_attr_x("%s's", 'User viewing another users profile', 'bbpress'), get_userdata(bbp_get_user_id())->display_name); } // User topics created if (bbp_is_single_user_topics()) { $new_title['format'] = esc_attr__("%s Topics", 'bbpress'); // User rueplies created } elseif (bbp_is_single_user_replies()) { $new_title['format'] = esc_attr__("%s Replies", 'bbpress'); // User favorites } elseif (bbp_is_favorites()) { $new_title['format'] = esc_attr__("%s Favorites", 'bbpress'); // User subscriptions } elseif (bbp_is_subscriptions()) { $new_title['format'] = esc_attr__("%s Subscriptions", 'bbpress'); // User "home" } else { $new_title['format'] = esc_attr__("%s Profile", 'bbpress'); } // Profile edit page } elseif (bbp_is_single_user_edit()) { // Current user if (bbp_is_user_home_edit()) { $new_title['text'] = esc_attr__('Edit Your Profile', 'bbpress'); // Other user } else { $new_title['text'] = get_userdata(bbp_get_user_id())->display_name; $new_title['format'] = esc_attr__("Edit %s's Profile", 'bbpress'); } /** Views *****************************************************************/ // Views } elseif (bbp_is_single_view()) { $new_title['text'] = bbp_get_view_title(); $new_title['format'] = esc_attr__('View: %s', 'bbpress'); /** Search ****************************************************************/ // Search } elseif (bbp_is_search()) { $new_title['text'] = bbp_get_search_title(); } // This filter is deprecated. Use 'bbp_before_title_parse_args' instead. $new_title = apply_filters('bbp_raw_title_array', $new_title); // Set title array defaults $new_title = bbp_parse_args($new_title, array('text' => $title, 'format' => '%s'), 'title'); // Get the formatted raw title $new_title = sprintf($new_title['format'], $new_title['text']); // Filter the raw title $new_title = apply_filters('bbp_raw_title', $new_title, $sep, $seplocation); // Compare new title with original title if ($new_title === $title) { return $title; } // Temporary separator, for accurate flipping, if necessary $t_sep = '%WP_TITILE_SEP%'; $prefix = ''; if (!empty($new_title)) { $prefix = " {$sep} "; } // sep on right, so reverse the order if ('right' === $seplocation) { $new_title_array = array_reverse(explode($t_sep, $new_title)); $new_title = implode(" {$sep} ", $new_title_array) . $prefix; // sep on left, do not reverse } else { $new_title_array = explode($t_sep, $new_title); $new_title = $prefix . implode(" {$sep} ", $new_title_array); } // Filter and return return apply_filters('bbp_title', $new_title, $sep, $seplocation); }
function cb_bbp_author_details($cb_author_id, $cb_desc = true) { $cb_author_email = get_the_author_meta('publicemail', $cb_author_id); $cb_author_name = get_the_author_meta('display_name', $cb_author_id); $cb_author_position = get_the_author_meta('position', $cb_author_id); $cb_author_tw = get_the_author_meta('twitter', $cb_author_id); $cb_author_go = get_the_author_meta('googleplus', $cb_author_id); $cb_author_www = get_the_author_meta('url', $cb_author_id); $cb_author_desc = get_the_author_meta('description', $cb_author_id); $cb_author_posts = count_user_posts($cb_author_id); $cb_author_output = NULL; $cb_author_output .= '<div class="cb-author-details cb-bbp clearfix"><div class="cb-mask"><a href="' . bbp_get_user_profile_url() . '" title="' . bbp_get_displayed_user_field('display_name') . '" rel="me">' . get_avatar(bbp_get_displayed_user_field('user_email', 'raw'), apply_filters('bbp_single_user_details_avatar_size', 150)) . '</a></div><div class="cb-meta"><h3><a href="' . bbp_get_user_profile_url() . '" title="' . bbp_get_displayed_user_field('display_name') . '">' . $cb_author_name . '</a></h3>'; if ($cb_author_position != NULL) { $cb_author_output .= '<div class="cb-author-position">' . $cb_author_position . '</div>'; } if ($cb_author_desc != NULL && $cb_desc == true) { $cb_author_output .= '<p class="cb-author-bio">' . $cb_author_desc . '</p>'; } if ($cb_author_email != NULL || $cb_author_www != NULL || $cb_author_tw != NULL || $cb_author_go != NULL) { $cb_author_output .= '<div class="cb-author-page-contact">'; } if ($cb_author_email != NULL) { $cb_author_output .= '<a href="mailto:' . $cb_author_email . '"><i class="icon-envelope-alt cb-tip-bot" title="' . __('Email', 'cubell') . '"></i></a>'; } if ($cb_author_www != NULL) { $cb_author_output .= ' <a href="' . $cb_author_www . '" target="_blank"><i class="icon-link cb-tip-bot" title="' . __('Website', 'cubell') . '"></i></a> '; } if ($cb_author_tw != NULL) { $cb_author_output .= ' <a href="//www.twitter.com/' . $cb_author_tw . '" target="_blank" ><i class="icon-twitter cb-tip-bot" title="Twitter"></i></a>'; } if ($cb_author_go != NULL) { $cb_author_output .= ' <a href="' . $cb_author_go . '" rel="publisher" target="_top" title="Google+" class="cb-googleplus cb-tip-bot" ><img src="//ssl.gstatic.com/images/icons/gplus-32.png" data-src-retina="//ssl.gstatic.com/images/icons/gplus-64.png" alt="Google+" ></a>'; } if ($cb_author_email != NULL || $cb_author_www != NULL || $cb_author_go != NULL || $cb_author_tw != NULL) { $cb_author_output .= '</div>'; } $cb_author_output .= '<div id="cb-user-nav"><ul>'; if (bbp_is_single_user_replies()) { $cb_user_current = 'current'; } $cb_author_output .= '<li class="'; if (bbp_is_single_user_topics()) { $cb_author_output .= 'current'; } $cb_author_output .= '"><span class="bbp-user-topics-created-link"><a href="' . bbp_get_user_topics_created_url() . '">' . __('Topics Started', 'bbpress') . '</a></span></li>'; $cb_author_output .= '<li class="'; if (bbp_is_single_user_replies()) { $cb_author_output .= 'current'; } $cb_author_output .= '"><span class="bbp-user-replies-created-link"><a href="' . bbp_get_user_replies_created_url() . '">' . __('Replies Created', 'bbpress') . '</a></span></li>'; if (bbp_is_favorites_active()) { $cb_author_output .= '<li class="'; if (bbp_is_favorites()) { $cb_author_output .= 'current'; } $cb_author_output .= '"><span class="bbp-user-favorites-link"><a href="' . bbp_get_favorites_permalink() . '">' . __('Favorites', 'bbpress') . '</a></span></li>'; } if (bbp_is_user_home() || current_user_can('edit_users')) { if (bbp_is_subscriptions_active()) { $cb_author_output .= '<li class="'; if (bbp_is_subscriptions()) { $cb_author_output .= 'current'; } $cb_author_output .= '"><span class="bbp-user-subscriptions-link"><a href="' . bbp_get_subscriptions_permalink() . '">' . __('Subscriptions', 'bbpress') . '</a></span></li>'; } $cb_author_output .= '<li class="'; if (bbp_is_single_user_edit()) { $cb_author_output .= 'current'; } $cb_author_output .= '"><span class="bbp-user-edit-link"><a href="' . bbp_get_user_profile_edit_url() . '">' . __('Edit', 'bbpress') . '</a></span></li>'; } $cb_author_output .= '</ul></div><!-- #cb-user-nav -->'; $cb_author_output .= '</div></div>'; return $cb_author_output; }
function x_bbpress_add_actions_replies() { ?> <?php if (!bbp_show_lead_topic() && !bbp_is_single_user_replies() && !x_is_buddypress_user()) { ?> <div class="x-bbp-header"> <div class="actions"> <a href="<?php echo bbp_get_forum_permalink(bbp_get_topic_forum_id()); ?> "><?php _e('To Parent Forum', '__x__'); ?> </a> <?php bbp_topic_subscription_link(); ?> <?php bbp_user_favorites_link(); ?> </div> </div> <?php } ?> <?php }
/** * The main reply loop. WordPress makes this easy for us * * @since bbPress (r2553) * * @param mixed $args All the arguments supported by {@link WP_Query} * @uses bbp_show_lead_topic() Are we showing the topic as a lead? * @uses bbp_get_topic_id() To get the topic id * @uses bbp_get_reply_post_type() To get the reply post type * @uses bbp_get_topic_post_type() To get the topic post type * @uses bbp_is_query_name() To check if we are getting replies for a widget * @uses get_option() To get the replies per page option * @uses bbp_get_paged() To get the current page value * @uses current_user_can() To check if the current user is capable of editing * others' replies * @uses WP_Query To make query and get the replies * @uses WP_Rewrite::using_permalinks() To check if the blog is using permalinks * @uses get_permalink() To get the permalink * @uses add_query_arg() To add custom args to the url * @uses apply_filters() Calls 'bbp_replies_pagination' with the pagination args * @uses paginate_links() To paginate the links * @uses apply_filters() Calls 'bbp_has_replies' with * bbPres::reply_query::have_posts() * and bbPres::reply_query * @return object Multidimensional array of reply information */ function bbp_has_replies($args = '') { global $wp_rewrite; // What are the default allowed statuses (based on user caps) if (bbp_get_view_all('edit_others_replies')) { $post_statuses = array(bbp_get_public_status_id(), bbp_get_closed_status_id(), bbp_get_spam_status_id(), bbp_get_trash_status_id()); } else { $post_statuses = array(bbp_get_public_status_id(), bbp_get_closed_status_id()); } $default_reply_search = !empty($_REQUEST['rs']) ? $_REQUEST['rs'] : false; $default_post_parent = bbp_is_single_topic() ? bbp_get_topic_id() : 'any'; $default_post_type = bbp_is_single_topic() && bbp_show_lead_topic() ? bbp_get_reply_post_type() : array(bbp_get_topic_post_type(), bbp_get_reply_post_type()); $default_post_status = join(',', $post_statuses); // Default query args $default = array('post_type' => $default_post_type, 'post_parent' => $default_post_parent, 'post_status' => $default_post_status, 'posts_per_page' => bbp_get_replies_per_page(), 'paged' => bbp_get_paged(), 'orderby' => 'date', 'order' => 'ASC', 's' => $default_reply_search); // Set up topic variables $bbp_r = bbp_parse_args($args, $default, 'has_replies'); // Extract the query variables extract($bbp_r); // Get bbPress $bbp = bbpress(); // Call the query $bbp->reply_query = new WP_Query($bbp_r); // Add pagination values to query object $bbp->reply_query->posts_per_page = $posts_per_page; $bbp->reply_query->paged = $paged; // Never home, regardless of what parse_query says $bbp->reply_query->is_home = false; // Reset is_single if single topic if (bbp_is_single_topic()) { $bbp->reply_query->is_single = true; } // Only add pagination if query returned results if ((int) $bbp->reply_query->found_posts && (int) $bbp->reply_query->posts_per_page) { // If pretty permalinks are enabled, make our pagination pretty if ($wp_rewrite->using_permalinks()) { // Page or single if (is_page() || is_single()) { $base = get_permalink(); // User's replies } elseif (bbp_is_single_user_replies()) { $base = bbp_get_user_replies_created_url(bbp_get_displayed_user_id()); // Single topic } else { $base = get_permalink(bbp_get_topic_id()); } $base = trailingslashit($base) . user_trailingslashit($wp_rewrite->pagination_base . '/%#%/'); // Unpretty permalinks } else { $base = add_query_arg('paged', '%#%'); } // Add pagination to query object $bbp->reply_query->pagination_links = paginate_links(apply_filters('bbp_replies_pagination', array('base' => $base, 'format' => '', 'total' => ceil((int) $bbp->reply_query->found_posts / (int) $posts_per_page), 'current' => (int) $bbp->reply_query->paged, 'prev_text' => '←', 'next_text' => '→', 'mid_size' => 1, 'add_args' => bbp_get_view_all() ? array('view' => 'all') : false))); // Remove first page from pagination if ($wp_rewrite->using_permalinks()) { $bbp->reply_query->pagination_links = str_replace($wp_rewrite->pagination_base . '/1/', '', $bbp->reply_query->pagination_links); } else { $bbp->reply_query->pagination_links = str_replace('&paged=1', '', $bbp->reply_query->pagination_links); } } // Return object return apply_filters('bbp_has_replies', $bbp->reply_query->have_posts(), $bbp->reply_query); }
?> <div id="post-<?php bbp_reply_id(); ?> " class="bbp-reply-header"> <div class="bbp-meta"> <span class="bbp-reply-post-date"><?php bbp_reply_post_date(); ?> </span> <?php if (false && bbp_is_single_user_replies()) { ?> <span class="bbp-header"> <?php _e('in reply to: ', 'bbpress'); ?> <a class="bbp-topic-permalink" href="<?php bbp_topic_permalink(bbp_get_reply_topic_id()); ?> "><?php bbp_topic_title(bbp_get_reply_topic_id()); ?> </a> </span>
function wm_bbp_large_topic() { global $paged; //Requirements check if (!(bbp_is_single_topic() || bbp_is_single_reply())) { return; } //Helper variables $output = array(); $post_id = bbp_is_single_reply() ? bbp_get_reply_topic_id() : get_the_id(); //Preparing output $output[10] = '<div class="bbp-large-topic">'; $output[20] = '<div class="wrap-inner">'; $output[30] = '<div class="content-area site-content pane twelve">'; $output[100] = '<div ' . bbp_get_reply_class() . wm_schema_org('article') . '>'; //Author $output[110] = '<div class="bbp-reply-author">'; $output[120] = bbp_get_reply_author_link(array('post_id' => $post_id, 'sep' => '<br />', 'show_role' => true)); $output[130] = '</div>'; // /.bbp-reply-author //Heading and content $output[200] = '<div class="bbp-reply-content">'; $output[210] = '<h1 class="bbp-topic-title">'; if (1 < $paged) { $output[210] .= '<a href="' . get_permalink($post_id) . '">'; } $output[210] .= bbp_get_topic_title($post_id); if (1 < $paged) { $output[210] .= '</a> ' . wm_paginated_suffix('small'); } $output[210] .= '</h1>'; $output[220] = bbp_get_topic_tag_list($post_id); if (!post_password_required($post_id)) { $output[230] = '<div class="bbp-content-container">'; setup_postdata(get_post($post_id)); $output[240] = apply_filters('wmhook_content_filters', bbp_get_topic_content($post_id), $post_id); wp_reset_postdata(); $output[250] = '</div>'; // /.bbp-content-container } $output[260] = '</div>'; // /.bbp-reply-content //Meta $output[300] = '<div class="bbp-meta">'; $output[310] = '<span class="bbp-reply-post-date">' . bbp_get_reply_post_date($post_id) . '</span>'; if (bbp_is_single_user_replies()) { $output[320] = '<span class="bbp-header">'; $output[330] = __('in reply to: ', 'mustang'); $output[340] = '<a class="bbp-topic-permalink" href="' . bbp_get_topic_permalink(bbp_get_reply_topic_id($post_id)) . '">'; $output[350] = bbp_get_topic_title(bbp_get_reply_topic_id($post_id)); $output[360] = '</a>'; // /.bbp-topic-permalink $output[370] = '</span>'; // /.bbp-header } $output[380] = bbp_get_reply_admin_links(array('id' => $post_id)); $output[390] = '</div>'; // /.bbp-meta $output[500] = '</div>'; // /.bbp_get_reply_class() $output[600] = '</div>'; // /.content-area $output[610] = '</div>'; // /.wrap-inner $output[620] = '</div>'; // /.bbp-large-topic //Output $output = apply_filters('wmhook_wm_bbp_large_topic_output', $output, $post_id); echo implode('', $output); }
?> <?php do_action( 'bbp_template_before_user_details' ); ?> <div id="bbp-single-user-details"> <div id="bbp-user-avatar"> <span class='vcard'> <a class="url fn n" href="<?php bbp_user_profile_url(); ?>" title="<?php bbp_displayed_user_field( 'display_name' ); ?>" rel="me"> <?php echo get_avatar( bbp_get_displayed_user_field( 'user_email' ), apply_filters( 'bbp_single_user_details_avatar_size', 150 ) ); ?> </a> </span> </div><!-- #author-avatar --> <div id="bbp-user-navigation"> <ul> <li class="<?php if ( bbp_is_single_user_profile() ) :?>current<?php endif; ?>"> <span class="vcard bbp-user-profile-link"> <a class="url fn n" href="<?php bbp_user_profile_url(); ?>" title="<?php printf( __( "%s's Profile", 'bbpress' ), esc_attr( bbp_get_displayed_user_field( 'display_name' ) ) ); ?>" rel="me"><?php _e( 'Profile', 'bbpress' ); ?></a> </span> </li> <li class="<?php if ( bbp_is_single_user_topics() ) :?>current<?php endif; ?>"> <span class='bbp-user-topics-created-link'> <a href="<?php bbp_user_topics_created_url(); ?>" title="<?php printf( __( "%s's Topics Started", 'bbpress' ), esc_attr( bbp_get_displayed_user_field( 'display_name' ) ) ); ?>"><?php _e( 'Topics Started', 'bbpress' ); ?></a> </span> </li> <li class="<?php if ( bbp_is_single_user_replies() ) :?>current<?php endif;
* @subpackage Theme */ ?> <div id="post-<?php bbp_reply_id(); ?> " <?php bbp_reply_class(); ?> > <div class="bbp-reply-header x-bbp-item-info-header"> <?php if (bbp_is_single_user_replies() || bbp_is_search()) { ?> <h3 class="x-context-title"> <?php _e('In reply to: ', 'bbpress'); ?> <a href="<?php bbp_topic_permalink(bbp_get_reply_topic_id()); ?> "><?php bbp_topic_title(bbp_get_reply_topic_id()); ?> </a> </h3>