# taskbuilder/6.0.1/includes/frontend/wppm_tasks_shortcode.php

Taskbuilder – Project Management &amp; Task Management Tool With Kanban Board, version 6.0.1. 412 lines.

- Page: https://pluginprobe.com/plugins/taskbuilder/6.0.1/code/includes/frontend/wppm_tasks_shortcode.php
- Raw: https://pluginprobe.com/plugins/taskbuilder/6.0.1/raw/includes/frontend/wppm_tasks_shortcode.php
- Modified: 2026-07-23T08:37:50+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/taskbuilder/6.0.1/code/includes/frontend/wppm_tasks_shortcode.php#L10-L20`.

```php
<?php
if ( ! defined( 'ABSPATH' ) ) {
  exit; // Exit if accessed directly
}

if ( ! class_exists( 'WPPM_Tasks_Shortcode' ) ) :
  final class WPPM_Tasks_Shortcode {
    public $shortcode_attr ;  
    // constructor
    public function __construct($attr) {
      global $wppmfunction;
      $this->shortcode_attr = !empty($attr)? $wppmfunction->sanitize_array($attr):array();  
      $shortcode_attr =  $this->shortcode_attr;
      $this->wppm_display_tasks();
      add_action('wp_footer', array($this,'wppm_page_inline_script' ),999999999999999999);
    }
  
    public function wppm_display_tasks(){ 
      global $wpdb, $wppmfunction;
      wp_enqueue_script('jquery');
      wp_enqueue_script('jquery-ui-core');
      wp_enqueue_script('jquery-ui-sortable');
      wp_enqueue_script('jquery-ui-datepicker' );
      wp_enqueue_editor();
      wp_enqueue_style('wppm-bootstrap-css');
      wp_enqueue_style('wppm-jquery-ui');
      wp_enqueue_style('wppm-public-css');
      wp_enqueue_style('wppm-admin-css');
      wp_enqueue_style('wppm-modal-css');
      wp_enqueue_style('wppm-flatpickr-css');
      wp_enqueue_style('wppm-select2-css');
      wp_enqueue_style('wppm-gpopover-css');
      wp_enqueue_style('wppm-dragula-css');
      wp_enqueue_script('wppm-admin');
      wp_enqueue_script('wppm-public');
      wp_enqueue_script('wppm-modal');
      wp_enqueue_script('wppm-flatpickr-js');
      wp_enqueue_script('wppm-select2-js');
      wp_enqueue_script('wppm-gpopover-js');
      wp_enqueue_script('wppm-dragula-js');
      $settings = get_option("wppm-ap-modal");
      ?>
      <div class="wppm_bootstrap">
        <div id="wppm_task_container"></div>
        <div id="wppm_alert_success" class="alert alert-success wppm_alert" style="display:none;" role="alert">
          <img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/success.svg'); ?>" alt="success"> <span class="wppm_alert_text"></span>
        </div>
        <div id="wppm_alert_error" class="alert alert-danger wppm_alert" style="display:none;" role="alert">
          <img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/warning-triangle.svg'); ?>" alt="warning-triangle"> <span class="wppm_alert_text"></span>
        </div>
      </div>
      <!-- Pop-up snippet start -->
      <div id="wppm_task_popup_background" style="display:none;"></div>
      <div id="wppm_task_popup_container" style="display:none;">
        <div class="wppm_bootstrap">
          <div class="row">
            <div id="wppm_task_popup" class="col-xs-10 col-xs-offset-1 col-sm-10 col-sm-offset-1 col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3">
              <div id="wppm_task_popup_title" class="row" ><h3><?php echo esc_html_e('Modal Title','taskbuilder');?></h3></div>
              <div id="wppm_task_popup_body" class="row"><?php echo esc_html_e('I am body!','taskbuilder');?></div>
              <div id="wppm_task_popup_footer" class="row">
                <button type="button" class="btn wppm_task_popup_close"><?php echo esc_html_e('Close','taskbuilder');?></button>
                <button type="button" class="btn wppm_task_popup_action"><?php echo esc_html_e('Save Changes','taskbuilder');?></button>
              </div>
            </div>
          </div>
        </div>
      </div>
      <style>
        #wppm_task_popup_title{
          background-color: <?php echo esc_attr($settings['header-bg-color'])?>;
        }
        #wppm_task_popup_title h3{
          color:<?php echo esc_attr( $settings['header-text-color'])?>;
        }
        #wppm_task_popup_body{
          background-color: <?php echo esc_attr($settings['body-bg-color'])?>!important;
        }
        #wppm_task_popup_body label{
          color:<?php echo esc_attr( $settings['body-label-color'])?>;
        }
        #wppm_task_popup_body input{
          color:<?php echo esc_attr( $settings['body-text-color'])?>;
        }
        #wppm_task_popup_body select{
          color:<?php echo esc_attr( $settings['body-text-color'])?>;
        }
        #wppm_task_popup_body span {
          color:<?php echo esc_attr( $settings['body-text-color'])?>;
        }
        #wppm_task_popup_body .select2-results__options {
          color:<?php echo esc_attr( $settings['body-text-color'])?>;
        }
      </style>
      <!-- Pop-up snippet end -->
      <?php
      do_action('wppm_after_task_shortcode_loaded');
    }

    public function wppm_page_inline_script() { ?>
      <script type="text/javascript">
        jQuery( document ).ready( function( jQuery ) {
          <?php if(is_user_logged_in()){ 
                  if(  (!((isset($_REQUEST['task-id'])) && (!empty(sanitize_text_field(wp_unslash($_REQUEST['auth-code'] ))))))){
                    if(get_option('wppm_default_task_list_view')==1){ ?>
                          wppm_get_task_list();
                  <?php } else{ 
                    ?>    wppm_view_task_search_filter();
                  <?php }
                  }
                  if((isset($_REQUEST['task-id'])) && (!empty(sanitize_text_field(wp_unslash($_REQUEST['auth-code'] ))))){ ?>
                        wppm_open_task(<?php echo (intval(wp_unslash($_REQUEST['task-id']))); ?>);
                 <?php } 
                }
                else{ ?>
                  wppm_task_sign_in();
          <?php } ?>
        });

        function wppm_get_task_list(page_no){
          jQuery('#wppm_task_container').show();
          jQuery('#wppm_task_container').html(wppm_admin.loading_html);
          var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
          jQuery(document).trigger('wppm_task_list_dataform', [dataform]);
          <?php //do_action('wppm_task_list_dataform');?>
          dataform.append("page_no", page_no);
          dataform.append("action", 'wppm_get_task_list');
          dataform.append("is_frontend", '1');
          dataform.append("page",'wppm-tasks');
          <?php 
          if(!empty($this->shortcode_attr['project'])){ 
                ?>
                dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
          <?php } ?>
          jQuery.ajax( {
            url: wppm_admin.ajax_url,
            type: 'POST',
            data: dataform,
            processData: false,
            contentType: false
          }) 
          .done(function( response ) {
            jQuery('#wppm_task_container').html(response);
          });
        }

        function wppm_add_new_task(proj_id){
          jQuery('#wppm_task_container').show();
          jQuery('#wppm_task_container').html(wppm_admin.loading_html);
          var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
          jQuery(document).trigger('wppm_add_new_task_dataform', [dataform]);
          dataform.append("proj_id", proj_id);
          dataform.append("action", 'wppm_add_new_task');
          jQuery.ajax( {
            url: wppm_admin.ajax_url,
            type: 'POST',
            data: dataform,
            processData: false,
            contentType: false
          }) 
          .done(function( response ) {
            jQuery('#wppm_task_container').html(response);
          });
        }

        function wppm_apply_task_filter(){
          wppm_task_filter = jQuery('#wppm_task_filter').find(":selected").val();
          jQuery('#wppm_task_container').html(wppm_admin.loading_html);
          var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
           jQuery(document).trigger('wppm_apply_task_filter_dataform', [dataform]);
            dataform.append("wppm_task_filter", wppm_task_filter);
            dataform.append("is_frontend", '1');
            dataform.append("action", 'wppm_get_task_list');
            dataform.append("page",'wppm-tasks');
            <?php if(!empty($this->shortcode_attr['project'])){ ?>
                    dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
            <?php } ?>
            jQuery.ajax( {
              url: wppm_admin.ajax_url,
              type: 'POST',
              data: dataform,
              processData: false,
              contentType: false
            }) 
            .done(function( response ) {
              jQuery('#wppm_task_container').html(response);
            });
        }
        
        function wppm_tl_reset_filter(){
          jQuery('#wppm_task_container').html(wppm_admin.loading_html);
          var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
          dataform.append("action", 'wppm_get_task_list');
          dataform.append("wppm_task_filter", 'all');
          dataform.append("task_search", '');
          dataform.append("sort_by", 'task_name');
          dataform.append("order", 'ASC');
          dataform.append("wppm_proj_filter",0);
          dataform.append("is_frontend", '1');
          dataform.append("page",'wppm-tasks');
          <?php if(!empty($this->shortcode_attr['project'])){ ?>
                  dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
          <?php } ?>
          jQuery(document).trigger('wppm_tl_reset_filter_dataform', [dataform]);
          jQuery.ajax( {
            url: wppm_admin.ajax_url,
            type: 'POST',
            data: dataform,
            processData: false,
            contentType: false
          }) 
          .done(function( response ) {
            jQuery('#wppm_task_container').html(response);
          });
        }

        function wppm_task_search_filter(){
          var task_search = jQuery("#wppm_task_search_filter").val();
          jQuery('#wppm_task_container').show();
          jQuery('#wppm_task_container').html(wppm_admin.loading_html);
          var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
          jQuery(document).trigger('wppm_task_search_filter_dataform', [dataform]);
          dataform.append("action", 'wppm_get_task_list');
          dataform.append("is_frontend", '1');
          dataform.append("page",'wppm-tasks');
          <?php if(!empty($this->shortcode_attr['project'])){ ?>
                  dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
          <?php } ?>
          dataform.append("task_search", task_search);
          jQuery.ajax( {
            url: wppm_admin.ajax_url,
            type: 'POST',
            data: dataform,
            processData: false,
            contentType: false
          }) 
          .done(function( response ) {
            jQuery('#wppm_task_container').html(response);
          });
        }

        function wppm_display_grid_view(){
          var task_search = jQuery("#wppm_view_task_search_filter").val() || '';
          jQuery('#wppm_task_container').show();
          jQuery('#wppm_task_container').html(wppm_admin.loading_html);
          var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
          jQuery(document).trigger('wppm_display_grid_view_dataform', [dataform]);
          dataform.append("action", 'wppm_get_task_list_card_view');
          dataform.append("task_search", task_search);
          dataform.append("is_frontend", '1');
          dataform.append("page",'wppm-tasks');
          <?php if(!empty($this->shortcode_attr['project'])){ ?>
                  dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
          <?php } ?>
          jQuery.ajax( {
            url: wppm_admin.ajax_url,
            type: 'POST',
            data: dataform,
            processData: false,
            contentType: false
          }) 
          .done(function( response ) {
            jQuery('#wppm_task_container').html(response);
          });
        }

        function wppm_sort_up_task_list(sort_by,order){
          jQuery('#wppm_task_container').show();
          jQuery('#wppm_task_container').html(wppm_admin.loading_html);
          var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
          dataform.append("action", 'wppm_get_task_list');
          dataform.append("sort_by", sort_by);
          dataform.append("order", order);
          dataform.append("is_frontend", '1');
          jQuery(document).trigger('wppm_sort_up_task_list_dataform', [dataform]);
          dataform.append("page",'wppm-tasks');
          <?php if(!empty($this->shortcode_attr['project'])){ ?>
                  dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
          <?php } ?>
          jQuery.ajax( {
            url: wppm_admin.ajax_url,
            type: 'POST',
            data: dataform,
            processData: false,
            contentType: false
          }) 
          .done(function( response ) {
            jQuery('#wppm_task_container').html(response);
          });
        }

        function wppm_view_task_search_filter(page_no){
          var task_search = jQuery("#wppm_view_task_search_filter").val() || '';
          jQuery('#wppm_task_container').show();
          jQuery('#wppm_task_container').html(wppm_admin.loading_html);
          var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
          jQuery(document).trigger('wppm_view_task_search_filter_dataform', [dataform]);
          dataform.append("action", 'wppm_get_task_list_card_view');
          dataform.append("task_search", task_search);
          dataform.append("page_no",page_no);
          dataform.append("is_frontend", '1');
          dataform.append("page",'wppm-tasks');
          <?php if(!empty($this->shortcode_attr['project'])){ ?>
                  dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
          <?php } ?>
          jQuery.ajax( {
            url: wppm_admin.ajax_url,
            type: 'POST',
            data: dataform,
            processData: false,
            contentType: false
          }) 
          .done(function( response ) {
            jQuery('#wppm_task_container').html(response);
          });
        }

        function wppm_apply_task_filter_grid_view(){
          wppm_task_filter = jQuery('#wppm_task_filter').find(":selected").val();
          jQuery('#wppm_task_container').html(wppm_admin.loading_html);
          var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
          jQuery(document).trigger('wppm_apply_task_filter_grid_view_dataform', [dataform]);
          dataform.append("action", 'wppm_view_project_tasks');
          dataform.append("wppm_task_filter", wppm_task_filter);
          dataform.append("is_frontend", '1');
          dataform.append("page",'wppm-tasks');
          <?php if(!empty($this->shortcode_attr['project'])){ ?>
                  dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
          <?php } ?>
          jQuery.ajax( {
            url: wppm_admin.ajax_url,
            type: 'POST',
            data: dataform,
            processData: false,
            contentType: false
          }) 
          .done(function( response ) {
            jQuery('#wppm_task_container').html(response);
          });
        }

        function wppm_tl_reset_grid_view_filter(){
          jQuery('#wppm_task_container').html(wppm_admin.loading_html);
          var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
          jQuery(document).trigger('wppm_tl_reset_grid_view_filter_dataform', [dataform]);
          dataform.append("action", 'wppm_view_project_tasks');
          dataform.append("task_search", "");
          dataform.append("wppm_task_filter", "all");
          dataform.append("sort_by", "task_name");
          dataform.append("order", "ASC");
          dataform.append("wppm_proj_filter","0");
          dataform.append("is_frontend", '1');
          dataform.append("page",'wppm-tasks');
          <?php if(!empty($this->shortcode_attr['project'])){ ?>
                  dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
          <?php } ?>
          jQuery.ajax( {
            url: wppm_admin.ajax_url,
            type: 'POST',
            data: dataform,
            processData: false,
            contentType: false
          }) 
          .done(function( response ) {
            jQuery('#wppm_task_container').html(response);
          });
        }
        function wppm_tasks_by_select_project(){
          wppm_proj_filter = jQuery('#wppm_task_list_proj_filter').find(":selected").val();
          jQuery('#wppm_task_container').html(wppm_admin.loading_html);
          var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
          jQuery(document).trigger('wppm_change_proj_tl_filter_dataform', [dataform]);
          dataform.append("action", 'wppm_get_task_list');
          dataform.append("wppm_proj_filter",wppm_proj_filter);
          dataform.append("is_frontend", '1');
          dataform.append("page",'wppm-tasks');
          jQuery.ajax( {
            url: wppm_admin.ajax_url,
            type: 'POST',
            data: dataform,
            processData: false,
            contentType: false
          }) 
          .done(function( response ) {
            jQuery('#wppm_task_container').html(response);
          });
        }

        function wppm_tasks_by_select_project_grid_view(){
          wppm_proj_filter = jQuery('#wppm_task_list_proj_filter').find(":selected").val();
          jQuery('#wppm_task_container').html(wppm_admin.loading_html);
          var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
          jQuery(document).trigger('wppm_change_proj_grid_view_filter_dataform', [dataform]);
          dataform.append("action", 'wppm_view_project_tasks');
          dataform.append("wppm_proj_filter",wppm_proj_filter);
          dataform.append("is_frontend", '1');
          dataform.append("page",'wppm-tasks');
          jQuery.ajax( {
            url: wppm_admin.ajax_url,
            type: 'POST',
            data: dataform,
            processData: false,
            contentType: false
          }) 
          .done(function( response ) {
            jQuery('#wppm_task_container').html(response);
          });
        }
      </script>
    <?php } 
  }
endif;
$GLOBALS['wppmtaskshortcode'] =  new WPPM_Tasks_Shortcode($attr);
```
