本文整理汇总了PHP中bbp_is_topic_archive函数的典型用法代码示例。如果您正苦于以下问题:PHP bbp_is_topic_archive函数的具体用法?PHP bbp_is_topic_archive怎么用?PHP bbp_is_topic_archive使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了bbp_is_topic_archive函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: bpmagic_strip_archive_class_on_forums
function bpmagic_strip_archive_class_on_forums($classes)
{
if (bbp_is_forum_archive() || bbp_is_topic_archive()) {
//search through the arrayand replace
$class_count = count($classes);
for ($i = 0; $i < $class_count; $i++) {
if ($classes[$i] == 'archive') {
unset($classes[$i]);
}
}
}
return $classes;
}
示例2: sidebar_options
/**
* Get sidebar settings based on the page type
*
* @return array
*/
public function sidebar_options()
{
if (is_home()) {
$sidebars = array('global' => '1', 'sidebar_1' => Avada()->settings->get('blog_archive_sidebar'), 'sidebar_2' => Avada()->settings->get('blog_archive_sidebar_2'), 'position' => Avada()->settings->get('blog_sidebar_position'));
} elseif (function_exists('is_bbpress') && is_bbpress()) {
$sidebars = array('global' => Avada()->settings->get('bbpress_global_sidebar'), 'sidebar_1' => Avada()->settings->get('ppbress_sidebar'), 'sidebar_2' => Avada()->settings->get('ppbress_sidebar_2'), 'position' => Avada()->settings->get('bbpress_sidebar_position'));
if (bbp_is_forum_archive() || bbp_is_topic_archive() || bbp_is_user_home() || bbp_is_search()) {
$sidebars = array('global' => '1', 'sidebar_1' => Avada()->settings->get('ppbress_sidebar'), 'sidebar_2' => Avada()->settings->get('ppbress_sidebar_2'), 'position' => Avada()->settings->get('bbpress_sidebar_position'));
}
} elseif (function_exists('is_buddypress') && is_buddypress()) {
$sidebars = array('global' => Avada()->settings->get('bbpress_global_sidebar'), 'sidebar_1' => Avada()->settings->get('ppbress_sidebar'), 'sidebar_2' => Avada()->settings->get('ppbress_sidebar_2'), 'position' => Avada()->settings->get('bbpress_sidebar_position'));
} elseif (class_exists('WooCommerce') && (is_product() || is_shop())) {
$sidebars = array('global' => Avada()->settings->get('woo_global_sidebar'), 'sidebar_1' => Avada()->settings->get('woo_sidebar'), 'sidebar_2' => Avada()->settings->get('woo_sidebar_2'), 'position' => Avada()->settings->get('woo_sidebar_position'));
} elseif (class_exists('WooCommerce') && (is_product_category() || is_product_tag())) {
$sidebars = array('global' => '1', 'sidebar_1' => Avada()->settings->get('woocommerce_archive_sidebar'), 'sidebar_2' => Avada()->settings->get('woocommerce_archive_sidebar_2'), 'position' => Avada()->settings->get('woo_sidebar_position'));
} elseif (is_page()) {
$sidebars = array('global' => Avada()->settings->get('pages_global_sidebar'), 'sidebar_1' => Avada()->settings->get('pages_sidebar'), 'sidebar_2' => Avada()->settings->get('pages_sidebar_2'), 'position' => Avada()->settings->get('default_sidebar_pos'));
} elseif (is_single()) {
$sidebars = array('global' => Avada()->settings->get('posts_global_sidebar'), 'sidebar_1' => Avada()->settings->get('posts_sidebar'), 'sidebar_2' => Avada()->settings->get('posts_sidebar_2'), 'position' => Avada()->settings->get('blog_sidebar_position'));
if (is_singular('avada_portfolio')) {
$sidebars = array('global' => Avada()->settings->get('portfolio_global_sidebar'), 'sidebar_1' => Avada()->settings->get('portfolio_sidebar'), 'sidebar_2' => Avada()->settings->get('portfolio_sidebar_2'), 'position' => Avada()->settings->get('portfolio_sidebar_position'));
} else {
if (is_singular('tribe_events') || is_singular('tribe_organizer') || is_singular('tribe_venue')) {
$sidebars = array('global' => Avada()->settings->get('ec_global_sidebar'), 'sidebar_1' => Avada()->settings->get('ec_sidebar'), 'sidebar_2' => Avada()->settings->get('ec_sidebar_2'), 'position' => Avada()->settings->get('ec_sidebar_pos'));
}
}
if (is_singular('tribe_organizer') || is_singular('tribe_venue')) {
$sidebars['global'] = 1;
}
} elseif (is_archive()) {
$sidebars = array('global' => '1', 'sidebar_1' => Avada()->settings->get('blog_archive_sidebar'), 'sidebar_2' => Avada()->settings->get('blog_archive_sidebar_2'), 'position' => Avada()->settings->get('blog_sidebar_position'));
if (is_post_type_archive('avada_portfolio') || is_tax('portfolio_category') || is_tax('portfolio_skills') || is_tax('portfolio_tags')) {
$sidebars = array('global' => '1', 'sidebar_1' => Avada()->settings->get('portfolio_archive_sidebar'), 'sidebar_2' => Avada()->settings->get('portfolio_archive_sidebar_2'), 'position' => Avada()->settings->get('portfolio_sidebar_position'));
}
} elseif (is_search()) {
$sidebars = array('global' => '1', 'sidebar_1' => Avada()->settings->get('search_sidebar'), 'sidebar_2' => Avada()->settings->get('search_sidebar_2'), 'position' => Avada()->settings->get('search_sidebar_position'));
} else {
$sidebars = array('global' => Avada()->settings->get('pages_global_sidebar'), 'sidebar_1' => Avada()->settings->get('pages_sidebar'), 'sidebar_2' => Avada()->settings->get('pages_sidebar_2'), 'position' => Avada()->settings->get('default_sidebar_pos'));
}
if (class_exists('Tribe__Events__Main') && is_events_archive()) {
$sidebars = array('global' => '1', 'sidebar_1' => Avada()->settings->get('ec_sidebar'), 'sidebar_2' => Avada()->settings->get('ec_sidebar_2'), 'position' => Avada()->settings->get('ec_sidebar_pos'));
}
// Remove sidebars from the certain woocommerce pages
if (class_exists('WooCommerce')) {
if (is_cart() || is_checkout() || is_account_page() || get_option('woocommerce_thanks_page_id') && is_page(get_option('woocommerce_thanks_page_id'))) {
$sidebars = array();
}
}
return $sidebars;
}
示例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_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);
}
示例4: 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);
}
示例5: bbp_has_topics
/**
* The main topic loop. WordPress makes this easy for us
*
* @since 2.0.0 bbPress (r2485)
*
* @param array $args All the arguments supported by {@link WP_Query}
* @uses current_user_can() To check if the current user can edit other's topics
* @uses bbp_get_topic_post_type() To get the topic post type
* @uses WP_Query To make query and get the topics
* @uses is_page() To check if it's a page
* @uses bbp_is_single_forum() To check if it's a forum
* @uses bbp_get_forum_id() To get the forum id
* @uses bbp_get_paged() To get the current page value
* @uses bbp_get_super_stickies() To get the super stickies
* @uses bbp_get_stickies() To get the forum stickies
* @uses bbp_use_pretty_urls() To check if the site is using pretty URLs
* @uses get_permalink() To get the permalink
* @uses add_query_arg() To add custom args to the url
* @uses apply_filters() Calls 'bbp_topics_pagination' with the pagination args
* @uses paginate_links() To paginate the links
* @uses apply_filters() Calls 'bbp_has_topics' with
* bbPres::topic_query::have_posts()
* and bbPres::topic_query
* @return object Multidimensional array of topic information
*/
function bbp_has_topics($args = array())
{
/** Defaults **************************************************************/
// Other defaults
$default_topic_search = !empty($_REQUEST['ts']) ? $_REQUEST['ts'] : false;
$default_show_stickies = (bool) (bbp_is_single_forum() || bbp_is_topic_archive()) && false === $default_topic_search;
$default_post_parent = bbp_is_single_forum() ? bbp_get_forum_id() : 'any';
// Default argument array
$default = array('post_type' => bbp_get_topic_post_type(), 'post_parent' => $default_post_parent, 'meta_key' => '_bbp_last_active_time', 'meta_type' => 'DATETIME', 'orderby' => 'meta_value', 'order' => 'DESC', 'posts_per_page' => bbp_get_topics_per_page(), 'paged' => bbp_get_paged(), 'show_stickies' => $default_show_stickies, 'max_num_pages' => false);
// Only add 's' arg if searching for topics
// See https://bbpress.trac.wordpress.org/ticket/2607
if (!empty($default_topic_search)) {
$default['s'] = $default_topic_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(), bbp_get_pending_status_id());
// Add support for private status
if (current_user_can('read_private_topics')) {
$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';
}
// Maybe query for topic tags
if (bbp_is_topic_tag()) {
$default['term'] = bbp_get_topic_tag_slug();
$default['taxonomy'] = bbp_get_topic_tag_tax_id();
}
/** Setup *****************************************************************/
// Parse arguments against default values
$r = bbp_parse_args($args, $default, 'has_topics');
// Get bbPress
$bbp = bbpress();
// Call the query
$bbp->topic_query = new WP_Query($r);
// Set post_parent back to 0 if originally set to 'any'
if ('any' === $r['post_parent']) {
$r['post_parent'] = 0;
}
// Limited the number of pages shown
if (!empty($r['max_num_pages'])) {
$bbp->topic_query->max_num_pages = $r['max_num_pages'];
}
/** Stickies **************************************************************/
// Put sticky posts at the top of the posts array
if (!empty($r['show_stickies']) && $r['paged'] <= 1) {
// Get super stickies and stickies in this forum
$stickies = bbp_get_super_stickies();
// Get stickies for current forum
if (!empty($r['post_parent'])) {
$stickies = array_merge($stickies, bbp_get_stickies($r['post_parent']));
}
// Remove any duplicate stickies
$stickies = array_unique($stickies);
// We have stickies
if (is_array($stickies) && !empty($stickies)) {
// Start the offset at -1 so first sticky is at correct 0 offset
$sticky_offset = -1;
// Loop over topics and relocate stickies to the front.
foreach ($stickies as $sticky_index => $sticky_ID) {
// Get the post offset from the posts array
$post_offsets = wp_filter_object_list($bbp->topic_query->posts, array('ID' => $sticky_ID), 'OR', 'ID');
// Continue if no post offsets
if (empty($post_offsets)) {
continue;
}
// Loop over posts in current query and splice them into position
foreach (array_keys($post_offsets) as $post_offset) {
$sticky_offset++;
$sticky = $bbp->topic_query->posts[$post_offset];
//.........这里部分代码省略.........
示例6: 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 = '')
{
// Store original title to compare
$_title = $title;
/** Archives **************************************************************/
// Forum Archive
if (bbp_is_forum_archive()) {
$title = bbp_get_forum_archive_title();
// Topic Archive
} elseif (bbp_is_topic_archive()) {
$title = bbp_get_topic_archive_title();
/** Singles ***************************************************************/
// Forum page
} elseif (bbp_is_single_forum()) {
$title = sprintf(__('Forum: %s', 'bbpress'), bbp_get_forum_title());
// Topic page
} elseif (bbp_is_single_topic()) {
$title = sprintf(__('Topic: %s', 'bbpress'), bbp_get_topic_title());
// Replies
} elseif (bbp_is_single_reply()) {
$title = bbp_get_reply_title();
// Topic tag page (or edit)
} elseif (bbp_is_topic_tag() || bbp_is_topic_tag_edit() || get_query_var('bbp_topic_tag')) {
$term = get_queried_object();
$title = sprintf(__('Topic Tag: %s', 'bbpress'), $term->name);
/** Users *****************************************************************/
// Profile page
} elseif (bbp_is_single_user()) {
// Current users profile
if (bbp_is_user_home()) {
$title = __('Your Profile', 'bbpress');
// Other users profile
} else {
$userdata = get_userdata(bbp_get_user_id());
$title = sprintf(__('%s\'s Profile', 'bbpress'), $userdata->display_name);
}
// Profile edit page
} elseif (bbp_is_single_user_edit()) {
// Current users profile
if (bbp_is_user_home_edit()) {
$title = __('Edit Your Profile', 'bbpress');
// Other users profile
} else {
$userdata = get_userdata(bbp_get_user_id());
$title = sprintf(__('Edit %s\'s Profile', 'bbpress'), $userdata->display_name);
}
/** Views *****************************************************************/
// Views
} elseif (bbp_is_single_view()) {
$title = sprintf(__('View: %s', 'bbpress'), bbp_get_view_title());
}
// Filter the raw title
$title = apply_filters('bbp_raw_title', $title, $sep, $seplocation);
// Compare new title with original title
if ($title == $_title) {
return $title;
}
// Temporary separator, for accurate flipping, if necessary
$t_sep = '%WP_TITILE_SEP%';
$prefix = '';
if (!empty($title)) {
$prefix = " {$sep} ";
}
// sep on right, so reverse the order
if ('right' == $seplocation) {
$title_array = explode($t_sep, $title);
$title_array = array_reverse($title_array);
$title = implode(" {$sep} ", $title_array) . $prefix;
// sep on left, do not reverse
} else {
$title_array = explode($t_sep, $title);
//.........这里部分代码省略.........
示例7: _bbpress_items
protected function _bbpress_items()
{
$item = array();
$post_type_object = get_post_type_object(bbp_get_forum_post_type());
if (!empty($post_type_object->has_archive) && !bbp_is_forum_archive()) {
$item[] = '<span typeof="v:Breadcrumb"><a href="' . get_post_type_archive_link(bbp_get_forum_post_type()) . '" property="v:title" rel="v:url"><span>' . bbp_get_forum_archive_title() . '</span></a></span>';
}
if (bbp_is_forum_archive()) {
$item[] = bbp_get_forum_archive_title();
} elseif (bbp_is_topic_archive()) {
$item[] = bbp_get_topic_archive_title();
} elseif (bbp_is_single_view()) {
$item[] = bbp_get_view_title();
} elseif (bbp_is_single_topic()) {
$topic_id = get_queried_object_id();
$item = array_merge($item, $this->_get_parents(bbp_get_topic_forum_id($topic_id)));
if (bbp_is_topic_split() || bbp_is_topic_merge() || bbp_is_topic_edit()) {
$item[] = '<span typeof="v:Breadcrumb"><a href="' . bbp_get_topic_permalink($topic_id) . '" property="v:title" rel="v:url"><span>' . bbp_get_topic_title($topic_id) . '</span></a></span>';
} else {
$item[] = bbp_get_topic_title($topic_id);
}
if (bbp_is_topic_split()) {
$item[] = __('Split', DH_DOMAIN);
} elseif (bbp_is_topic_merge()) {
$item[] = __('Merge', DH_DOMAIN);
} elseif (bbp_is_topic_edit()) {
$item[] = __('Edit', DH_DOMAIN);
}
} elseif (bbp_is_single_reply()) {
$reply_id = get_queried_object_id();
$item = array_merge($item, $this->_get_parents(bbp_get_reply_topic_id($reply_id)));
if (!bbp_is_reply_edit()) {
$item[] = bbp_get_reply_title($reply_id);
} else {
$item[] = '<span typeof="v:Breadcrumb"><a href="' . bbp_get_reply_url($reply_id) . '" property="v:title" rel="v:url"><span>' . bbp_get_reply_title($reply_id) . '</span></a></span>';
$item[] = __('Edit', DH_DOMAIN);
}
} elseif (bbp_is_single_forum()) {
$forum_id = get_queried_object_id();
$forum_parent_id = bbp_get_forum_parent_id($forum_id);
if (0 !== $forum_parent_id) {
$item = array_merge($item, $this->_get_parents($forum_parent_id));
}
$item[] = bbp_get_forum_title($forum_id);
} elseif (bbp_is_single_user() || bbp_is_single_user_edit()) {
if (bbp_is_single_user_edit()) {
$item[] = '<span typeof="v:Breadcrumb"><a href="' . bbp_get_user_profile_url() . '" property="v:title" rel="v:url" ><span>' . bbp_get_displayed_user_field('display_name') . '</span></a></span>';
$item[] = __('Edit', DH_DOMAIN);
} else {
$item[] = bbp_get_displayed_user_field('display_name');
}
}
return $item;
}
示例8: 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
//.........这里部分代码省略.........
示例9: prepare_breadcrumb_html
/**
* Prepare the full output of the breadcrumb path
*
* @return void
*/
private function prepare_breadcrumb_html()
{
// Add the path prefix
$this->html_markup = $this->get_breadcrumb_prefix();
// Add the "Home" link
$this->html_markup .= $this->get_breadcrumb_home();
// Woocommerce path prefix (e.g "Shop" )
if (class_exists('Woocommerce') && (is_woocommerce() && is_archive() && !is_shop() || is_cart() || is_checkout() || is_account_page())) {
$this->html_markup .= $this->get_woocommerce_shop_page();
}
// bbPress path prefix (e.g "Forums" )
if (class_exists('bbPress') && is_bbpress() && (bbp_is_topic_archive() || bbp_is_single_user() || bbp_is_search())) {
$this->html_markup .= $this->get_bbpress_main_archive_page();
}
// Single Posts and Pages (of all post types)
if (is_singular()) {
// If the post type of the current post has an archive link, display the archive breadcrumb
if (isset($this->post->post_type) && get_post_type_archive_link($this->post->post_type) && $this->show_post_type_archive) {
$this->html_markup .= $this->get_post_type_archive();
}
// If the post doesn't have parents
if (isset($this->post->post_parent) && $this->post->post_parent == 0) {
$this->html_markup .= $this->get_post_terms();
// If there are parents; mostly for pages
} else {
$this->html_markup .= $this->get_post_ancestors();
}
$this->html_markup .= $this->get_breadcrumb_leaf_markup();
} else {
// Custom post types archives
if (is_post_type_archive()) {
$this->html_markup .= $this->get_post_type_archive(FALSE);
// Search on custom post type (e.g. Woocommerce)
if (is_search()) {
$this->html_markup .= $this->get_breadcrumb_leaf_markup('search');
}
// Taxonomy Archives
} elseif (is_tax() || is_tag() || is_category()) {
// If we have a tag archive, add the tag prefix
if (is_tag()) {
$this->html_markup .= $this->tag_archive_prefix;
}
$this->html_markup .= $this->get_taxonomies();
$this->html_markup .= $this->get_breadcrumb_leaf_markup('term');
// Date Archives
} elseif (is_date()) {
global $wp_locale;
// Set variables
$year = esc_html(get_query_var('year'));
if (is_month() || is_day()) {
$month = get_query_var('monthnum');
$month_name = $wp_locale->get_month($month);
}
// Year Archive, only is a leaf
if (is_year()) {
$this->html_markup .= $this->get_breadcrumb_leaf_markup('year');
// Month Archive, needs year link and month leaf
} elseif (is_month()) {
$this->html_markup .= $this->get_single_breadcrumb_markup($year, get_year_link($year));
$this->html_markup .= $this->get_breadcrumb_leaf_markup('month');
// Day Archive, needs year and month link and day leaf
} elseif (is_day()) {
$this->html_markup .= $this->get_single_breadcrumb_markup($year, get_year_link($year));
$this->html_markup .= $this->get_single_breadcrumb_markup($month_name, get_month_link($year, $month));
$this->html_markup .= $this->get_breadcrumb_leaf_markup('day');
}
// Author Archives
} elseif (is_author()) {
$this->html_markup .= $this->get_breadcrumb_leaf_markup('author');
// Search Page
} elseif (is_search()) {
$this->html_markup .= $this->get_breadcrumb_leaf_markup('search');
// 404 Page
} elseif (is_404()) {
// Special treatment for Events Calendar to avoid 404 messages on list view
if (class_exists('TribeEvents') && tribe_is_event() || is_events_archive()) {
$this->html_markup .= $this->get_breadcrumb_leaf_markup('events');
// Default case
} else {
$this->html_markup .= $this->get_breadcrumb_leaf_markup('404');
}
// bbPress
} elseif (class_exists('bbPress')) {
// Search Page
if (bbp_is_search()) {
$this->html_markup .= $this->get_breadcrumb_leaf_markup('bbpress_search');
// User page
} elseif (bbp_is_single_user()) {
$this->html_markup .= $this->get_breadcrumb_leaf_markup('bbpress_user');
}
}
}
}
示例10: breadcrumbs_plus_get_bbpress_items
/**
* Gets the items for the breadcrumb item if bbPress is installed.
*
* @since 0.4
*
* @param array $args Mixed arguments for the menu.
* @return array List of items to be shown in the item.
*/
function breadcrumbs_plus_get_bbpress_items($args = array())
{
$item = array();
$post_type_object = get_post_type_object(bbp_get_forum_post_type());
if (!empty($post_type_object->has_archive) && !bbp_is_forum_archive()) {
if (function_exists('bp_is_active')) {
global $bp;
// we're outside the loop!
// Assign some variables here
$page1 = isset($bp->members->root_slug) ? $bp->members->root_slug : '';
// slug for the Members page. The BuddyPress default is 'members'.
$page2 = isset($bp->groups->root_slug) ? $bp->groups->root_slug : '';
// slug for the Groups page. The BuddyPress default is 'groups'.
$page3 = isset($bp->activity->root_slug) ? $bp->activity->root_slug : '';
// slug for the Activity page. The BuddyPress default is 'activity'.
$page4 = isset($bp->forums->root_slug) ? $bp->forums->root_slug : '';
// slug for the Forums page. The BuddyPress default is 'forums'.
$page5 = isset($bp->achievements->root_slug) ? $bp->achievements->root_slug : '';
// slug for the Achievements page. The BuddyPress default is 'achievements'.
if (!bp_is_blog_page() && (is_page() || is_page($page1) || is_page($page2) || is_page($page3) || is_page($page4) || is_page($page5)) && !bp_is_user() && !bp_is_single_item() && !bp_is_register_page()) {
$item[] = '';
}
if (bp_is_user() && !bp_is_register_page()) {
$item[] = '';
}
} else {
//$item[] = '<div class="vbreadcrumb" typeof="v:Breadcrumb"><a href="' . get_post_type_archive_link( bbp_get_forum_post_type() ) . '" rel="v:url" property="v:title">' . bbp_get_forum_archive_title() . '</a></div>';
}
}
if (bbp_is_forum_archive()) {
$item[] = bbp_get_forum_archive_title();
} else {
$item[] = '<div class="vbreadcrumb" typeof="v:Breadcrumb"><a href="' . get_post_type_archive_link(bbp_get_forum_post_type()) . '" rel="v:url" property="v:title">' . bbp_get_forum_archive_title() . '</a></div>';
}
if (bbp_is_topic_archive()) {
$item[] = bbp_get_topic_archive_title();
} elseif (bbp_is_single_view()) {
$item[] = bbp_get_view_title();
} elseif (bbp_is_single_topic()) {
$topic_id = get_queried_object_id();
$item = array_merge($item, breadcrumbs_plus_get_parents(bbp_get_topic_forum_id($topic_id)));
if (bbp_is_topic_split() || bbp_is_topic_merge() || bbp_is_topic_edit()) {
$item[] = '<div class="vbreadcrumb" typeof="v:Breadcrumb"><a href="' . bbp_get_topic_permalink($topic_id) . '" rel="v:url" property="v:title">' . bbp_get_topic_title($topic_id) . '</a></div>';
} else {
$item[] = '';
}
if (bbp_is_topic_split()) {
$item[] = __('Split', 'framework');
} elseif (bbp_is_topic_merge()) {
$item[] = __('Merge', 'framework');
} elseif (bbp_is_topic_edit()) {
$item[] = __('Edit', 'framework');
}
} elseif (bbp_is_single_reply()) {
$reply_id = get_queried_object_id();
$item = array_merge($item, breadcrumbs_plus_get_parents(bbp_get_reply_topic_id($reply_id)));
if (!bbp_is_reply_edit()) {
$item[] = bbp_get_reply_title($reply_id);
} else {
$item[] = '<div class="vbreadcrumb" typeof="v:Breadcrumb"><a href="' . bbp_get_reply_url($reply_id) . '" rel="v:url" property="v:title">' . bbp_get_reply_title($reply_id) . '</a></div>';
$item[] = __('Edit', 'framework');
}
} elseif (bbp_is_single_forum()) {
$forum_id = get_queried_object_id();
$forum_parent_id = bbp_get_forum_parent_id($forum_id);
if (0 !== $forum_parent_id) {
$item = array_merge($item, breadcrumbs_plus_get_parents($forum_parent_id));
}
$item[] = bbp_get_forum_title($forum_id);
} elseif (bbp_is_single_user() || bbp_is_single_user_edit()) {
if (bbp_is_single_user_edit()) {
$item[] = '<div class="vbreadcrumb" typeof="v:Breadcrumb"><a href="' . bbp_get_user_profile_url() . '" rel="v:url" property="v:title">' . bbp_get_displayed_user_field('display_name') . '</a></div>';
$item[] = __('Edit', 'framework');
} else {
$item[] = bbp_get_displayed_user_field('display_name');
}
}
return apply_filters('breadcrumbs_plus_get_bbpress_items', $item, $args);
}
示例11: bbp_template_include_theme_compat
//.........这里部分代码省略.........
$new_content = $bbp_shortcodes->display_topic_index();
// No page so show the archive
} else {
$new_content = $bbp_shortcodes->display_forum_index();
}
// ...or use the existing page content?
} else {
$new_content = apply_filters('the_content', $page->post_content);
}
// Should we replace the title...
if (empty($page->post_title)) {
// Use the topics archive
if ('topics' === bbp_show_on_root()) {
$new_title = bbp_get_topic_archive_title();
// No page so show the archive
} else {
$new_title = bbp_get_forum_archive_title();
}
// ...or use the existing page title?
} else {
$new_title = apply_filters('the_title', $page->post_title);
}
// Reset post
bbp_theme_compat_reset_post(array('ID' => !empty($page->ID) ? $page->ID : 0, 'post_title' => $new_title, 'post_author' => 0, 'post_date' => 0, 'post_content' => $new_content, 'post_type' => bbp_get_forum_post_type(), 'post_status' => bbp_get_public_status_id(), 'is_archive' => true, 'comment_status' => 'closed'));
// Single Forum
} elseif (bbp_is_forum_edit()) {
// Reset post
bbp_theme_compat_reset_post(array('ID' => bbp_get_forum_id(), 'post_title' => bbp_get_forum_title(), 'post_author' => bbp_get_forum_author_id(), 'post_date' => 0, 'post_content' => $bbp_shortcodes->display_forum_form(), 'post_type' => bbp_get_forum_post_type(), 'post_status' => bbp_get_forum_visibility(), 'is_single' => true, 'comment_status' => 'closed'));
} elseif (bbp_is_single_forum()) {
// Reset post
bbp_theme_compat_reset_post(array('ID' => bbp_get_forum_id(), 'post_title' => bbp_get_forum_title(), 'post_author' => bbp_get_forum_author_id(), 'post_date' => 0, 'post_content' => $bbp_shortcodes->display_forum(array('id' => bbp_get_forum_id())), 'post_type' => bbp_get_forum_post_type(), 'post_status' => bbp_get_forum_visibility(), 'is_single' => true, 'comment_status' => 'closed'));
/** Topics ************************************************************/
// Topic archive
} elseif (bbp_is_topic_archive()) {
// Page exists where this archive should be
$page = bbp_get_page_by_path(bbp_get_topic_archive_slug());
// Should we replace the content...
if (empty($page->post_content)) {
$new_content = $bbp_shortcodes->display_topic_index();
// ...or use the existing page content?
} else {
$new_content = apply_filters('the_content', $page->post_content);
}
// Should we replace the title...
if (empty($page->post_title)) {
$new_title = bbp_get_topic_archive_title();
// ...or use the existing page title?
} else {
$new_title = apply_filters('the_title', $page->post_title);
}
// Reset post
bbp_theme_compat_reset_post(array('ID' => !empty($page->ID) ? $page->ID : 0, 'post_title' => bbp_get_topic_archive_title(), 'post_author' => 0, 'post_date' => 0, 'post_content' => $new_content, 'post_type' => bbp_get_topic_post_type(), 'post_status' => bbp_get_public_status_id(), 'is_archive' => true, 'comment_status' => 'closed'));
// Single Topic
} elseif (bbp_is_topic_edit() || bbp_is_single_topic()) {
// Split
if (bbp_is_topic_split()) {
$new_content = bbp_buffer_template_part('form', 'topic-split', false);
// Merge
} elseif (bbp_is_topic_merge()) {
$new_content = bbp_buffer_template_part('form', 'topic-merge', false);
// Edit
} elseif (bbp_is_topic_edit()) {
$new_content = $bbp_shortcodes->display_topic_form();
// Single
} else {
$new_content = $bbp_shortcodes->display_topic(array('id' => bbp_get_topic_id()));
示例12: media_view_settings
static function media_view_settings($settings, $post)
{
$forum_id = 0;
if (is_admin()) {
} elseif (bbp_is_single_user_edit() || bbp_is_single_user()) {
} elseif (bbp_is_forum_archive()) {
} elseif (bbp_is_forum_edit()) {
$forum_id = bbp_get_forum_id();
} elseif (bbp_is_single_forum()) {
$forum_id = bbp_get_forum_id();
} elseif (bbp_is_topic_archive()) {
} elseif (bbp_is_topic_edit() || bbp_is_single_topic()) {
$forum_id = bbp_get_forum_id();
} elseif (is_post_type_archive(bbp_get_reply_post_type())) {
} elseif (bbp_is_reply_edit() || bbp_is_single_reply()) {
$forum_id = bbp_get_forum_id();
} elseif (bbp_is_single_view()) {
} elseif (bbp_is_search()) {
} elseif (bbp_is_topic_tag_edit() || bbp_is_topic_tag()) {
$forum_id = bbp_get_forum_id();
}
if ($forum_id) {
// @setcookie('_bbp_forum_id', $forum_id, 0, COOKIEPATH, COOKIE_DOMAIN);
if (empty($settings['post'])) {
$settings['post'] = array('id' => $forum_id, 'nonce' => wp_create_nonce('update-post_' . $forum_id));
}
} else {
// @setcookie('_bbp_forum_id', ' ', time() - YEAR_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN);
}
return $settings;
}
示例13: get_context
//.........这里部分代码省略.........
$title = SITENAME . ' Members Directory';
$desc = 'A listing of all registered members in the ' . SITENAME . ' community.';
$crumbs[] = 'Members Directory';
// Groups Directory
} elseif (bp_is_groups_component()) {
$title = SITENAME . ' Guilds Directory';
$desc = 'A directory listing of guilds active within in the ' . SITENAME . ' community.';
$crumbs[] = 'Guilds Directory';
}
// Registration
} elseif (bp_is_register_page()) {
$title = SITENAME . ' User Registration';
$desc = "Register to join the " . SITENAME . " community.";
$crumbs[] = "User Registration";
// Activation
} elseif (bp_is_activation_page()) {
$title = SITENAME . ' Account Activation';
$desc = "Activate a pending " . SITENAME . " user account.";
$crumbs[] = "Account Activation";
}
/*--------------------------------------------
BBPRESS CONTEXT
---------------------------------------------*/
} elseif (class_exists('bbPress') && is_bbpress()) {
// bbPress Defaults
$classes[] = 'bbpress';
$classes[] = 'forums';
$crumbs[] = bbp_is_forum_archive() ? "Forums" : '<a href="' . get_post_type_archive_link('forum') . '">Forums</a>';
// Main Forum Archive
if (bbp_is_forum_archive()) {
$title = SITENAME . " Forums";
$desc = "Get involved in the community on the " . SITENAME . " forums.";
// Recent Topics
} elseif (bbp_is_topic_archive()) {
$title = "Recent Topics in the " . SITENAME . " Forums";
$desc = "Browse a list of the most recent topics in the " . SITENAME . " Forums.";
$crumbs[] = "Recent Topics";
// Single Forum
} elseif (bbp_is_single_forum()) {
$title = $object->post_title;
$desc = $object->post_content;
// Loop through parent forums
$parent_id = bbp_get_forum_parent_id($id);
if (0 != $parent_id) {
$crumbs = array_merge($crumbs, $this->parent_crumbs($parent_id));
}
$crumbs[] = $object->post_title;
// Single Topic
} elseif (bbp_is_single_topic()) {
$title = $object->post_title;
$desc = bbp_get_topic_excerpt($id);
$crumbs = array_merge($crumbs, $this->parent_crumbs(bbp_get_topic_forum_id($id)));
$crumbs[] = $object->post_title;
// Edit Topic
} elseif (bbp_is_topic_split() || bbp_is_topic_merge() || bbp_is_topic_edit()) {
$title = 'Edit Topic' . $sep . $object->post_title;
$desc = bbp_get_topic_excerpt($id);
$crumbs = array_merge($crumbs, $this->parent_crumbs($id));
// Tag the specific task
if (bbp_is_topic_split()) {
$crumbs[] = 'Split Topic';
} elseif (bbp_is_topic_merge()) {
$crumbs[] = 'Merge Topic';
} elseif (bbp_is_topic_edit()) {
$crumbs[] = 'Edit Topic';
}
示例14: breadcrumb_trail_get_bbpress_items
/**
* Gets the items for the breadcrumb trail if bbPress is installed.
*
* @since 0.5.0
* @access public
* @param array $args Mixed arguments for the menu.
* @return array List of items to be shown in the trail.
*/
function breadcrumb_trail_get_bbpress_items($args = array())
{
/* Set up a new trail items array. */
$trail = array();
/* Get the forum post type object. */
$post_type_object = get_post_type_object(bbp_get_forum_post_type());
/* If not viewing the forum root/archive page and a forum archive exists, add it. */
if (!empty($post_type_object->has_archive) && !bbp_is_forum_archive()) {
$trail[] = '<a href="' . get_post_type_archive_link(bbp_get_forum_post_type()) . '">' . bbp_get_forum_archive_title() . '</a>';
}
/* If viewing the forum root/archive. */
if (bbp_is_forum_archive()) {
$trail[] = "<span>" . bbp_get_forum_archive_title() . "</span>";
} elseif (bbp_is_topic_archive()) {
$trail[] = "<span>" . bbp_get_topic_archive_title() . "</span>";
} elseif (bbp_is_topic_tag()) {
$trail[] = "<span>" . bbp_get_topic_tag_name() . "</span>";
} elseif (bbp_is_topic_tag_edit()) {
$trail[] = '<a href="' . bbp_get_topic_tag_link() . '">' . bbp_get_topic_tag_name() . '</a>';
$trail[] = "<span>" . __('Edit', 'kleo_framework') . "</span>";
} elseif (bbp_is_single_view()) {
$trail[] = '<span>' . bbp_get_view_title() . '</span>';
} elseif (bbp_is_single_topic()) {
/* Get the queried topic. */
$topic_id = get_queried_object_id();
/* Get the parent items for the topic, which would be its forum (and possibly forum grandparents). */
$trail = array_merge($trail, breadcrumb_trail_get_parents(bbp_get_topic_forum_id($topic_id)));
/* If viewing a split, merge, or edit topic page, show the link back to the topic. Else, display topic title. */
if (bbp_is_topic_split() || bbp_is_topic_merge() || bbp_is_topic_edit()) {
$trail[] = '<a href="' . bbp_get_topic_permalink($topic_id) . '">' . bbp_get_topic_title($topic_id) . '</a>';
} else {
$trail[] = '<span>' . bbp_get_topic_title($topic_id) . '</span>';
}
/* If viewing a topic split page. */
if (bbp_is_topic_split()) {
$trail[] = "<span>" . __('Split', 'kleo_framework') . "</span>";
} elseif (bbp_is_topic_merge()) {
$trail[] = "<span>" . __('Merge', 'kleo_framework') . "</span>";
} elseif (bbp_is_topic_edit()) {
$trail[] = "<span>" . __('Edit', 'kleo_framework') . "</span>";
}
} elseif (bbp_is_single_reply()) {
/* Get the queried reply object ID. */
$reply_id = get_queried_object_id();
/* Get the parent items for the reply, which should be its topic. */
$trail = array_merge($trail, breadcrumb_trail_get_parents(bbp_get_reply_topic_id($reply_id)));
/* If viewing a reply edit page, link back to the reply. Else, display the reply title. */
if (bbp_is_reply_edit()) {
$trail[] = '<a href="' . bbp_get_reply_url($reply_id) . '">' . bbp_get_reply_title($reply_id) . '</a>';
$trail[] = "<span>" . __('Edit', 'kleo_framework') . "</span>";
} else {
$trail[] = '<span>' . bbp_get_reply_title($reply_id) . '</span>';
}
} elseif (bbp_is_single_forum()) {
/* Get the queried forum ID and its parent forum ID. */
$forum_id = get_queried_object_id();
$forum_parent_id = bbp_get_forum_parent_id($forum_id);
/* If the forum has a parent forum, get its parent(s). */
if (0 !== $forum_parent_id) {
$trail = array_merge($trail, breadcrumb_trail_get_parents($forum_parent_id));
}
/* Add the forum title to the end of the trail. */
$trail[] = '<span>' . bbp_get_forum_title($forum_id) . '</span>';
} elseif (bbp_is_single_user() || bbp_is_single_user_edit()) {
if (bbp_is_single_user_edit()) {
$trail[] = '<a href="' . bbp_get_user_profile_url() . '">' . bbp_get_displayed_user_field('display_name') . '</a>';
$trail[] = "<span>" . __('Edit', 'kleo_framework') . "</span>";
} else {
$trail[] = '<span>' . bbp_get_displayed_user_field('display_name') . '</span>';
}
}
/* Return the bbPress breadcrumb trail items. */
return apply_filters('breadcrumb_trail_get_bbpress_items', $trail, $args);
}
示例15: bbp_replace_the_content
/**
* Replaces the_content() if the post_type being displayed is one that would
* normally be handled by bbPress, but proper single page templates do not
* exist in the currently active theme.
*
* @since bbPress (r3034)
* @param string $content
* @return type
*/
function bbp_replace_the_content($content = '')
{
$bbp = bbpress();
// Define local variable(s)
$new_content = '';
// Bail if shortcodes are unset somehow
if (!is_a($bbp->shortcodes, 'BBP_Shortcodes')) {
return $content;
}
// Use shortcode API to display forums/topics/replies because they are
// already output buffered and ready to fit inside the_content
/** Users *************************************************************/
// Profile View
if (bbp_is_single_user()) {
ob_start();
bbp_get_template_part('content', 'single-user');
$new_content = ob_get_contents();
ob_end_clean();
// Profile Edit
} elseif (bbp_is_single_user_edit()) {
ob_start();
bbp_get_template_part('content', 'single-user-edit');
$new_content = ob_get_contents();
ob_end_clean();
/** Forums ************************************************************/
// Reply Edit
} elseif (bbp_is_forum_edit()) {
$new_content = $bbp->shortcodes->display_forum_form();
// Forum archive
} elseif (bbp_is_forum_archive()) {
// Page exists where this archive should be
$page = bbp_get_page_by_path(bbp_get_root_slug());
if (!empty($page)) {
// Restore previously unset filters
bbp_restore_all_filters('the_content');
// Remove 'bbp_replace_the_content' filter to prevent infinite loops
remove_filter('the_content', 'bbp_replace_the_content');
// Start output buffer
ob_start();
// Grab the content of this page
$new_content = apply_filters('the_content', $page->post_content);
// Clean up the buffer
ob_end_clean();
// Add 'bbp_replace_the_content' filter back (@see $this::start())
add_filter('the_content', 'bbp_replace_the_content');
// No page so show the archive
} else {
$new_content = $bbp->shortcodes->display_forum_index();
}
/** Topics ************************************************************/
// Topic archive
} elseif (bbp_is_topic_archive()) {
// Page exists where this archive should be
$page = bbp_get_page_by_path(bbp_get_topic_archive_slug());
if (!empty($page)) {
// Restore previously unset filters
bbp_restore_all_filters('the_content');
// Remove 'bbp_replace_the_content' filter to prevent infinite loops
remove_filter('the_content', 'bbp_replace_the_content');
// Start output buffer
ob_start();
// Grab the content of this page
$new_content = apply_filters('the_content', $page->post_content);
// Clean up the buffer
ob_end_clean();
// Add 'bbp_replace_the_content' filter back (@see $this::start())
add_filter('the_content', 'bbp_replace_the_content');
// No page so show the archive
} else {
$new_content = $bbp->shortcodes->display_topic_index();
}
// Single topic
} elseif (bbp_is_topic_edit()) {
// Split
if (bbp_is_topic_split()) {
ob_start();
bbp_get_template_part('form', 'topic-split');
$new_content = ob_get_contents();
ob_end_clean();
// Merge
} elseif (bbp_is_topic_merge()) {
ob_start();
bbp_get_template_part('form', 'topic-merge');
$new_content = ob_get_contents();
ob_end_clean();
// Edit
} else {
$new_content = $bbp->shortcodes->display_topic_form();
}
/** Replies ***********************************************************/
// Reply archive
//.........这里部分代码省略.........