rdusnr

Untitled

Sep 12th, 2017
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.64 KB | None | 0 0
  1. <?php
  2.  
  3. /* Buddypress Notifications in menu item */
  4. add_filter('kleo_nav_menu_items', 'kleo_add_tasks_nav_item' );
  5. function kleo_add_tasks_nav_item( $menu_items ) {
  6. $menu_items[] = array(
  7. 'name' => esc_html__( 'Tasks', 'buddyapp' ),
  8. 'slug' => 'tasks',
  9. 'link' => '/asd/',
  10. );
  11.  
  12. return $menu_items;
  13. }
  14.  
  15.  
  16.  
  17. add_filter( 'kleo_setup_nav_item_tasks' , 'kleo_setup_tasks_nav' );
  18. function kleo_setup_tasks_nav( $menu_item ) {
  19. $menu_item->classes[] = 'has-submenu kleo-tasks';
  20. if ( ! is_user_logged_in() ) {
  21. $menu_item->_invalid = true;
  22. } else {
  23. add_filter( 'walker_nav_menu_start_el_tasks', 'kleo_menu_tasks', 10, 4 );
  24. }
  25.  
  26. return $menu_item;
  27. }
  28.  
  29. if( !function_exists( 'kleo_menu_tasks' ) ) {
  30. function kleo_menu_tasks()
  31. {
  32. $count = CTDL_Lib::get_todos(get_current_user_id(), 5000, 0)->post_count;
  33. ob_start();
  34. ?>
  35. <a href="#">
  36. <i class="icon-tasks-line"></i>
  37. <?php if ($count > 0) : ?>
  38. <b class="bubble"><?php echo esc_html($count); ?></b>
  39. <?php endif; ?>
  40. <span><?php esc_html_e('Tasks', 'buddyapp'); ?></span>
  41. </a>
  42. <em class="menu-arrow"></em>
  43. <ul class="submenu">
  44. <li>
  45. <?php
  46. if ($count == 0) {
  47. echo '<span>';
  48. }
  49. echo do_shortcode('[todolist]');
  50. if ($count = 0) {
  51. echo '</span>';
  52. }
  53. ?>
  54. </li>
  55. <?php if ($count > 0) :
  56. $page_link = "#";
  57. if ($page = get_page_by_title('My Tasks')) {
  58. $page_link = get_permalink($page->ID);
  59. }
  60. ?>
  61. <li class="footer-item">
  62. <a class="btn btn-link" href="<?php echo esc_url($page_link); ?>">
  63. <?php esc_html_e("View all", "buddyapp"); ?>
  64. </a>
  65. </li>
  66. <?php endif; ?>
  67. </ul>
  68. <?php
  69. get_permalink();
  70. return ob_get_clean();
  71. }
  72. }
  73.  
  74. add_filter('walker_nav_menu_start_el', 'kleo_ctdl_replace_placeholders');
  75.  
  76. function kleo_ctdl_replace_placeholders( $output ) {
  77.  
  78. if ( strpos( $output, '##my_tasks##' ) !== false ) {
  79.  
  80. if ( ! is_user_logged_in() ) {
  81. return '';
  82. }
  83.  
  84. $count = CTDL_Lib::get_todos( get_current_user_id(), 5000, 0)->post_count;
  85. $output = str_replace('##my_tasks##', "<b class='bubble'>" . $count . "</b>", $output);
  86.  
  87. }
  88.  
  89. return $output;
  90. }
Advertisement
Add Comment
Please, Sign In to add comment