Advertisement
palsushobhan

wcfm-job-list-vendor-store-tab

Jun 8th, 2022
743
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.28 KB | None | 0 0
  1. add_filter('wcfmmp_store_tabs', function ($store_tabs, $id) {
  2.     $store_tabs['store-joblists'] =  __('Job Lists', 'wc-multivendor-marketplace');
  3.     return $store_tabs;
  4. }, 10, 2);
  5.  
  6. add_filter('wcfmp_store_tabs_url', function ($store_tab_url, $tab) {
  7.     switch ($tab) {
  8.         case 'store-joblists':
  9.             $store_tab_url = $store_tab_url . 'store-joblists';
  10.             break;
  11.     }
  12.     return $store_tab_url;
  13. }, 10, 2);
  14.  
  15. add_filter('query_vars', function ($vars) {
  16.     $vars[] = 'store-joblists';
  17.     return $vars;
  18. }, 21);
  19.  
  20. add_filter('wcfmp_store_default_query_vars', function ($query_var) {
  21.     if (get_query_var('store-joblists')) {
  22.         $query_var = 'store-joblists';
  23.     }
  24.     return $query_var;
  25. });
  26.  
  27. add_action('wcfmmp_rewrite_rules_loaded', function ($wcfm_store_url) {
  28.     global $WCFMmp;
  29.     add_rewrite_rule($wcfm_store_url . '/([^/]+)/' . $WCFMmp->wcfmmp_rewrite->store_endpoint('store-joblists') . '?$', 'index.php?post_type=job_listing&' . $wcfm_store_url . '=$matches[1]&' . $WCFMmp->wcfmmp_rewrite->store_endpoint('store-joblists') . '=true', 'top');
  30.     add_rewrite_rule($wcfm_store_url . '/([^/]+)/' . $WCFMmp->wcfmmp_rewrite->store_endpoint('store-joblists') . '/page/?([0-9]{1,})/?$', 'index.php?post_type=job_listing&' . $wcfm_store_url . '=$matches[1]&paged=$matches[2]&' . $WCFMmp->wcfmmp_rewrite->store_endpoint('store-joblists') . '=true', 'top');
  31. }, 8);
  32.  
  33. add_action('init', function () {
  34.     add_rewrite_endpoint('store-joblists', EP_ROOT | EP_PAGES);
  35. }, 12);
  36.  
  37. add_filter('pre_get_posts', function ($query, $that = null) {
  38.     global $WCFMmp;
  39.     $store_name = apply_filters('wcfmmp_store_query_var', get_query_var($WCFMmp->wcfmmp_rewrite->wcfm_store_url));
  40.     if (!is_admin() && $query->is_main_query() && !empty($store_name)) {
  41.         $seller_info  = get_user_by('slug', $store_name);
  42.         if ($seller_info) {
  43.             if (get_query_var('store-joblists')) {
  44.                 $query->set('author__in', $seller_info->data->ID);
  45.                 $query->set('post_type', 'job_listing');
  46.             }
  47.         }
  48.     }
  49. }, 9999, 2);
  50.  
  51. add_filter('wcfmmp_store_default_template', function ($template, $tab) {
  52.     if ($tab == 'store-joblists') {
  53.         $template = 'store/wcfmmp-view-store-joblists.php';
  54.     }
  55.     return $template;
  56. }, 50, 2);
  57.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement