Function Reference: geodir_detail_page_tab_is_display

Summary

Check whether custom field should be displayed or not, on the details page tab.

Global Values

$post
(object) (required) The current post object.

Default: None
$post_images
(object) (required) Image objects of current post if available.

Default: None
$video
(string) (required) The video embed content.

Default: None
$special_offers
(string) (required) Special offers content.

Default: None
$related_listing
(string) (required) Related listing html.

Default: None
$geodir_post_detail_fields
(string) (required) Detail field html.

Default: None

Package

GeoDirectory

Parameters

$is_display
(bool) (required) Old display value.

Default: None
$tab
(string) (required) Tab type.

Default: None

Return Values

(bool)
  • New display value.
  • If display returns true.

Change Log

Since: 1.0.0

Filters

‘geodir_description_field_desc_limit’ [Line: 1566]

‘geodir_message_listing_not_found’ [Line: 1592]

Source File

geodir_detail_page_tab_is_display() is located in geodirectory_hooks_actions.php [Line: 1560]

Source Code

function geodir_detail_page_tab_is_display($is_display, $tab)
{
    global $post, $post_images, $video, $special_offers, $related_listing, $geodir_post_detail_fields;

    if ($tab == 'post_profile') {
        /** This action is documented in geodirectory_template_actions.php */
        $desc_limit = apply_filters('geodir_description_field_desc_limit', '');
        
        if (!($desc_limit === '' || (int)$desc_limit > 0)) {
            $is_display = false;
        }
    }
    
    if ($tab == 'post_info')
        $is_display = (!empty($geodir_post_detail_fields)) ? true : false;
    
    if ($tab == 'post_images')
        $is_display = (!empty($post_images)) ? true : false;

    if ($tab == 'post_video')
        $is_display = (!empty($video)) ? true : false;

    if ($tab == 'special_offers')
        $is_display = (!empty($special_offers)) ? true : false;

    if ($tab == 'reviews')
        $is_display = (geodir_is_page('detail')) ? true : false;

    if ($tab == 'related_listing') {
       $message = __('No listings found which match your selection.', 'geodirectory');
       
       /** This action is documented in geodirectory-functions/template_functions.php */
       $message = apply_filters('geodir_message_listing_not_found', $message, 'listing-listview', false);
       
       $is_display = ((strpos($related_listing, $message) !== false || $related_listing == '' || !geodir_is_page('detail'))) ? false : true;
    }

    return $is_display;
}