本文整理汇总了PHP中bbp_get_forum_title函数的典型用法代码示例。如果您正苦于以下问题:PHP bbp_get_forum_title函数的具体用法?PHP bbp_get_forum_title怎么用?PHP bbp_get_forum_title使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了bbp_get_forum_title函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: test_bbp_insert_forum
/**
* @group canonical
* @covers ::bbp_insert_forum
*/
public function test_bbp_insert_forum()
{
$f = $this->factory->forum->create(array('post_title' => 'Forum 1', 'post_content' => 'Content of Forum 1'));
$now = time();
$post_date = date('Y-m-d H:i:s', $now - 60 * 60 * 100);
$t = $this->factory->topic->create(array('post_parent' => $f, 'post_date' => $post_date, 'topic_meta' => array('forum_id' => $f)));
$r = $this->factory->reply->create(array('post_parent' => $t, 'post_date' => $post_date, 'reply_meta' => array('forum_id' => $f, 'topic_id' => $t)));
// Get the forum.
$forum = bbp_get_forum($f);
// Forum post.
$this->assertSame('Forum 1', bbp_get_forum_title($f));
$this->assertSame('Content of Forum 1', bbp_get_forum_content($f));
$this->assertSame('open', bbp_get_forum_status($f));
$this->assertSame('forum', bbp_get_forum_type($f));
$this->assertTrue(bbp_is_forum_public($f));
$this->assertSame(0, bbp_get_forum_parent_id($f));
$this->assertEquals('http://' . WP_TESTS_DOMAIN . '/?forum=' . $forum->post_name, $forum->guid);
// Forum meta.
$this->assertSame(0, bbp_get_forum_subforum_count($f, true));
$this->assertSame(1, bbp_get_forum_topic_count($f, false, true));
$this->assertSame(1, bbp_get_forum_topic_count($f, true, true));
$this->assertSame(0, bbp_get_forum_topic_count_hidden($f, true));
$this->assertSame(1, bbp_get_forum_reply_count($f, false, true));
$this->assertSame(1, bbp_get_forum_reply_count($f, true, true));
$this->assertSame(2, bbp_get_forum_post_count($f, false, true));
$this->assertSame(2, bbp_get_forum_post_count($f, true, true));
$this->assertSame($t, bbp_get_forum_last_topic_id($f));
$this->assertSame($r, bbp_get_forum_last_reply_id($f));
$this->assertSame($r, bbp_get_forum_last_active_id($f));
$this->assertSame('4 days, 4 hours ago', bbp_get_forum_last_active_time($f));
}
示例2: wp_slack_bbpress
/**
* Plugin Name: WP Slack bbPress
* Plugin URI: https://github.com/rolfkleef/wp-slack-bbpress
* Description: Send notifications to Slack channels for events in bbPress.
* Version: 0.5
* Author: Rolf Kleef
* Author URI: https://drostan.org
* License: GPL2
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
* Text Domain: wp-slack-bbpress
*/
function wp_slack_bbpress($events)
{
$events['wp_slack_bbp_new_topic'] = array('action' => 'bbp_new_topic', 'description' => __('When a new topic is added in bbPress', 'wp-slack-bbpress'), 'message' => function ($topic_id, $forum_id, $anonymous_data, $topic_author) {
return array(array('fallback' => sprintf(__('<%1$s|New topic "%2$s"> in forum <%3$s|%4$s>', 'wp-slack-bbpress'), bbp_get_topic_permalink($topic_id), bbp_get_topic_title($topic_id), bbp_get_forum_permalink($forum_id), bbp_get_forum_title($forum_id)), 'pretext' => sprintf(__('New topic in forum <%1$s|%2$s>', 'wp-slack-bbpress'), bbp_get_forum_permalink($forum_id), bbp_get_forum_title($forum_id)), 'author_name' => bbp_get_topic_author_display_name($topic_id), 'author_link' => bbp_get_topic_author_link($topic_id), 'author_icon' => get_avatar_url($topic_author, array('size' => 16)), 'title' => sprintf('%1$s', bbp_get_topic_title($topic_id)), 'title_link' => bbp_get_topic_permalink($topic_id), 'text' => html_entity_decode(bbp_get_topic_excerpt($topic_id, 150))));
});
$events['wp_slack_bbp_new_reply'] = array('action' => 'bbp_new_reply', 'description' => __('When a new reply is added in bbPress', 'wp-slack-bbpress'), 'message' => function ($reply_id, $topic_id, $forum_id, $anonymous_data, $reply_author, $bool, $reply_to) {
return array(array('fallback' => sprintf(__('<%1$s|New reply> in forum <%2$s|%3$s> on topic <%4$s|%5$s>', 'wp-slack-bbpress'), bbp_get_reply_url($reply_id), bbp_get_forum_permalink($forum_id), bbp_get_forum_title($forum_id), bbp_get_topic_permalink($topic_id), bbp_get_topic_title($topic_id)), 'pretext' => sprintf(__('New reply in forum <%1$s|%2$s> on topic <%3$s|%4$s>', 'wp-slack-bbpress'), bbp_get_forum_permalink($forum_id), bbp_get_forum_title($forum_id), bbp_get_topic_permalink($topic_id), bbp_get_topic_title($topic_id)), 'author_name' => bbp_get_reply_author_display_name($reply_id), 'author_link' => bbp_get_reply_author_link($reply_id), 'author_icon' => get_avatar_url($reply_author, array('size' => 16)), 'title' => sprintf(__('New reply to "%1$s"', 'wp-slack-bbpress'), bbp_get_topic_title($topic_id)), 'title_link' => bbp_get_reply_url($reply_id), 'text' => html_entity_decode(bbp_get_reply_excerpt($reply_id, 150))));
});
return $events;
}
示例3: get_header
get_header();
get_template_part('navbar');
?>
<div id="topbar">
<?php
if (function_exists('yoast_breadcrumb')) {
yoast_breadcrumb('<p id="breadcrumbs">', '</p>');
}
?>
</div>
<div id="content" class="page-forum <?php
echo str_replace(' ', '-', strtolower(bbp_get_forum_title()));
?>
">
<div class="post<?php
echo get_field('headerimage') == '' ? ' no-headerimage' : '';
?>
">
<?php
if (get_field('headerimage') != '') {
?>
<div style="background-image: url('<?php
echo get_field('headerimage');
示例4: elseif
?>
</p>
</div>
</div>
<?php
} elseif (bbp_is_forum_closed(bbp_get_topic_forum_id())) {
?>
<div id="no-reply-<?php
bbp_topic_id();
?>
" class="bbp-no-reply">
<div class="bbp-template-notice">
<p><?php
printf(esc_html__('The forum ‘%s’ is closed to new topics and replies.', 'monsoon'), bbp_get_forum_title(bbp_get_topic_forum_id()));
?>
</p>
</div>
</div>
<?php
} else {
?>
<div id="no-reply-<?php
bbp_topic_id();
?>
" class="bbp-no-reply">
<div class="bbp-template-notice">
<p><?php
示例5: do_action
</span>
<?php
do_action('bbp_theme_after_topic_started_by');
?>
<?php
if (!bbp_is_single_forum() || bbp_get_topic_forum_id() !== bbp_get_forum_id()) {
?>
<?php
do_action('bbp_theme_before_topic_started_in');
?>
<span class="bbp-topic-started-in"><?php
printf(__('in: <a href="%1$s">%2$s</a>', 'bbpress'), bbp_get_forum_permalink(bbp_get_topic_forum_id()), bbp_get_forum_title(bbp_get_topic_forum_id()));
?>
</span>
<?php
do_action('bbp_theme_after_topic_started_in');
?>
<?php
}
?>
</p>
<?php
do_action('bbp_theme_after_topic_meta');
示例6: column_data
/**
* Print extra columns for the replies page
*
* @since 2.0.0 bbPress (r2577)
*
* @param string $column Column
* @param int $reply_id reply id
* @uses bbp_get_reply_topic_id() To get the topic id of the reply
* @uses bbp_topic_title() To output the reply's topic title
* @uses apply_filters() Calls 'reply_topic_row_actions' with an array
* of reply topic actions
* @uses bbp_get_topic_permalink() To get the topic permalink
* @uses bbp_get_topic_forum_id() To get the forum id of the topic of
* the reply
* @uses bbp_get_forum_permalink() To get the forum permalink
* @uses admin_url() To get the admin url of post.php
* @uses apply_filters() Calls 'reply_topic_forum_row_actions' with an
* array of reply topic forum actions
* @uses bbp_reply_author_display_name() To output the reply author name
* @uses get_the_date() Get the reply creation date
* @uses get_the_time() Get the reply creation time
* @uses esc_attr() To sanitize the reply creation time
* @uses bbp_get_reply_last_active_time() To get the time when the reply was
* last active
* @uses do_action() Calls 'bbp_admin_replies_column_data' with the
* column and reply id
*/
public function column_data($column, $reply_id)
{
if ($this->bail()) {
return;
}
// Get topic ID
$topic_id = bbp_get_reply_topic_id($reply_id);
// Populate Column Data
switch ($column) {
// Topic
case 'bbp_reply_topic':
// Output forum name
if (!empty($topic_id)) {
// Topic Title
$topic_title = bbp_get_topic_title($topic_id);
if (empty($topic_title)) {
$topic_title = esc_html__('No Topic', 'bbpress');
}
// Output the title
echo $topic_title;
// Reply has no topic
} else {
esc_html_e('No Topic', 'bbpress');
}
break;
// Forum
// Forum
case 'bbp_reply_forum':
// Get Forum ID's
$reply_forum_id = bbp_get_reply_forum_id($reply_id);
$topic_forum_id = bbp_get_topic_forum_id($topic_id);
// Output forum name
if (!empty($reply_forum_id)) {
// Forum Title
$forum_title = bbp_get_forum_title($reply_forum_id);
if (empty($forum_title)) {
$forum_title = esc_html__('No Forum', 'bbpress');
}
// Alert capable users of reply forum mismatch
if ($reply_forum_id !== $topic_forum_id) {
if (current_user_can('edit_others_replies') || current_user_can('moderate')) {
$forum_title .= '<div class="attention">' . esc_html__('(Mismatch)', 'bbpress') . '</div>';
}
}
// Output the title
echo $forum_title;
// Reply has no forum
} else {
_e('No Forum', 'bbpress');
}
break;
// Author
// Author
case 'bbp_reply_author':
bbp_reply_author_display_name($reply_id);
break;
// Freshness
// Freshness
case 'bbp_reply_created':
// Output last activity time and date
printf('%1$s <br /> %2$s', get_the_date(), esc_attr(get_the_time()));
break;
// Do action for anything else
// Do action for anything else
default:
do_action('bbp_admin_replies_column_data', $column, $reply_id);
break;
}
}
示例7: 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);
//.........这里部分代码省略.........
示例8: _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;
}
示例9: 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
//.........这里部分代码省略.........
示例10: x_bbpress_filter_breadcrumbs
function x_bbpress_filter_breadcrumbs($r)
{
if (bbp_is_search()) {
$current_text = bbp_get_search_title();
} elseif (bbp_is_forum_archive()) {
$current_text = bbp_get_forum_archive_title();
} elseif (bbp_is_topic_archive()) {
$current_text = bbp_get_topic_archive_title();
} elseif (bbp_is_single_view()) {
$current_text = bbp_get_view_title();
} elseif (bbp_is_single_forum()) {
$current_text = bbp_get_forum_title();
} elseif (bbp_is_single_topic()) {
$current_text = bbp_get_topic_title();
} elseif (bbp_is_single_reply()) {
$current_text = bbp_get_reply_title();
} elseif (bbp_is_topic_tag() || get_query_var('bbp_topic_tag') && !bbp_is_topic_tag_edit()) {
// Always include the tag name
$tag_data[] = bbp_get_topic_tag_name();
// If capable, include a link to edit the tag
if (current_user_can('manage_topic_tags')) {
$tag_data[] = '<a href="' . esc_url(bbp_get_topic_tag_edit_link()) . '" class="bbp-edit-topic-tag-link">' . esc_html__('(Edit)', 'bbpress') . '</a>';
}
// Implode the results of the tag data
$current_text = sprintf(__('Topic Tag: %s', 'bbpress'), implode(' ', $tag_data));
} elseif (bbp_is_topic_tag_edit()) {
$current_text = __('Edit', 'bbpress');
} else {
$current_text = get_the_title();
}
$r = array('before' => '', 'after' => '', 'sep' => x_get_breadcrumb_delimiter(), 'pad_sep' => 0, 'sep_before' => '', 'sep_after' => '', 'crumb_before' => '', 'crumb_after' => '', 'include_home' => false, 'home_text' => x_get_breadcrumb_home_text(), 'include_root' => true, 'root_text' => bbp_get_forum_archive_title(), 'include_current' => true, 'current_text' => $current_text, 'current_before' => x_get_breadcrumb_current_before(), 'current_after' => x_get_breadcrumb_current_after());
return $r;
}
示例11: elseif
?>
</p>
</div>
</div>
<?php
} elseif (bbp_is_forum_closed(bbp_get_topic_forum_id())) {
?>
<div id="no-reply-<?php
bbp_topic_id();
?>
" class="bbp-no-reply">
<div class="bbp-template-notice alert alert-info">
<p><?php
printf(__('The forum ‘%s’ is closed to new topics and replies.', 'firmasite'), bbp_get_forum_title(bbp_get_topic_forum_id()));
?>
</p>
</div>
</div>
<?php
} else {
?>
<div id="no-reply-<?php
bbp_topic_id();
?>
" class="bbp-no-reply">
<div class="bbp-template-notice alert alert-info">
<p><?php
示例12: st_bbp_list_forums
function st_bbp_list_forums($args = '')
{
// Define used variables
$output = $sub_forums = $topic_count = $reply_count = $counts = '';
$i = 0;
$count = array();
// Defaults and arguments
$defaults = array('before' => '<ul class="bbp-forums-list">', 'after' => '</ul>', 'link_before' => '<li class="bbp-forum">', 'link_after' => '</li>', 'count_before' => ' (', 'count_after' => ')', 'count_sep' => ', ', 'separator' => ', ', 'forum_id' => '', 'show_topic_count' => true, 'show_reply_count' => true, 'show_freshness_link' => true);
$r = bbp_parse_args($args, $defaults, 'list_forums');
extract($r, EXTR_SKIP);
// Bail if there are no subforums
if (!bbp_get_forum_subforum_count($forum_id)) {
return;
}
// Loop through forums and create a list
$sub_forums = bbp_forum_get_subforums($forum_id);
if (!empty($sub_forums)) {
// Total count (for separator)
$total_subs = count($sub_forums);
foreach ($sub_forums as $sub_forum) {
$i++;
// Separator count
// Get forum details
$count = array();
$show_sep = $total_subs > $i ? $separator : '';
$permalink = bbp_get_forum_permalink($sub_forum->ID);
$title = bbp_get_forum_title($sub_forum->ID);
$description = bbp_get_forum_content($sub_forum->ID);
// Show topic count
if (!empty($show_topic_count) && !bbp_is_forum_category($sub_forum->ID)) {
$count['topic'] = bbp_get_forum_topic_count($sub_forum->ID);
}
// Show reply count
if (!empty($show_reply_count) && !bbp_is_forum_category($sub_forum->ID)) {
$count['reply'] = bbp_get_forum_reply_count($sub_forum->ID);
}
// Counts to show
if (!empty($count)) {
$counts = $count_before . implode($count_sep, $count) . $count_after;
}
if (!empty($show_freshness_link)) {
$freshness_link = "<div class='freshness-forum-link'>" . st_get_last_poster_block($sub_forum->ID) . "</div>";
}
// Build this sub forums link
if ($i % 2) {
$class = "odd-forum-row";
} else {
$class = "even-forum-row";
}
$output .= "<li class='{$class}'><ul>" . $link_before . '<div class="bbp-forum-title-container"><a href="' . $permalink . '" class="bbp-forum-link">' . $title . '</a><p class="bbp-forum-description">' . $description . '</p></div>' . $counts . $freshness_link . $link_after . "</ul></li>";
}
// Output the list
echo apply_filters('bbp_list_forums', $before . $output . $after, $args);
}
}
示例13: column_data
/**
* Print extra columns for the topics page
*
* @since 2.0.0 bbPress (r2485)
*
* @param string $column Column
* @param int $topic_id Topic id
* @uses bbp_get_topic_forum_id() To get the forum id of the topic
* @uses bbp_forum_title() To output the topic's forum title
* @uses apply_filters() Calls 'topic_forum_row_actions' with an array
* of topic forum actions
* @uses bbp_get_forum_permalink() To get the forum permalink
* @uses admin_url() To get the admin url of post.php
* @uses bbp_topic_reply_count() To output the topic reply count
* @uses bbp_topic_voice_count() To output the topic voice count
* @uses bbp_topic_author_display_name() To output the topic author name
* @uses get_the_date() Get the topic creation date
* @uses get_the_time() Get the topic creation time
* @uses esc_attr() To sanitize the topic creation time
* @uses bbp_get_topic_last_active_time() To get the time when the topic was
* last active
* @uses do_action() Calls 'bbp_admin_topics_column_data' with the
* column and topic id
*/
public function column_data($column, $topic_id)
{
if ($this->bail()) {
return;
}
// Get topic forum ID
$forum_id = bbp_get_topic_forum_id($topic_id);
// Populate column data
switch ($column) {
// Forum
case 'bbp_topic_forum':
// Output forum name
if (!empty($forum_id)) {
// Forum Title
$forum_title = bbp_get_forum_title($forum_id);
if (empty($forum_title)) {
$forum_title = esc_html__('No Forum', 'bbpress');
}
// Output the title
echo $forum_title;
} else {
esc_html_e('— No forum —', 'bbpress');
}
break;
// Reply Count
// Reply Count
case 'bbp_topic_reply_count':
bbp_topic_reply_count($topic_id);
break;
// Reply Count
// Reply Count
case 'bbp_topic_voice_count':
bbp_topic_voice_count($topic_id);
break;
// Author
// Author
case 'bbp_topic_author':
bbp_topic_author_display_name($topic_id);
break;
// Freshness
// Freshness
case 'bbp_topic_created':
printf('%1$s <br /> %2$s', get_the_date(), esc_attr(get_the_time()));
break;
// Freshness
// Freshness
case 'bbp_topic_freshness':
$last_active = bbp_get_topic_last_active_time($topic_id, false);
if (!empty($last_active)) {
echo esc_html($last_active);
} else {
esc_html_e('No Replies', 'bbpress');
// This should never happen
}
break;
// Do an action for anything else
// Do an action for anything else
default:
do_action('bbp_admin_topics_column_data', $column, $topic_id);
break;
}
}
示例14: gpbbp_new_post_notification
function gpbbp_new_post_notification($post_id, $post, $post_type)
{
$post_is_reply = $post_type == bbp_get_reply_post_type() ? true : false;
$post_topic = $post_is_reply ? get_post(bbp_get_topic_id())->post_title : $post->post_title;
$post_author = get_user_by('id', $post->post_author);
$post_forum_title = bbp_get_forum_title($forum_id);
$post_info = array('topic' => htmlspecialchars_decode($post_topic, ENT_QUOTES), 'topic_id' => bbp_get_topic_id(), 'category' => $post_forum_title, 'category_id' => $forum_id, 'category_slug' => str_replace(' ', '', $post_forum_title), 'is_reply' => $post_is_reply, 'author' => "{$post_author->first_name} {$post_author->last_name}", 'author_brand' => $post_author->brand, 'author_username' => $post_author->display_name, 'body' => $post->post_content, 'permalink' => $post_is_reply ? get_permalink(bbp_get_topic_id()) . "#post-{$post_id}" : get_permalink($post_id), 'user_slug' => home_url() . '/directory/user/' . $post->post_author);
$group = Groups_Group::read_by_name($post_forum_title);
$group = new Groups_Group($group->group_id);
$mandrill_endpoint = 'https://mandrillapp.com/api/1.0/messages/send-template.json';
$mandrill_key = 'MANDRILL KEY';
$mandrill_template = 'new-post-notification-backup-mc-version-1';
$mandrill_merge_vars = array();
$mandrill_recipients[] = array();
foreach ($group->users as $group_member) {
if ($group_member->user->ID != $post->post_author) {
$mandrill_recipients[] = array('email' => $group_member->user->user_email, 'name' => $group_member->user->display_name);
}
}
// Set up merge vars
foreach ($post_info as $key => $value) {
$mandrill_merge_vars[] = array('name' => $key, 'content' => $value);
}
// Prepare request
$mandrill_request = array('key' => $mandrill_key, 'template_name' => $mandrill_template, 'template_content' => array(), 'message' => array('to' => $mandrill_recipients, 'global_merge_vars' => $mandrill_merge_vars, 'merge' => true, 'merge_language' => 'handlebars'));
// Send request
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $mandrill_endpoint);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($mandrill_request));
curl_setopt($ch, CURLOPT_USERAGENT, 'Mandrill-Curl/1.0');
$result = curl_exec($ch);
curl_close($ch);
}
示例15: test_bbp_create_initial_content
/**
* @group canonical
* @covers ::bbp_create_initial_content
*/
public function test_bbp_create_initial_content()
{
$category_id = $this->factory->forum->create(array('forum_meta' => array('_bbp_forum_type' => 'category', '_bbp_status' => 'open')));
bbp_create_initial_content(array('forum_parent' => $category_id));
$forum_id = bbp_forum_query_subforum_ids($category_id);
$forum_id = (int) $forum_id[0];
$topic_id = bbp_get_forum_last_topic_id($forum_id);
$reply_id = bbp_get_forum_last_reply_id($forum_id);
// Forum post
$this->assertSame('General', bbp_get_forum_title($forum_id));
$this->assertSame('General chit-chat', bbp_get_forum_content($forum_id));
$this->assertSame('open', bbp_get_forum_status($forum_id));
$this->assertTrue(bbp_is_forum_public($forum_id));
$this->assertSame($category_id, bbp_get_forum_parent_id($forum_id));
// Topic post
$this->assertSame($forum_id, bbp_get_topic_forum_id($topic_id));
$this->assertSame('Hello World!', bbp_get_topic_title($topic_id));
remove_all_filters('bbp_get_topic_content');
$topic_content = "I am the first topic in your new forums.";
$this->assertSame($topic_content, bbp_get_topic_content($topic_id));
$this->assertSame('publish', bbp_get_topic_status($topic_id));
$this->assertTrue(bbp_is_topic_published($topic_id));
// Reply post
$this->assertSame($forum_id, bbp_get_reply_forum_id($reply_id));
$this->assertSame('Reply To: Hello World!', bbp_get_reply_title($reply_id));
$this->assertSame($reply_id, bbp_get_reply_title_fallback($reply_id));
remove_all_filters('bbp_get_reply_content');
$reply_content = "Oh, and this is what a reply looks like.";
$this->assertSame($reply_content, bbp_get_reply_content($reply_id));
$this->assertSame('publish', bbp_get_reply_status($reply_id));
$this->assertTrue(bbp_is_reply_published($reply_id));
// Category meta
$this->assertSame(1, bbp_get_forum_subforum_count($category_id, true));
$this->assertSame(0, bbp_get_forum_topic_count($category_id, false, true));
$this->assertSame(0, bbp_get_forum_topic_count_hidden($category_id, true));
$this->assertSame(0, bbp_get_forum_reply_count($category_id, false, true));
$this->assertSame(1, bbp_get_forum_topic_count($category_id, true, true));
$this->assertSame(1, bbp_get_forum_reply_count($category_id, true, true));
$this->assertSame(0, bbp_get_forum_post_count($category_id, false, true));
$this->assertSame(2, bbp_get_forum_post_count($category_id, true, true));
$this->assertSame($topic_id, bbp_get_forum_last_topic_id($category_id));
$this->assertSame('Hello World!', bbp_get_forum_last_topic_title($category_id));
$this->assertSame($reply_id, bbp_get_forum_last_reply_id($category_id));
$this->assertSame('Reply To: Hello World!', bbp_get_forum_last_reply_title($category_id));
$this->assertSame($reply_id, bbp_get_forum_last_active_id($category_id));
$this->assertSame('1 day, 16 hours ago', bbp_get_forum_last_active_time($category_id));
// Forum meta
$this->assertSame(0, bbp_get_forum_subforum_count($forum_id, true));
$this->assertSame(1, bbp_get_forum_topic_count($forum_id, false, true));
$this->assertSame(0, bbp_get_forum_topic_count_hidden($forum_id, true));
$this->assertSame(1, bbp_get_forum_reply_count($forum_id, false, true));
$this->assertSame(1, bbp_get_forum_topic_count($forum_id, true, true));
$this->assertSame(1, bbp_get_forum_reply_count($forum_id, true, true));
$this->assertSame(2, bbp_get_forum_post_count($forum_id, false, true));
$this->assertSame(2, bbp_get_forum_post_count($forum_id, true, true));
$this->assertSame($topic_id, bbp_get_forum_last_topic_id($forum_id));
$this->assertSame('Hello World!', bbp_get_forum_last_topic_title($forum_id));
$this->assertSame($reply_id, bbp_get_forum_last_reply_id($forum_id));
$this->assertSame('Reply To: Hello World!', bbp_get_forum_last_reply_title($forum_id));
$this->assertSame($reply_id, bbp_get_forum_last_active_id($forum_id));
$this->assertSame('1 day, 16 hours ago', bbp_get_forum_last_active_time($forum_id));
// Topic meta
$this->assertSame('127.0.0.1', bbp_current_author_ip($topic_id));
$this->assertSame($forum_id, bbp_get_topic_forum_id($topic_id));
$this->assertSame(1, bbp_get_topic_voice_count($topic_id, true));
$this->assertSame(1, bbp_get_topic_reply_count($topic_id, true));
$this->assertSame(0, bbp_get_topic_reply_count_hidden($topic_id, true));
$this->assertSame($reply_id, bbp_get_topic_last_reply_id($topic_id));
$this->assertSame($reply_id, bbp_get_topic_last_active_id($topic_id));
$this->assertSame('1 day, 16 hours ago', bbp_get_topic_last_active_time($topic_id));
// Reply Meta
$this->assertSame('127.0.0.1', bbp_current_author_ip($reply_id));
$this->assertSame($forum_id, bbp_get_reply_forum_id($reply_id));
$this->assertSame($topic_id, bbp_get_reply_topic_id($reply_id));
}