Example #1
0
/**
 * Removes a topic from the list of sticky topics.
 *
 * @since  1.0.0
 * @access public
 * @param  int    $topic_id
 * @return bool
 */
function mb_remove_sticky_topic($topic_id)
{
    $topic_id = mb_get_topic_id($topic_id);
    if (mb_is_topic_sticky($topic_id)) {
        $stickies = mb_get_sticky_topics();
        $key = array_search($topic_id, $stickies);
        if (isset($stickies[$key])) {
            unset($stickies[$key]);
            return update_option('mb_sticky_topics', array_unique($stickies));
        }
    }
    return false;
}
Example #2
0
/**
 * Adds sticky posts to the posts array.  Meant to be used as a filter on `the_posts`.
 *
 * @since  1.0.0
 * @access public
 * @param  array  $posts
 * @param  object $query
 * @return array
 */
function mb_posts_sticky_filter($posts, $query)
{
    remove_filter('the_posts', 'mb_posts_sticky_filter');
    $forum_id = mb_is_single_forum() ? get_queried_object_id() : 0;
    return mb_add_stickies($posts, mb_get_sticky_topics(), $forum_id);
}
 /**
  * Add custom views (status list).
  *
  * @since  1.0.0
  * @access public
  * @param  array  $views
  * @return array
  */
 public function views($views)
 {
     $post_type = mb_get_topic_post_type();
     $super = mb_get_super_topics();
     $sticky = mb_get_sticky_topics();
     $super_count = count($super);
     $sticky_count = count($sticky);
     if (0 < $super_count) {
         $super_text = sprintf(_n('Super <span class="count">(%s)</span>', 'Super <span class="count">(%s)</span>', $super_count, 'message-board'), number_format_i18n($super_count));
         $views['super'] = sprintf('<a href="%s">%s</a>', add_query_arg(array('post_type' => $post_type, 'topic_type' => 'super'), admin_url('edit.php')), $super_text);
     }
     if (0 < $sticky_count) {
         $sticky_text = sprintf(_n('Sticky <span class="count">(%s)</span>', 'Sticky <span class="count">(%s)</span>', $sticky_count, 'message-board'), number_format_i18n($sticky_count));
         $views['sticky'] = sprintf('<a href="%s">%s</a>', add_query_arg(array('post_type' => $post_type, 'topic_type' => 'sticky'), admin_url('edit.php')), $sticky_text);
     }
     return $views;
 }