Function Reference: geodir_template_loader
Summary
Loads template based on the current page.
Global Values
- $wp_query
- (object) (required) WordPress Query object.
- Default: None
- $post
- (object) (required) The current post object.
- Default: None
- $current_user
- (object) (required) Current user object.
- Default: None
Package
GeoDirectory
Parameters
- $template
- (string) (required) The template path.
- Default: None
Return Values
- (bool|string)
- The template path.
Change Log
Since: 1.0.0
Todo
$wp_query declared twice – fix it.
Filters
‘geodir_set_custom_pages’ [Line: 175]
Source File
geodir_template_loader() is located in geodirectory-functions/template_functions.php [Line: 165]
Source Code
function geodir_template_loader($template) { global $wp_query; /** * Filter the custom page list. * * @since 1.0.0 */ $geodir_custom_page_list = apply_filters('geodir_set_custom_pages', array( 'geodir_signup_page' => apply_filters('geodir_set_custom_signup_page', false), 'geodir_add_listing_page' => apply_filters('geodir_set_custom_add_listing_page', false), 'geodir_preview_page' => apply_filters('geodir_set_custom_preview_page', false), 'geodir_listing_success_page' => apply_filters('geodir_set_custom_listing_success_page', false), 'geodir_listing_detail_page' => apply_filters('geodir_set_custom_listing_detail_page', false), 'geodir_listing_page' => apply_filters('geodir_set_custom_listing_page', false), 'geodir_search_page' => apply_filters('geodir_set_custom_search_page', false), 'geodir_author_page' => apply_filters('geodir_set_custom_author_page', false), 'geodir_home_map_page' => apply_filters('geodir_set_custom_home_map_page', false) )); if (geodir_is_page('login') || $geodir_custom_page_list['geodir_signup_page']) { $template = geodir_locate_template('signup'); if (!$template) $template = geodir_plugin_path() . '/geodirectory-templates/geodir-signup.php'; /** * Filter the signup template path. * * @since 1.0.0 * @param string $template The template path. */ return $template = apply_filters('geodir_template_signup', $template); } if (geodir_is_page('add-listing') || $geodir_custom_page_list['geodir_add_listing_page']) { if (!geodir_is_default_location_set()) { global $information; $information = sprintf(__('Please %sclick here%s to set a default location, this will make the plugin work properly.', 'geodirectory'), '', ''); $template = geodir_locate_template('information'); if (!$template) $template = geodir_plugin_path() . '/geodirectory-templates/geodir-information.php'; /** * Filter the information template path. * * @since 1.0.0 * @param string $template The template path. */ return $template = apply_filters('geodir_template_information', $template); } // check if pid exists in the record if yes then check if this post belongs to the user who is logged in. if (isset($_REQUEST['pid']) && $_REQUEST['pid'] != '') { /// WPML if (geodir_wpml_is_post_type_translated(get_post_type((int)$_GET['pid'])) && $duplicate_of = wpml_get_master_post_from_duplicate((int)$_GET['pid'])) { global $sitepress; $lang_of_duplicate = geodir_get_language_for_element($duplicate_of, 'post_' . get_post_type($duplicate_of)); $sitepress->switch_lang($lang_of_duplicate, true); $redirect_to = get_permalink(geodir_add_listing_page_id()); $_GET['pid'] = $duplicate_of; if (!empty($_GET)) { $redirect_to = add_query_arg($_GET, $redirect_to); } wp_redirect($redirect_to); exit; } /// WPML global $information; $information = __('This listing does not belong to your account, please check the listing id carefully.', 'geodirectory'); $is_current_user_owner = geodir_listing_belong_to_current_user(); if (!$is_current_user_owner) { $template = geodir_locate_template('information'); if (!$template) $template = geodir_plugin_path() . '/geodirectory-templates/geodir-information.php'; /** * Filter the information template path. * * @since 1.0.0 * @param string $template The template path. */ return $template = apply_filters('geodir_template_information', $template); } } //geodir_is_login(true); global $current_user; if (!$current_user->ID) { wp_redirect(geodir_login_url(array('redirect_add_listing'=>urlencode(geodir_curPageURL()))), 302); exit; } $template = geodir_locate_template('add-listing'); if (!$template) $template = geodir_plugin_path() . '/geodirectory-templates/add-listing.php'; /** * Filter the add listing template path. * * @since 1.0.0 * @param string $template The template path. */ return $template = apply_filters('geodir_template_add_listing', $template); } if (geodir_is_page('preview') || $geodir_custom_page_list['geodir_preview_page']) { global $preview; $preview = true; $template = geodir_locate_template('preview'); if (!$template) $template = geodir_plugin_path() . '/geodirectory-templates/listing-detail.php'; /** * Filter the preview template path. * * @since 1.0.0 * @param string $template The template path. */ return $template = apply_filters('geodir_template_preview', $template); } if (geodir_is_page('listing-success') || $geodir_custom_page_list['geodir_listing_success_page']) { $template = geodir_locate_template('success'); if (!$template) $template = geodir_plugin_path() . '/geodirectory-templates/listing-success.php'; /** * Filter the success template path. * * @since 1.0.0 * @param string $template The template path. */ return $template = apply_filters('geodir_template_success', $template); } if (geodir_is_page('detail') || $geodir_custom_page_list['geodir_listing_detail_page']) { $template = geodir_locate_template('detail'); if (!$template) $template = geodir_plugin_path() . '/geodirectory-templates/listing-detail.php'; /** * Filter the detail template path. * * @since 1.0.0 * @param string $template The template path. */ return $template = apply_filters('geodir_template_detail', $template); } if (geodir_is_page('listing') || $geodir_custom_page_list['geodir_listing_page']) { $template = geodir_locate_template('listing'); if (!$template) $template = geodir_plugin_path() . '/geodirectory-templates/geodir-listing.php'; /** * Filter the listing template path. * * @since 1.0.0 * @param string $template The template path. */ return $template = apply_filters('geodir_template_listing', $template); } if (geodir_is_page('search') || $geodir_custom_page_list['geodir_search_page']) { $template = geodir_locate_template('search'); if (!$template) $template = geodir_plugin_path() . '/geodirectory-templates/geodir-search.php'; /** * Filter the search template path. * * @since 1.0.0 * @param string $template The template path. */ return $template = apply_filters('geodir_template_search', $template); } if (geodir_is_page('author') || $geodir_custom_page_list['geodir_author_page']) { $template = geodir_locate_template('author'); if (!$template) $template = geodir_plugin_path() . '/geodirectory-templates/geodir-author.php'; /** * Filter the author template path. * * @since 1.0.0 * @param string $template The template path. */ return $template = apply_filters('geodir_template_author', $template); } if ( geodir_is_page('home') || geodir_is_page('location')) { global $post, $wp_query; if (geodir_is_page('home') || ('page' == get_option('show_on_front') && isset($post->ID) && $post->ID == get_option('page_on_front')) || (is_home() && !$wp_query->is_posts_page) ) { $template = geodir_locate_template('geodir-home'); if (!$template) $template = geodir_plugin_path() . '/geodirectory-templates/geodir-home.php'; /** * Filter the home page template path. * * @since 1.0.0 * @param string $template The template path. */ return $template = apply_filters('geodir_template_homepage', $template); } elseif (geodir_is_page('location')) { $template = geodir_locate_template('location'); if (!$template) $template = geodir_plugin_path() . '/geodirectory-templates/geodir-location.php'; /** * Filter the location template path. * * @since 1.0.0 * @param string $template The template path. */ return $template = apply_filters('geodir_template_location', $template); } else return $template; } return $template; }