本文整理汇总了PHP中bbp_is_favorites函数的典型用法代码示例。如果您正苦于以下问题:PHP bbp_is_favorites函数的具体用法?PHP bbp_is_favorites怎么用?PHP bbp_is_favorites使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了bbp_is_favorites函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: kleo_bbpress_favorites_fix
function kleo_bbpress_favorites_fix($r)
{
if (bbp_is_favorites() || bbp_is_subscriptions()) {
$r['post_author'] = 0;
$r['author'] = 0;
}
return $r;
}
示例2: bbp_template_include_theme_supports
/**
* Possibly intercept the template being loaded
*
* Listens to the 'template_include' filter and waits for any bbPress specific
* template condition to be met. If one is met and the template file exists,
* it will be used; otherwise
*
* Note that the _edit() checks are ahead of their counterparts, to prevent them
* from being stomped on accident.
*
* @since bbPress (r3032)
*
* @param string $template
*
* @uses bbp_is_single_user() To check if page is single user
* @uses bbp_get_single_user_template() To get user template
* @uses bbp_is_single_user_edit() To check if page is single user edit
* @uses bbp_get_single_user_edit_template() To get user edit template
* @uses bbp_is_single_view() To check if page is single view
* @uses bbp_get_single_view_template() To get view template
* @uses bbp_is_search() To check if page is search
* @uses bbp_get_search_template() To get search template
* @uses bbp_is_forum_edit() To check if page is forum edit
* @uses bbp_get_forum_edit_template() To get forum edit template
* @uses bbp_is_topic_merge() To check if page is topic merge
* @uses bbp_get_topic_merge_template() To get topic merge template
* @uses bbp_is_topic_split() To check if page is topic split
* @uses bbp_get_topic_split_template() To get topic split template
* @uses bbp_is_topic_edit() To check if page is topic edit
* @uses bbp_get_topic_edit_template() To get topic edit template
* @uses bbp_is_reply_move() To check if page is reply move
* @uses bbp_get_reply_move_template() To get reply move template
* @uses bbp_is_reply_edit() To check if page is reply edit
* @uses bbp_get_reply_edit_template() To get reply edit template
* @uses bbp_set_theme_compat_template() To set the global theme compat template
*
* @return string The path to the template file that is being used
*/
function bbp_template_include_theme_supports($template = '')
{
// Editing a user
if (bbp_is_single_user_edit() && ($new_template = bbp_get_single_user_edit_template())) {
// User favorites
} elseif (bbp_is_favorites() && ($new_template = bbp_get_favorites_template())) {
// User favorites
} elseif (bbp_is_subscriptions() && ($new_template = bbp_get_subscriptions_template())) {
// Viewing a user
} elseif (bbp_is_single_user() && ($new_template = bbp_get_single_user_template())) {
// Single View
} elseif (bbp_is_single_view() && ($new_template = bbp_get_single_view_template())) {
// Search
} elseif (bbp_is_search() && ($new_template = bbp_get_search_template())) {
// Forum edit
} elseif (bbp_is_forum_edit() && ($new_template = bbp_get_forum_edit_template())) {
// Single Forum
} elseif (bbp_is_single_forum() && ($new_template = bbp_get_single_forum_template())) {
// Forum Archive
} elseif (bbp_is_forum_archive() && ($new_template = bbp_get_forum_archive_template())) {
// Topic merge
} elseif (bbp_is_topic_merge() && ($new_template = bbp_get_topic_merge_template())) {
// Topic split
} elseif (bbp_is_topic_split() && ($new_template = bbp_get_topic_split_template())) {
// Topic edit
} elseif (bbp_is_topic_edit() && ($new_template = bbp_get_topic_edit_template())) {
// Single Topic
} elseif (bbp_is_single_topic() && ($new_template = bbp_get_single_topic_template())) {
// Topic Archive
} elseif (bbp_is_topic_archive() && ($new_template = bbp_get_topic_archive_template())) {
// Reply move
} elseif (bbp_is_reply_move() && ($new_template = bbp_get_reply_move_template())) {
// Editing a reply
} elseif (bbp_is_reply_edit() && ($new_template = bbp_get_reply_edit_template())) {
// Single Reply
} elseif (bbp_is_single_reply() && ($new_template = bbp_get_single_reply_template())) {
// Editing a topic tag
} elseif (bbp_is_topic_tag_edit() && ($new_template = bbp_get_topic_tag_edit_template())) {
// Viewing a topic tag
} elseif (bbp_is_topic_tag() && ($new_template = bbp_get_topic_tag_template())) {
}
// A bbPress template file was located, so override the WordPress template
// and use it to switch off bbPress's theme compatibility.
if (!empty($new_template)) {
$template = bbp_set_template_included($new_template);
}
return apply_filters('bbp_template_include_theme_supports', $template);
}
示例3: bbp_template_include_theme_supports
/**
* Possibly intercept the template being loaded
*
* Listens to the 'template_include' filter and waits for any bbPress specific
* template condition to be met. If one is met and the template file exists,
* it will be used; otherwise
*
* Note that the _edit() checks are ahead of their counterparts, to prevent them
* from being stomped on accident.
*
* @since bbPress (r3032)
*
* @param string $template
*
* @uses bbp_is_single_user() To check if page is single user
* @uses bbp_get_single_user_template() To get user template
* @uses bbp_is_single_user_edit() To check if page is single user edit
* @uses bbp_get_single_user_edit_template() To get user edit template
* @uses bbp_is_single_view() To check if page is single view
* @uses bbp_get_single_view_template() To get view template
* @uses bbp_is_forum_edit() To check if page is forum edit
* @uses bbp_get_forum_edit_template() To get forum edit template
* @uses bbp_is_topic_merge() To check if page is topic merge
* @uses bbp_get_topic_merge_template() To get topic merge template
* @uses bbp_is_topic_split() To check if page is topic split
* @uses bbp_get_topic_split_template() To get topic split template
* @uses bbp_is_topic_edit() To check if page is topic edit
* @uses bbp_get_topic_edit_template() To get topic edit template
* @uses bbp_is_reply_edit() To check if page is reply edit
* @uses bbp_get_reply_edit_template() To get reply edit template
* @uses bbp_set_theme_compat_template() To set the global theme compat template
*
* @return string The path to the template file that is being used
*/
function bbp_template_include_theme_supports($template = '')
{
// Editing a user
if (bbp_is_single_user_edit() && ($new_template = bbp_get_single_user_edit_template())) {
// User favorites
} elseif (bbp_is_favorites() && ($new_template = bbp_get_favorites_template())) {
// User favorites
} elseif (bbp_is_subscriptions() && ($new_template = bbp_get_subscriptions_template())) {
// Viewing a user
} elseif (bbp_is_single_user() && ($new_template = bbp_get_single_user_template())) {
// Single View
} elseif (bbp_is_single_view() && ($new_template = bbp_get_single_view_template())) {
// Forum edit
} elseif (bbp_is_forum_edit() && ($new_template = bbp_get_forum_edit_template())) {
// Single Forum
} elseif (bbp_is_single_forum() && ($new_template = bbp_get_single_forum_template())) {
// Forum Archive
} elseif (bbp_is_forum_archive() && ($new_template = bbp_get_forum_archive_template())) {
// Topic merge
} elseif (bbp_is_topic_merge() && ($new_template = bbp_get_topic_merge_template())) {
// Topic split
} elseif (bbp_is_topic_split() && ($new_template = bbp_get_topic_split_template())) {
// Topic edit
} elseif (bbp_is_topic_edit() && ($new_template = bbp_get_topic_edit_template())) {
// Single Topic
} elseif (bbp_is_single_topic() && ($new_template = bbp_get_single_topic_template())) {
// Topic Archive
} elseif (bbp_is_topic_archive() && ($new_template = bbp_get_topic_archive_template())) {
// Editing a reply
} elseif (bbp_is_reply_edit() && ($new_template = bbp_get_reply_edit_template())) {
// Single Reply
} elseif (bbp_is_single_reply() && ($new_template = bbp_get_single_reply_template())) {
// Editing a topic tag
} elseif (bbp_is_topic_tag_edit() && ($new_template = bbp_get_topic_tag_edit_template())) {
// Viewing a topic tag
} elseif (bbp_is_topic_tag() && ($new_template = bbp_get_topic_tag_template())) {
}
// bbPress template file exists
if (!empty($new_template)) {
// Override the WordPress template with a bbPress one
$template = $new_template;
// @see: bbp_template_include_theme_compat()
bbpress()->theme_compat->bbpress_template = true;
}
return apply_filters('bbp_template_include_theme_supports', $template);
}
示例4: bbp_topic_id
<ul id="bbp-topic-<?php
bbp_topic_id();
?>
" <?php
bbp_topic_class();
?>
>
<li class="bbp-topic-title">
<?php
if (bbp_is_user_home()) {
?>
<?php
if (bbp_is_favorites()) {
?>
<span class="bbp-topic-action">
<?php
do_action('bbp_theme_before_topic_favorites_action');
?>
<?php
bbp_user_favorites_link(array('before' => '', 'favorite' => '+', 'favorited' => '×'));
?>
<?php
do_action('bbp_theme_after_topic_favorites_action');
?>
示例5: stachestack_bbp_get_user_favorites_link
/**
* User favorites link
*
* Return the link to make a topic favorite/remove a topic from
* favorites
*
* @since bbPress (r2652)
*
* @param mixed $args This function supports these arguments:
* - subscribe: Favorite text
* - unsubscribe: Unfavorite text
* - user_id: User id
* - topic_id: Topic id
* - before: Before the link
* - after: After the link
* @param int $user_id Optional. User id
* @param int $topic_id Optional. Topic id
* @param bool $wrap Optional. If you want to wrap the link in <span id="favorite-toggle">. See ajax_favorite()
* @uses bbp_get_user_id() To get the user id
* @uses current_user_can() If the current user can edit the user
* @uses bbp_get_topic_id() To get the topic id
* @uses bbp_is_user_favorite() To check if the topic is user's favorite
* @uses bbp_get_favorites_permalink() To get the favorites permalink
* @uses bbp_get_topic_permalink() To get the topic permalink
* @uses bbp_is_favorites() Is it the favorites page?
* @uses apply_filters() Calls 'bbp_get_user_favorites_link' with the
* html, add args, remove args, user & topic id
* @return string User favorites link
*/
function stachestack_bbp_get_user_favorites_link($args = '', $user_id = 0, $wrap = true)
{
if (!bbp_is_favorites_active()) {
return false;
}
// Parse arguments against default values
$r = bbp_parse_args($args, array('favorite' => __('Favorite', 'bbpress'), 'favorited' => __('Favorited', 'bbpress'), 'user_id' => 0, 'topic_id' => 0, 'before' => '', 'after' => ''), 'get_user_favorites_link');
// Validate user and topic ID's
$user_id = bbp_get_user_id($r['user_id'], true, true);
$topic_id = bbp_get_topic_id($r['topic_id']);
if (empty($user_id) || empty($topic_id)) {
return false;
}
// No link if you can't edit yourself
if (!current_user_can('edit_user', (int) $user_id)) {
return false;
}
// Decide which link to show
$is_fav = bbp_is_user_favorite($user_id, $topic_id);
if (!empty($is_fav)) {
$text = $r['favorited'];
$query_args = array('action' => 'bbp_favorite_remove', 'topic_id' => $topic_id);
} else {
$text = $r['favorite'];
$query_args = array('action' => 'bbp_favorite_add', 'topic_id' => $topic_id);
}
// Create the link based where the user is and if the topic is
// already the user's favorite
if (bbp_is_favorites()) {
$permalink = bbp_get_favorites_permalink($user_id);
} elseif (bbp_is_single_topic() || bbp_is_single_reply()) {
$permalink = bbp_get_topic_permalink($topic_id);
} else {
$permalink = get_permalink();
}
$url = esc_url(wp_nonce_url(add_query_arg($query_args, $permalink), 'toggle-favorite_' . $topic_id));
$sub = $is_fav ? ' class="is-favorite"' : '';
$html = sprintf('%s<span id="favorite-%d" %s><a href="%s" class="btn btn-success btn-xs favorite-toggle" data-topic="%d">%s</a></span>%s', $r['before'], $topic_id, $sub, $url, $topic_id, $text, $r['after']);
// Initial output is wrapped in a span, ajax output is hooked to this
if (!empty($wrap)) {
$html = '<span id="favorite-toggle">' . $html . '</span>';
}
// Return the link
return apply_filters('bbp_get_user_favorites_link', $html, $r, $user_id, $topic_id);
}
示例6: bbp_has_topics
//.........这里部分代码省略.........
// If any posts have been excluded specifically, Ignore those that are sticky.
if (!empty($stickies) && !empty($r['post__not_in'])) {
$stickies = array_diff($stickies, $r['post__not_in']);
}
// Fetch sticky posts that weren't in the query results
if (!empty($stickies)) {
// Query to use in get_posts to get sticky posts
$sticky_query = array('post_type' => bbp_get_topic_post_type(), 'post_parent' => 'any', 'meta_key' => '_bbp_last_active_time', 'meta_type' => 'DATETIME', 'orderby' => 'meta_value', 'order' => 'DESC', 'include' => $stickies);
// Cleanup
unset($stickies);
// Conditionally exclude private/hidden forum ID's
$exclude_forum_ids = bbp_exclude_forum_ids('array');
if (!empty($exclude_forum_ids)) {
$sticky_query['post_parent__not_in'] = $exclude_forum_ids;
}
// What are the default allowed statuses (based on user caps)
if (bbp_get_view_all()) {
$sticky_query['post_status'] = $r['post_status'];
// Lean on the 'perm' query var value of 'readable' to provide statuses
} else {
$sticky_query['post_status'] = $r['perm'];
}
// Get all stickies
$sticky_posts = get_posts($sticky_query);
if (!empty($sticky_posts)) {
// Get a count of the visible stickies
$sticky_count = count($sticky_posts);
// Merge the stickies topics with the query topics .
$bbp->topic_query->posts = array_merge($sticky_posts, $bbp->topic_query->posts);
// Adjust loop and counts for new sticky positions
$bbp->topic_query->found_posts = (int) $bbp->topic_query->found_posts + (int) $sticky_count;
$bbp->topic_query->post_count = (int) $bbp->topic_query->post_count + (int) $sticky_count;
// Cleanup
unset($sticky_posts);
}
}
}
}
// If no limit to posts per page, set it to the current post_count
if (-1 === $r['posts_per_page']) {
$r['posts_per_page'] = $bbp->topic_query->post_count;
}
// Add pagination values to query object
$bbp->topic_query->posts_per_page = $r['posts_per_page'];
$bbp->topic_query->paged = $r['paged'];
// Only add pagination if query returned results
if (((int) $bbp->topic_query->post_count || (int) $bbp->topic_query->found_posts) && (int) $bbp->topic_query->posts_per_page) {
// Limit the number of topics shown based on maximum allowed pages
if (!empty($r['max_num_pages']) && $bbp->topic_query->found_posts > $bbp->topic_query->max_num_pages * $bbp->topic_query->post_count) {
$bbp->topic_query->found_posts = $bbp->topic_query->max_num_pages * $bbp->topic_query->post_count;
}
// If pretty permalinks are enabled, make our pagination pretty
if (bbp_use_pretty_urls()) {
// User's topics
if (bbp_is_single_user_topics()) {
$base = bbp_get_user_topics_created_url(bbp_get_displayed_user_id());
// User's favorites
} elseif (bbp_is_favorites()) {
$base = bbp_get_favorites_permalink(bbp_get_displayed_user_id());
// User's subscriptions
} elseif (bbp_is_subscriptions()) {
$base = bbp_get_subscriptions_permalink(bbp_get_displayed_user_id());
// Root profile page
} elseif (bbp_is_single_user()) {
$base = bbp_get_user_profile_url(bbp_get_displayed_user_id());
// View
} elseif (bbp_is_single_view()) {
$base = bbp_get_view_url();
// Topic tag
} elseif (bbp_is_topic_tag()) {
$base = bbp_get_topic_tag_link();
// Page or single post
} elseif (is_page() || is_single()) {
$base = get_permalink();
// Forum archive
} elseif (bbp_is_forum_archive()) {
$base = bbp_get_forums_url();
// Topic archive
} elseif (bbp_is_topic_archive()) {
$base = bbp_get_topics_url();
// Default
} else {
$base = get_permalink((int) $r['post_parent']);
}
// Use pagination base
$base = trailingslashit($base) . user_trailingslashit(bbp_get_paged_slug() . '/%#%/');
// Unpretty pagination
} else {
$base = add_query_arg('paged', '%#%');
}
// Pagination settings with filter
$bbp_topic_pagination = apply_filters('bbp_topic_pagination', array('base' => $base, 'format' => '', 'total' => $r['posts_per_page'] === $bbp->topic_query->found_posts ? 1 : ceil((int) $bbp->topic_query->found_posts / (int) $r['posts_per_page']), 'current' => (int) $bbp->topic_query->paged, 'prev_text' => is_rtl() ? '→' : '←', 'next_text' => is_rtl() ? '←' : '→', 'mid_size' => 1));
// Add pagination to query object
$bbp->topic_query->pagination_links = paginate_links($bbp_topic_pagination);
// Remove first page from pagination
$bbp->topic_query->pagination_links = str_replace(bbp_get_paged_slug() . "/1/'", "'", $bbp->topic_query->pagination_links);
}
// Return object
return apply_filters('bbp_has_topics', $bbp->topic_query->have_posts(), $bbp->topic_query);
}
示例7: is_bbpress
/**
* Use the above is_() functions to return if in any bbPress page
*
* @since bbPress (r3344)
*
* @uses bbp_is_single_forum()
* @uses bbp_is_single_topic()
* @uses bbp_is_topic_edit()
* @uses bbp_is_topic_merge()
* @uses bbp_is_topic_split()
* @uses bbp_is_single_reply()
* @uses bbp_is_reply_edit()
* @uses bbp_is_reply_edit()
* @uses bbp_is_single_view()
* @uses bbp_is_single_user_edit()
* @uses bbp_is_single_user()
* @uses bbp_is_user_home()
* @uses bbp_is_subscriptions()
* @uses bbp_is_favorites()
* @uses bbp_is_topics_created()
* @return bool In a bbPress page
*/
function is_bbpress()
{
// Defalt to false
$retval = false;
/** Archives **************************************************************/
if (bbp_is_forum_archive()) {
$retval = true;
} elseif (bbp_is_topic_archive()) {
$retval = true;
} elseif (bbp_is_topic_tag()) {
$retval = true;
} elseif (bbp_is_topic_tag_edit()) {
$retval = true;
} elseif (bbp_is_single_forum()) {
$retval = true;
} elseif (bbp_is_single_topic()) {
$retval = true;
} elseif (bbp_is_single_reply()) {
$retval = true;
} elseif (bbp_is_topic_edit()) {
$retval = true;
} elseif (bbp_is_topic_merge()) {
$retval = true;
} elseif (bbp_is_topic_split()) {
$retval = true;
} elseif (bbp_is_reply_edit()) {
$retval = true;
} elseif (bbp_is_single_view()) {
$retval = true;
} elseif (bbp_is_single_user_edit()) {
$retval = true;
} elseif (bbp_is_single_user()) {
$retval = true;
} elseif (bbp_is_user_home()) {
$retval = true;
} elseif (bbp_is_user_home_edit()) {
$retval = true;
} elseif (bbp_is_topics_created()) {
$retval = true;
} elseif (bbp_is_favorites()) {
$retval = true;
} elseif (bbp_is_subscriptions()) {
$retval = true;
}
/** Done ******************************************************************/
return (bool) apply_filters('is_bbpress', $retval);
}
示例8: bbp_favorites_handler
/**
* Handles the front end adding and removing of favorite topics
*
* @uses bbp_get_user_id() To get the user id
* @uses bbp_verify_nonce_request() To verify the nonce and check the request
* @uses current_user_can() To check if the current user can edit the user
* @uses bbPress:errors:add() To log the error messages
* @uses bbp_is_user_favorite() To check if the topic is in user's favorites
* @uses bbp_remove_user_favorite() To remove the user favorite
* @uses bbp_add_user_favorite() To add the user favorite
* @uses do_action() Calls 'bbp_favorites_handler' with success, user id, topic
* id and action
* @uses bbp_is_favorites() To check if it's the favorites page
* @uses bbp_get_favorites_link() To get the favorites page link
* @uses bbp_get_topic_permalink() To get the topic permalink
* @uses wp_safe_redirect() To redirect to the url
*/
function bbp_favorites_handler()
{
if (!bbp_is_favorites_active()) {
return false;
}
// Bail if not a GET action
if ('GET' !== strtoupper($_SERVER['REQUEST_METHOD'])) {
return;
}
// Bail if required GET actions aren't passed
if (empty($_GET['topic_id']) || empty($_GET['action'])) {
return;
}
// Setup possible get actions
$possible_actions = array('bbp_favorite_add', 'bbp_favorite_remove');
// Bail if actions aren't meant for this function
if (!in_array($_GET['action'], $possible_actions)) {
return;
}
// What action is taking place?
$action = $_GET['action'];
$topic_id = intval($_GET['topic_id']);
$user_id = bbp_get_user_id(0, true, true);
// Check for empty topic
if (empty($topic_id)) {
bbp_add_error('bbp_favorite_topic_id', __('<strong>ERROR</strong>: No topic was found! Which topic are you marking/unmarking as favorite?', 'bbpress'));
// Check nonce
} elseif (!bbp_verify_nonce_request('toggle-favorite_' . $topic_id)) {
bbp_add_error('bbp_favorite_nonce', __('<strong>ERROR</strong>: Are you sure you wanted to do that?', 'bbpress'));
// Check current user's ability to edit the user
} elseif (!current_user_can('edit_user', $user_id)) {
bbp_add_error('bbp_favorite_permissions', __('<strong>ERROR</strong>: You don\'t have the permission to edit favorites of that user!', 'bbpress'));
}
// Bail if errors
if (bbp_has_errors()) {
return;
}
/** No errors *************************************************************/
$is_favorite = bbp_is_user_favorite($user_id, $topic_id);
$success = false;
if (true == $is_favorite && 'bbp_favorite_remove' == $action) {
$success = bbp_remove_user_favorite($user_id, $topic_id);
} elseif (false == $is_favorite && 'bbp_favorite_add' == $action) {
$success = bbp_add_user_favorite($user_id, $topic_id);
}
// Do additional favorites actions
do_action('bbp_favorites_handler', $success, $user_id, $topic_id, $action);
// Success!
if (true == $success) {
// Redirect back from whence we came
if (bbp_is_favorites()) {
$redirect = bbp_get_favorites_permalink($user_id);
} elseif (bbp_is_single_user()) {
$redirect = bbp_get_user_profile_url();
} elseif (is_singular(bbp_get_topic_post_type())) {
$redirect = bbp_get_topic_permalink($topic_id);
} elseif (is_single() || is_page()) {
$redirect = get_permalink();
}
wp_safe_redirect($redirect);
// For good measure
exit;
// Fail! Handle errors
} elseif (true == $is_favorite && 'bbp_favorite_remove' == $action) {
bbp_add_error('bbp_favorite_remove', __('<strong>ERROR</strong>: There was a problem removing that topic from favorites!', 'bbpress'));
} elseif (false == $is_favorite && 'bbp_favorite_add' == $action) {
bbp_add_error('bbp_favorite_add', __('<strong>ERROR</strong>: There was a problem favoriting that topic!', 'bbpress'));
}
}
示例9: bbp_get_template_part
<?php
bbp_get_template_part('loop', 'single-topic');
?>
<?php
}
?>
</li>
<li class="bbp-footer">
<div class="tr">
<p>
<span class="td colspan<?php
echo bbp_is_user_home() && (bbp_is_favorites() || bbp_is_subscriptions()) ? '5' : '4';
?>
"> </span>
</p>
</div><!-- .tr -->
</li>
</ul><!-- #bbp-forum-<?php
bbp_forum_id();
?>
-->
<?php
do_action('bbp_template_after_topics_loop');
示例10: bbp_title
/**
* 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
//.........这里部分代码省略.........
示例11: get_header
<?php
get_header();
$cb_user_page = NULL;
global $bb_current_user;
$cb_breadcrumbs = ot_get_option('cb_breadcrumbs', 'on');
$cb_theme_style = ot_get_option('cb_theme_style', 'cb_boxed');
$cb_bbpress_sidebar = ot_get_option('cb_bbpress_sidebar', 'sidebar');
$cb_bbpress_global_color = ot_get_option('cb_bbpress_global_color', '#eb9812');
$cb_current_user = bbp_get_user_id();
$cb_forum_id = bbp_get_forum_id();
$cb_title = get_the_title();
if (bbp_is_single_user() == true || bbp_is_favorites() == true) {
$cb_title = '<h1 id="cb-cat-title"><span>' . __('Member', 'cubell') . ' <i class="icon-long-arrow-right"></i></span> ' . get_the_title() . '</h1>';
$cb_user_page = 'cb-author-page ';
}
$cb_sidebar_position = NULL;
if ($cb_bbpress_sidebar == 'sidebar_left') {
$cb_sidebar_position = ' cb-sidebar-left ';
} elseif ($cb_bbpress_sidebar == 'nosidebar') {
$cb_sidebar_position = ' cb-full-width';
}
?>
<div id="cb-content" class="<?php
if ($cb_user_page != NULL) {
echo $cb_user_page;
}
?>
wrap clearfix">
示例12: widget
//.........这里部分代码省略.........
?>
</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'];
}
示例13: bbp_get_user_favorites_link
/**
* User favorites link
*
* Return the link to make a topic favorite/remove a topic from
* favorites
*
* @since bbPress (r2652)
*
* @param array $add Optional. Add to favorites args
* @param array $rem Optional. Remove from favorites args
* @param int $user_id Optional. User id
* @param int $topic_id Optional. Topic id
* @uses bbp_get_user_id() To get the user id
* @uses current_user_can() If the current user can edit the user
* @uses bbp_get_topic_id() To get the topic id
* @uses bbp_is_user_favorite() To check if the topic is user's favorite
* @uses bbp_get_favorites_permalink() To get the favorites permalink
* @uses bbp_get_topic_permalink() To get the topic permalink
* @uses bbp_is_favorites() Is it the favorites page?
* @uses apply_filters() Calls 'bbp_get_user_favorites_link' with the
* html, add args, remove args, user & topic id
* @return string User favorites link
*/
function bbp_get_user_favorites_link($add = array(), $rem = array(), $user_id = 0, $topic_id = 0)
{
if (!bbp_is_favorites_active()) {
return false;
}
// Validate user and topic ID's
$user_id = bbp_get_user_id($user_id, true, true);
$topic_id = bbp_get_topic_id($topic_id);
if (empty($user_id) || empty($topic_id)) {
return false;
}
if (!current_user_can('edit_user', (int) $user_id)) {
return false;
}
if (empty($add) || !is_array($add)) {
$add = array('mid' => __('Add this topic to your favorites', 'bbpress'), 'post' => __(' (%?%)', 'bbpress'));
}
if (empty($rem) || !is_array($rem)) {
$rem = array('pre' => __('This topic is one of your %favorites% [', 'bbpress'), 'mid' => __('×', 'bbpress'), 'post' => __(']', 'bbpress'));
}
$is_fav = bbp_is_user_favorite($user_id, $topic_id);
if (!empty($is_fav)) {
$url = esc_url(bbp_get_favorites_permalink($user_id));
$rem = preg_replace('|%(.+)%|', "<a href='{$url}'>\$1</a>", $rem);
$favs = array('action' => 'bbp_favorite_remove', 'topic_id' => $topic_id);
$pre = is_array($rem) && isset($rem['pre']) ? $rem['pre'] : '';
$mid = is_array($rem) && isset($rem['mid']) ? $rem['mid'] : (is_string($rem) ? $rem : '');
$_post = is_array($rem) && isset($rem['post']) ? $rem['post'] : '';
} else {
$url = esc_url(bbp_get_favorites_permalink($user_id));
$add = preg_replace('|%(.+)%|', "<a href='{$url}'>\$1</a>", $add);
$favs = array('action' => 'bbp_favorite_add', 'topic_id' => $topic_id);
$pre = is_array($add) && isset($add['pre']) ? $add['pre'] : '';
$mid = is_array($add) && isset($add['mid']) ? $add['mid'] : (is_string($add) ? $add : '');
$_post = is_array($add) && isset($add['post']) ? $add['post'] : '';
}
// Create the link based where the user is and if the topic is
// already the user's favorite
if (bbp_is_favorites()) {
$permalink = bbp_get_favorites_permalink($user_id);
} elseif (is_singular(bbp_get_topic_post_type())) {
$permalink = bbp_get_topic_permalink($topic_id);
} elseif (is_singular(bbp_get_reply_post_type())) {
$permalink = bbp_get_topic_permalink($topic_id);
} elseif (bbp_is_query_name('bbp_single_topic')) {
$permalink = get_permalink();
}
$url = esc_url(wp_nonce_url(add_query_arg($favs, $permalink), 'toggle-favorite_' . $topic_id));
$is_fav = $is_fav ? 'is-favorite' : '';
$html = '<span id="favorite-toggle"><span id="favorite-' . $topic_id . '" class="' . $is_fav . '">' . $pre . '<a href="' . $url . '" class="dim:favorite-toggle:favorite-' . $topic_id . ':is-favorite">' . $mid . '</a>' . $_post . '</span></span>';
// Return the link
return apply_filters('bbp_get_user_favorites_link', $html, $add, $rem, $user_id, $topic_id);
}
示例14: cb_bbp_author_details
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;
}
示例15: bbp_has_topics
//.........这里部分代码省略.........
$sticky_offset++;
// Remove post from sticky posts array
$offset = array_search($sticky->ID, $stickies);
// Cleanup
unset($stickies[$offset]);
unset($sticky);
}
}
// If any posts have been excluded specifically, Ignore those that are sticky.
if (!empty($stickies) && !empty($post__not_in)) {
$stickies = array_diff($stickies, $post__not_in);
}
// Fetch sticky posts that weren't in the query results
if (!empty($stickies)) {
// Query to use in get_posts to get sticky posts
$sticky_query = array('post_type' => bbp_get_topic_post_type(), 'post_parent' => 'any', 'post_status' => $default_post_status, 'meta_key' => '_bbp_last_active_time', 'orderby' => 'meta_value', 'order' => 'DESC', 'include' => $stickies);
// Get all stickies
$sticky_posts = get_posts($sticky_query);
if (!empty($sticky_posts)) {
// Get a count of the visible stickies
$sticky_count = count($sticky_posts);
// Loop through stickies and add them to beginning of array
foreach ($sticky_posts as $sticky) {
$topics[] = $sticky;
}
// Loop through topics and add them to end of array
foreach ($bbp->topic_query->posts as $topic) {
$topics[] = $topic;
}
// Adjust loop and counts for new sticky positions
$bbp->topic_query->posts = $topics;
$bbp->topic_query->found_posts = (int) $bbp->topic_query->found_posts + (int) $sticky_count;
$bbp->topic_query->post_count = (int) $bbp->topic_query->post_count + (int) $sticky_count;
// Cleanup
unset($topics);
unset($stickies);
unset($sticky_posts);
}
}
}
}
// If no limit to posts per page, set it to the current post_count
if (-1 == $posts_per_page) {
$posts_per_page = $bbp->topic_query->post_count;
}
// Add pagination values to query object
$bbp->topic_query->posts_per_page = $posts_per_page;
$bbp->topic_query->paged = $paged;
// Only add pagination if query returned results
if (((int) $bbp->topic_query->post_count || (int) $bbp->topic_query->found_posts) && (int) $bbp->topic_query->posts_per_page) {
// Limit the number of topics shown based on maximum allowed pages
if (!empty($max_num_pages) && $bbp->topic_query->found_posts > $bbp->topic_query->max_num_pages * $bbp->topic_query->post_count) {
$bbp->topic_query->found_posts = $bbp->topic_query->max_num_pages * $bbp->topic_query->post_count;
}
// If pretty permalinks are enabled, make our pagination pretty
if ($wp_rewrite->using_permalinks()) {
// User's topics
if (bbp_is_single_user_topics()) {
$base = bbp_get_user_topics_created_url(bbp_get_displayed_user_id());
// User's favorites
} elseif (bbp_is_favorites()) {
$base = bbp_get_favorites_permalink(bbp_get_displayed_user_id());
// User's subscriptions
} elseif (bbp_is_subscriptions()) {
$base = bbp_get_subscriptions_permalink(bbp_get_displayed_user_id());
// Root profile page
} elseif (bbp_is_single_user()) {
$base = bbp_get_user_profile_url(bbp_get_displayed_user_id());
// View
} elseif (bbp_is_single_view()) {
$base = bbp_get_view_url();
// Topic tag
} elseif (bbp_is_topic_tag()) {
$base = bbp_get_topic_tag_link();
// Page or single post
} elseif (is_page() || is_single()) {
$base = get_permalink();
// Topic archive
} elseif (bbp_is_topic_archive()) {
$base = bbp_get_topics_url();
// Default
} else {
$base = get_permalink($post_parent);
}
// Use pagination base
$base = trailingslashit($base) . user_trailingslashit($wp_rewrite->pagination_base . '/%#%/');
// Unpretty pagination
} else {
$base = add_query_arg('paged', '%#%');
}
// Pagination settings with filter
$bbp_topic_pagination = apply_filters('bbp_topic_pagination', array('base' => $base, 'format' => '', 'total' => $posts_per_page == $bbp->topic_query->found_posts ? 1 : ceil((int) $bbp->topic_query->found_posts / (int) $posts_per_page), 'current' => (int) $bbp->topic_query->paged, 'prev_text' => '←', 'next_text' => '→', 'mid_size' => 1));
// Add pagination to query object
$bbp->topic_query->pagination_links = paginate_links($bbp_topic_pagination);
// Remove first page from pagination
$bbp->topic_query->pagination_links = str_replace($wp_rewrite->pagination_base . "/1/'", "'", $bbp->topic_query->pagination_links);
}
// Return object
return apply_filters('bbp_has_topics', $bbp->topic_query->have_posts(), $bbp->topic_query);
}