P2020_SIDEBAR_COUNT_LIMIT ) { return P2020_SIDEBAR_COUNT_LIMIT . '+'; } return $count; } function p2020_sidebar_bookmarks_get_list() { $site_url = P2_Core\Navigation\Urls::get_site_url(); $posts_url = $site_url; if ( 'page' === get_option( 'show_on_front' ) ) { $posts_url .= '/posts'; } $bookmarks = array( P2020_SIDEBAR_BOOKMARK_POSTS => array( 'url' => $posts_url, 'classes' => 'p2020-bookmarks__posts', 'label' => __( 'Posts', 'p2020' ), ), P2020_SIDEBAR_BOOKMARK_PAGES => array( 'url' => add_query_arg( array( 'pages' => true ), $site_url ), 'classes' => 'p2020-bookmarks__pages', 'label' => __( 'Pages', 'p2020' ), ), ); // Add project threads tag archive page, if active. if ( p2020_sidebar_bookmarks_should_add_projects() ) { $bookmarks[ P2020_SIDEBAR_BOOKMARK_PROJECTS ] = array( 'url' => $site_url . '/tag/project-thread', 'classes' => 'p2020-bookmarks__projects', 'label' => __( 'Projects', 'p2020' ), ); } // Add to-do posts, if active. if ( p2020_sidebar_bookmarks_should_add_todo() ) { require_once P2__DIR . '/o2/modules/to-do/inc/utils.php'; $todo_count = \o2_ToDos_Utils::count_unresolved_posts( get_current_blog_id() ); wp_enqueue_script( 'p2020-live-todo', get_template_directory_uri() . '/js/cocktails/live-todo.js', [ 'o2-cocktail' ], filemtime( __FILE__ ), true ); $bookmarks[ P2020_SIDEBAR_BOOKMARK_TODO ] = array( 'url' => add_query_arg( [ 'resolved' => 'unresolved' ], $site_url ), 'classes' => 'p2020-bookmarks__unresolved' . ( $todo_count > 0 ? ' has-unread' : '' ), 'label' => __( 'To Do', 'p2020' ), 'count' => $todo_count, ); } $bookmarks = apply_filters( 'p2020_bookmarks_list', $bookmarks ); return $bookmarks; } function p2020_sidebar_bookmarks_should_add_projects() { // Check if there are #project-thread posts. $query = new \WP_Query( array( 'tag' => 'project-thread', 'posts_per_page' => 1, 'no_found_rows' => true, ) ); return $query->post_count > 0; } function p2020_sidebar_bookmarks_should_add_todo() { return P2_Core\Thirdparty\O2_Option::get( 'enable_resolved_posts', false ); } function p2020_sidebar_bookmarks_get_active() { global $wp; $current_url = wp_parse_url( $wp->request ); if ( is_page() || P2020\Pages_Index\Pages_Index::is_pages_index_active() ) { return P2020_SIDEBAR_BOOKMARK_PAGES; } elseif ( isset( $_GET['resolved'] ) && 'unresolved' === $_GET['resolved'] ) { return P2020_SIDEBAR_BOOKMARK_TODO; } elseif ( 'tag/project-thread' === $current_url['path'] || ( is_single() && get_the_ID() && has_tag( 'project-thread', get_the_ID() ) ) ) { return P2020_SIDEBAR_BOOKMARK_PROJECTS; } elseif ( is_home() || is_single() ) { return P2020_SIDEBAR_BOOKMARK_POSTS; } return null; } $bookmarks = p2020_sidebar_bookmarks_get_list(); if ( empty( $bookmarks ) ) { return; } $active_bookmark = p2020_sidebar_bookmarks_get_active(); if ( ! empty( $active_bookmark ) ) { $bookmarks[ $active_bookmark ]['classes'] .= ' is-active'; } ?>