### Combined Permalink Structure Example Source: https://help.wprentals.org/article/how-to-make-permalinks-for-properties-with-custom-id-instead-of-title An example of how to combine multiple taxonomy tags and the post ID into a single permalink structure. ```text /%property_action_category%/%property_area%/%property_city%/%property_category%/%post_id%/ ``` -------------------------------- ### Implement Incremental Guest Values Source: https://help.wprentals.org/article/how-to-make-guest-number-with-incremental-value Example loop structure to generate incremental guest options, such as increments of 100. ```php for($i=100 ; $i<2101;$i += 100) ``` -------------------------------- ### Example of Manual Date Entry Source: https://help.wprentals.org/article/advanced-search-date-picker-error-on-mobile An example of a manually typed date string that may cause validation errors if it does not match the configured system format. ```text 08/12/2026 ``` -------------------------------- ### Triggering an email with wpestate_select_email_type Source: https://help.wprentals.org/article/where-to-change-email-parameters Example of how to invoke the email selection function with specific user arguments. ```php $arguments=array( ‘user_pass’ => $new_password, ‘user_login’ => $user_login, ); wpestate_select_email_type($user_email,’password_reseted’,$arguments); ``` -------------------------------- ### Example of Unauthorized URL Source: https://help.wprentals.org/article/faq-maps-are-not-showing An example of a URL that might trigger a RefererNotAllowedMapError if not included in the API key restrictions. ```text https://comain.lk/wp-admin/post.php ``` -------------------------------- ### Customize Mobile Menu Icons with CSS Source: https://help.wprentals.org/article-category/menu-options Example selector for replacing icons in the mobile menu using Font Awesome classes. ```css i.fas.fa-cogs ``` -------------------------------- ### Verify WordPress Site URL Format Source: https://help.wprentals.org/article/demo-setup-with-1-click-demo-import Ensure the WordPress Address and Site Address fields are configured with the correct domain and protocol before starting the import. ```text https://yourdomain.com ``` -------------------------------- ### WhatsApp Number Formatting Source: https://help.wprentals.org/article/how-to-make-a-contact-button-open-whatsapp Examples of correct and incorrect phone number formatting for the wa.me link. ```text Correct: https://wa.me/441234567890 ``` ```text Incorrect: https://wa.me/+44 123 456 7890 ``` -------------------------------- ### Retrieve Booking Date Meta Data Source: https://help.wprentals.org/article/technical-my-bookings Use these variables to access the start and end dates of a booking from the post meta. ```php $booking_from_date = get_post_meta($post->ID, ‘booking_from_date’, true); $booking_to_date = get_post_meta($post->ID, ‘booking_to_date’, true); ``` -------------------------------- ### Check Date Availability Condition Source: https://help.wprentals.org/article/advanced-search-explained Conditional check used to determine if start and end dates are provided for the search. ```php if ( $book_from!='' && $book_from!='' ){ ``` -------------------------------- ### Modify Payment Deadline Date Source: https://help.wprentals.org/article/how-to-change-number-of-days-before-payment-due Logic to calculate an earlier payment deadline date based on the booking start date. ```php $date = new DateTime($booking_from_date ); $date->modify('-2 days'); //Use the date in 'YYYY-MM-DD' format $new_date = $date->format('Y-m-d'); ``` -------------------------------- ### Retrieve Booking Author Source: https://help.wprentals.org/article/technical-my-bookings Use this function to get the author associated with the booking post. ```php $author = get_the_author(); ``` -------------------------------- ### Configure PHP Server Limits Source: https://help.wprentals.org/article/theme-installation Recommended PHP configuration settings to ensure theme functionality and demo import success. ```ini max_execution_time 600 (php.ini) ``` ```php set_time_limit(600); (wp-config.php) ``` ```apache max_execution 600 (.htaccess) ``` ```ini memory_limit 256M ``` ```ini post_max_size 64M ``` ```ini upload_max_filesize 64M ``` -------------------------------- ### Identify File Path Source: https://help.wprentals.org/article/technical-reset-counter-inbox The theme file where the reset logic should be temporarily injected. ```text wp-content/themes/wprentals/user_dashboard_inbox.php ``` -------------------------------- ### Define New Processor Template Header Source: https://help.wprentals.org/article/technical-how-to-integrate-new-payment-gateway Add this header to the top of your new_processor.php template file to register it within the theme. ```php // Template Name: New Processor Charge Page // Wp Estate Pack ``` -------------------------------- ### Header Menu Link Initialization Source: https://help.wprentals.org/article/technical-how-to-user-menu Initializes the dashboard link in the header menu. ```php '.esc_html__( 'Pay with Paypal','wpestate').''; } if($enable_stripe_status==='yes'){ wpestate_show_stripe_form_membership(); } ``` -------------------------------- ### Manage Membership Upgrades and Downgrades Source: https://help.wprentals.org/article/technical-how-to-integrate-new-payment-gateway Handle membership package changes by checking for downgrades and upgrading the user membership. ```php wpestate_downgrade_to_pack. ``` ```php  wpestate_upgrade_user_membership($current_user->ID,$pack_id,2,''); ``` ```php wpestate_downgrade_to_pack. ``` ```php wpestate_upgrade_user_membership($current_user->ID,$pack_id,2,''); ``` -------------------------------- ### Configure custom fields in wpml-config.xml Source: https://help.wprentals.org/article/wpml-how-to-sync-custom-price Add these lines to your wpml-config.xml file to ensure custom price and details fields are copied across translations. ```xml custom_price mega_details ``` -------------------------------- ### Load Normal Map Template Source: https://help.wprentals.org/article/technical-how-to-property-list Include the core template for the normal map listing view. ```php get_template_part('templates/normal_map_core'); ``` -------------------------------- ### Display Property Details Source: https://help.wprentals.org/article/technical-how-to-change-property-page-details Functions used to render price, address, details, and features on the listing page. ```php estate_listing_price($post->ID);// to show price details state_listing_address($post->ID); // to show listing address estate_listing_details($post->ID);// to show listing details (custom and default ones) estate_listing_features($post->ID); // to show features and amenities ``` -------------------------------- ### Buffer Half Map Listing Output Source: https://help.wprentals.org/article/technical-how-to-property-list Capture the property unit output for half-map views, including wide unit support. ```php ob_start(); while ($prop_selection->have_posts()): $prop_selection->the_post(); if($listing_unit_style_half == 1 && $listing_type!=1){ get_template_part(‘templates/property_unit_wide’); }else{ get_template_part(‘templates/property_unit’); } endwhile; $templates = ob_get_contents(); ob_end_clean(); ``` -------------------------------- ### Buffer Property Listing Output Source: https://help.wprentals.org/article/technical-how-to-property-list Capture the property unit output into the $templates variable using output buffering. ```php ob_start(); while ($prop_selection->have_posts()): $prop_selection->the_post(); get_template_part('templates/property_unit'); endwhile; $templates = ob_get_contents(); ob_end_clean(); ``` -------------------------------- ### Add Listing Upgrade Buttons Source: https://help.wprentals.org/article/technical-how-to-integrate-new-payment-gateway Display upgrade buttons for featured listings in dashboard_listing_unit.php. ```php if($enable_paypal_status==='yes'){ print''.esc_html__( 'Set as Featured','wpestate').''; } if($enable_stripe_status==='yes'){ wpestate_show_stripe_form_upgrade($stripe_class,$post_id,$price_submission,$price_featured_submission); } ``` -------------------------------- ### Load Availability Calendar Source: https://help.wprentals.org/article/technical-how-to-change-property-page-details Loads the availability calendar template. ```php get_template_part ('/templates/show_avalability'); ``` -------------------------------- ### Display Post Review Button Logic Source: https://help.wprentals.org/article/property-reviews-explained Logic used in book-listing-user-unit.php to determine if a user can post a review based on booking dates and existing review status. ```php if(strtotime($booking_to_date) < time() ){ if ( get_post_meta($booking_id,'review_by_'.$userID,true) != 'has' ){ print ''.esc_html__( 'Post Review','wpestate').''; }else{ print ''.esc_html__( 'You already reviewed this property!','wpestate').''; } }else{ print ''.esc_html__( 'You can post the review after the trip!','wpestate').''; } ``` -------------------------------- ### Load Property List Templates Source: https://help.wprentals.org/article/advanced-search-explained Determines which map template to load based on the property list type status. ```php if ( $property_list_type_status == 2 ){ get_template_part('templates/half_map_core'); }else{ get_template_part('templates/normal_map_core'); } ``` -------------------------------- ### Populate the country dropdown list Source: https://help.wprentals.org/article/how-to-remove-countries-from-the-dropdown The wpestate_country_list_search function retrieves the country list and builds the HTML options for the dropdown. ```php if( !function_exists('wpestate_country_list_search') ): function wpestate_country_list_search($selected) { $countries = wpestate_return_country_list_translated(); $country_select_list = ''; foreach ($countries as $country) { $country_select_list .= '
  • ' . $country . '
  • '; } } endif; ``` -------------------------------- ### Retrieve Guest Dropdown List Source: https://help.wprentals.org/article/how-to-make-guest-number-with-incremental-value The function used to populate the guest list in the advanced search feature. ```php $guest_list = wpestate_get_guest_dropdown(); ``` -------------------------------- ### Load Property Pictures Template Source: https://help.wprentals.org/article/technical-how-to-change-property-page-details Loads the appropriate picture template based on the active listing page type. ```php get_template_part('templates/property_pictures3'); //for listing_page_1 or get_template_part('templates/property_pictures'); //for listing_page_2 ``` -------------------------------- ### Assigning Property Taxonomies Source: https://help.wprentals.org/article/technical-how-to-change-the-submit-property-page Associates the newly created post with specific categories. ```php if( isset($prop_category->name) ){ wp_set_object_terms($post_id,$prop_category->name,'property_category'); } ``` -------------------------------- ### Locate property review button logic Source: https://help.wprentals.org/article-category/technical-how-to/page/4 The conditional logic for displaying the review button is found in book-listing-user-unit.php. ```php if(strtotime($booking_to_date) < time() ){ if ( get_post_meta($booking_id,’review_by_’.$userID,true) != ‘has’ ){ print ‘ ``` -------------------------------- ### Retrieve user meta in template Source: https://help.wprentals.org/article/how-to-add-new-fields-in-the-user-profile Use this to fetch existing user meta data at the top of the profile template. ```php $user_mobile = get_the_author_meta( 'mobile' , $userID ); //in top of the page ``` -------------------------------- ### Check Payment Mode Source: https://help.wprentals.org/article/technical-how-to-integrate-new-payment-gateway Verify if the system is in per-listing payment mode within dashboard_listing_unit.php. ```php if($paid_submission_status=='per listing'){ ``` -------------------------------- ### Identify wp-config.php Location Source: https://help.wprentals.org/article/stripe-set-up The configuration file where debug constants must be defined. ```text wp-config.php ``` -------------------------------- ### Dashboard Sidebar Menu Logic Source: https://help.wprentals.org/article/technical-how-to-user-menu Displays user profile information if logged in, or login/signup/submit links if not. ```php
    echo ''.ucwords($current_user->user_login).''; ?>
      ``` -------------------------------- ### Insert Review and Meta Data Source: https://help.wprentals.org/article/property-reviews-explained PHP logic for inserting a review as a comment and saving star ratings as comment meta. ```php $comment_id = wp_insert_comment($data); add_comment_meta( $comment_id, 'review_stars',$stars ); update_post_meta($listing_id,'review_by_'.$userID,'has'); ``` -------------------------------- ### Loop Through Property Results Source: https://help.wprentals.org/article/advanced-search-explained Standard loop for displaying property units within the results template. ```php while ($prop_selection->have_posts()): $prop_selection->the_post(); get_template_part('templates/property_unit'); endwhile; ``` -------------------------------- ### Identify the WPEstate Translate folder Source: https://help.wprentals.org/article/wpestate-translate-for-wprentals The plugin generates a specific directory for storing translation files. ```text languages/wpr/ ``` -------------------------------- ### Update Membership Price Currency Source: https://help.wprentals.org/article-category/technical-how-to Add the currency variable to wpresidence/templates/dashboard-templates/user_memebership_profile.php to sync with Price Settings. ```php $wpestate_currency ``` -------------------------------- ### Debug WP_Query Arguments Source: https://help.wprentals.org/article/technical-how-to-property-list Use this to inspect the array of arguments constructed for the WP_Query. ```php print_r($args); ``` -------------------------------- ### Modify property listing image size Source: https://help.wprentals.org/article/show-full-images-in-property-unit-without-crop Change the image size configuration in wprentals/libs/general-settings.php to disable cropping. ```php add_image_size('wpestate_property_listings' , 400, 314, true); ``` -------------------------------- ### Identify wp-config.php Insertion Point Source: https://help.wprentals.org/article/stripe-set-up Place the debug constants before this specific line in your wp-config.php file. ```php /* That's all, stop editing! Happy publishing. */ ``` -------------------------------- ### Property Availability Loop and WP_Query Arguments Source: https://help.wprentals.org/article/advanced-search-explained Iterates through posts to check booking availability and defines the arguments for the subsequent WP_Query. ```php while ($prop_selection->have_posts()): $prop_selection->the_post(); // print ‘
    we check ‘.$post->ID.'
    ’; if( wpestate_check_booking_valability($book_from,$book_to,$post->ID) ){ $right_array[]=$post->ID; } endwhile; wp_reset_postdata(); $args = array( ‘cache_results’ => false, ‘update_post_meta_cache’ => false, ‘update_post_term_cache’ => false, ‘post_type’ => ‘estate_property’, ‘post_status’ => ‘publish’, ‘paged’ => $paged, ‘posts_per_page’ => $prop_no, ‘post__in’ => $right_array ); ``` -------------------------------- ### Conditional Property Unit Style Loop Source: https://help.wprentals.org/article/advanced-search-explained Loop that selects between wide and standard property unit templates based on listing style settings. ```php while ($prop_selection->have_posts()): $prop_selection->the_post(); if($listing_unit_style_half == 1 && $listing_type!=1){ get_template_part(‘templates/property_unit_wide’); }else{ get_template_part(‘templates/property_unit’); } endwhile; ``` -------------------------------- ### Define the country array function Source: https://help.wprentals.org/article/how-to-remove-countries-from-the-dropdown The function wprentals_return_country_array returns the list of countries used in the theme dropdowns. ```php if (!function_exists('wprentals_return_country_array')): function wprentals_return_country_array() { $countries = array( 'Afghanistan' => esc_html__('Afghanistan', 'wprentals'), 'Albania' => esc_html__('Albania', 'wprentals'), 'Algeria' => esc_html__('Algeria', 'wprentals'), // ... ); // return $countries; } endif; } ``` -------------------------------- ### Apply CSS for WPML top bar widget Source: https://help.wprentals.org/article-category/multi-languages-optional-with-3rd-party-plugins Adjusts padding and margins for the top bar language switcher widget. ```css .top_bar a { padding: 7px; } .top_bar .right-top-widet{ padding-top:0px; margin-top: -5px; } ``` -------------------------------- ### Define Bed Types in Theme Options Source: https://help.wprentals.org/article/how-to-manage-bed-types-section Provide a comma-separated list of bed types to be used in the Sleeping Arrangements section. ```text King,Queen,Single,Sofa Bed ``` -------------------------------- ### Remove 'View More' link in property description Source: https://help.wprentals.org/article-category/technical-how-to/page/4 Apply this CSS to force the full description to display and hide the toggle link. ```css #listing_description .panel-body { max-height: 100%!important; } #view_more_desc{ display:none!important; } ``` -------------------------------- ### Locate Debug Log File Source: https://help.wprentals.org/article/stripe-set-up The path to the generated log file after enabling debug mode. ```text wp-content/debug.log ``` -------------------------------- ### Update Instant Booking Redirect URL Source: https://help.wprentals.org/article/how-to-redirect-instant-booking-button-to-woocomemrce-checkout-page Replace the default cart URL retrieval with the checkout URL retrieval in the ajax_functions_edit.php file. ```php print ( wc_get_cart_url() ); ``` ```php print ( wc_get_checkout_url() ); ``` -------------------------------- ### Add Allowed Referrer Domain Source: https://help.wprentals.org/article/faq-maps-are-not-showing Add your domain to the allowed referrers list in the Google Cloud Console. ```text https://domain.lk/* ``` -------------------------------- ### Retina Logo Filename Convention Source: https://help.wprentals.org/article/speed-tips Naming convention for retina-ready logo files to ensure high-density displays render images correctly. ```text logo.png logo_2x.png ``` -------------------------------- ### Booking Form Header Source: https://help.wprentals.org/article/technical-how-to-change-property-page-details Booking form header for listing page 2. ```html

    ...... ``` -------------------------------- ### Configure Allowed HTML Tags for Property Descriptions Source: https://help.wprentals.org/article/technical-how-to-change-the-submit-property-page Array definition for allowed HTML elements and attributes in the front-end submission editor. ```php $allowed_html_desc = array( ‘a’ => array( ‘href’ => array(), ‘title’ => array() ), ‘br’ => array(), ’em’ => array(), ‘strong’ => array(), ‘ul’ => array(‘li’), ‘li’ => array(), ‘code’ => array(), ‘ol’ => array(‘li’), ‘del’ => array( ‘datetime’ => array() ), ‘blockquote’=> array(), ‘ins’ => array(), ‘p’ => array(), ‘h1’ => array(), ‘h2’ => array(), ‘h3’ => array(), ‘h4’ => array(), ‘img’ => array( ‘src’ => array(), ‘alt’ => array(), ‘title’ => array(), ‘width’ => array(), ‘height’ => array(), ‘class’ => array(), ‘loading’=> array() ), ); ``` -------------------------------- ### Configure Payment Redirect Link Source: https://help.wprentals.org/article-category/technical-how-to/page/5 Define the redirect URL variable for post-payment processing within the theme templates. ```php $redirect=​’http://yourdomain.com’; ``` -------------------------------- ### WpRentals invoice calculation formulas Source: https://help.wprentals.org/article-category/technical-how-to/page/3 PHP logic used for calculating total prices, earnings, and taxes within the invoice system. ```php $early_bird_discount – doesn’t include extra guest, security, city fee, cleaning fee $you_earn = $total_price – $security_deposit – floatval($city_fee) – floatval($cleaning_fee) – $service_fee; $taxes = round ( $you_earn * $taxes_value/100,2); $price_for_service_fee = $total_price – $security_deposit […] ``` -------------------------------- ### Conditional User Menu Links Source: https://help.wprentals.org/article-category/technical-how-to/page/5 Logic for displaying additional links in the user menu when editing a property listing. ```php if ( isset($_GET[‘listing_edit’] ) && is_numeric($_GET[‘listing_edit’])) […] ``` -------------------------------- ### Handle Submission Payment and Listing Publication Source: https://help.wprentals.org/article/technical-how-to-integrate-new-payment-gateway Update the invoice status and publish the listing post after a submission payment. ```php update_post_meta($invoice_id, 'invoice_status', 'confirmed'); ``` ```php $post = array( 'ID' => $listing_id, 'post_status' => 'publish' ); $post_id = wp_update_post($post ); ``` -------------------------------- ### Backend AJAX Submission Handler Source: https://help.wprentals.org/article/technical-how-to-change-the-submit-property-page Validates submitted data and initiates the property creation process. ```php if( !function_exists('wpestate_ajax_front_end_submit') ): function wpestate_ajax_front_end_submit(){ $allowed_html = array(); if( !isset($_POST['title']) || $_POST['title']=='') { exit('1'); } ``` -------------------------------- ### Enable comments template in single-estate_agent.php Source: https://help.wprentals.org/article/how-to-enable-comments-on-owner-profile-page Add this code snippet to the single-estate_agent.php file to render the comments section on the owner profile page. ```php ``` -------------------------------- ### Initialize Message Submission Source: https://help.wprentals.org/article/add-custom-fields-for-messages The click event handler for the submit button that prepares the message data for AJAX submission. ```javascript $('#submit_mess_front').click(function (event) { event.preventDefault(); var ajaxurl, subject, booking_from_date, booking_to_date, booking_guest_no, message, nonce, agent_property_id, agent_id; ``` -------------------------------- ### Google Map Container for Listing Page 2 Source: https://help.wprentals.org/article/technical-how-to-change-property-page-details HTML structure for the Google Map container in listing page 2. ```html
    ``` -------------------------------- ### Redirect Instant Booking to WooCommerce Checkout Source: https://help.wprentals.org/article-category/technical-how-to Replace the cart URL with the checkout URL in wprentals/libs/ajax_functions_edit.php to bypass the cart page. ```php print ( wc_get_cart_url() ); ``` -------------------------------- ### Customize Price Pin Colors by Category Source: https://help.wprentals.org/article/pins-management Use this CSS to set specific background and border colors for map pins based on property type and listing action. Apply these changes in Theme Options > Design > Custom CSS. ```css .wpestate_marker.villa.entire-home{ background: #752253 } .wpestate_marker.villa.entire-home{ border-top: 4px solid #752253; } .wpestate_marker.villa.entire-home:before{ border-top: 10px solid #752253; } .wpestate_marker.cabin.entire-home{ background: #752253; } .wpestate_marker.cabin.entire-home{ border-top: 4px solid #752253; } .wpestate_marker.cabin.entire-home:before{ border-top: 10px solid #752253; } .wpestate_marker.apartment.entire-home{ background: #752253; } .wpestate_marker.apartment.entire-home{ border-top: 4px solid #752253; } .wpestate_marker.apartment.entire-home:before{ border-top: 10px solid #752253; } .wpestate_marker.condos.entire-home{ background: #752253; } .wpestate_marker.condos.entire-home{ border-top: 4px solid #752253; } .wpestate_marker.condos.entire-home:before{ border-top: 10px solid #752253; } .wpestate_marker.dorm.entire-home{ background: #752253; } .wpestate_marker.dorm.entire-home{ border-top: 4px solid #752253; } .wpestate_marker.dorm.entire-home:before{ border-top: 10px solid #752253; } .wpestate_marker.house.entire-home{ background: #752253; } .wpestate_marker.house.entire-home{ border-top: 4px solid #752253; } .wpestate_marker.house.entire-home:before{ border-top: 10px solid #752253; } .wpestate_marker.villa.private-room{ background: #f7bf33; } .wpestate_marker.villa.private-room{ border-top: 4px solid #f7bf33; } .wpestate_marker.villa.private-room:before{ border-top: 10px solid #f7bf33; } .wpestate_marker.cabin.private-room{ background: #f7bf33; } .wpestate_marker.cabin.private-room{ border-top: 4px solid #f7bf33; } .wpestate_marker.cabin.private-room:before{ border-top: 10px solid #f7bf33; } .wpestate_marker.apartment.private-room{ background: #f7bf33; } .wpestate_marker.apartment.private-room{ border-top: 4px solid #f7bf33; } .wpestate_marker.apartment.private-room:before{ border-top: 10px solid #f7bf33; } .wpestate_marker.condos.private-room{ background: #f7bf33; } .wpestate_marker.condos.private-room{ border-top: 4px solid #f7bf33; } .wpestate_marker.condos.private-room:before{ border-top: 10px solid #f7bf33; } .wpestate_marker.dorm.private-room{ background: #f7bf33; } .wpestate_marker.dorm.private-room{ border-top: 4px solid #f7bf33; } .wpestate_marker.dorm.private-room:before{ border-top: 10px solid #f7bf33; } .wpestate_marker.house.private-room{ background: #f7bf33; } .wpestate_marker.house.private-room{ border-top: 4px solid #f7bf33; } .wpestate_marker.house.private-room:before{ border-top: 10px solid #f7bf33; } .wpestate_marker.villa.shared-room{ background: #62bf5f; } .wpestate_marker.villa.shared-room{ border-top: 4px solid #62bf5f; } .wpestate_marker.villa.shared-room:before{ border-top: 10px solid #62bf5f; } .wpestate_marker.cabin.shared-room{ background: #62bf5f; } .wpestate_marker.cabin.shared-room{ border-top: 4px solid #62bf5f; } .wpestate_marker.cabin.shared-room:before{ border-top: 10px solid #62bf5f; } .wpestate_marker.apartment.shared-room{ background: #62bf5f; } .wpestate_marker.apartment.shared-room{ border-top: 4px solid #62bf5f; } .wpestate_marker.apartment.shared-room:before{ border-top: 10px solid #62bf5f; } .wpestate_marker.condos.shared-room{ background: #62bf5f; } .wpestate_marker.condos.shared-room{ border-top: 4px solid #62bf5f; } .wpestate_marker.condos.shared-room:before{ border-top: 10px solid #62bf5f; } .wpestate_marker.dorm.shared-room{ background: #62bf5f; } .wpestate_marker.dorm.shared-room{ border-top: 4px solid #62bf5f; } .wpestate_marker.dorm.shared-room:before{ border-top: 10px solid #62bf5f; } .wpestate_marker.house.shared-room{ background: #62bf5f; } .wpestate_marker.house.shared-room{ border-top: 4px solid #62bf5f; } .wpestate_marker.house.shared-room:before{ border-top: 10px solid #62bf5f; } ``` -------------------------------- ### Add comments template to property page Source: https://help.wprentals.org/article/how-to-enable-wordpress-comments-on-property-page Insert this code block after the wprentals_property_content_layout function call in your property template file. ```php
    ``` -------------------------------- ### Supported Property Taxonomy Tags Source: https://help.wprentals.org/article/how-to-make-permalinks-for-properties-with-custom-id-instead-of-title Individual tags available for use in custom permalink structures. ```text %property_category% ``` ```text %property_action_category% ``` ```text %property_city% ``` ```text %property_area% ``` -------------------------------- ### Login and Register Ajax Event Triggers Source: https://help.wprentals.org/article/register-and-login JavaScript event listeners for the login and register buttons that initiate the respective Ajax functions. ```javascript jQuery('#wp-login-but').click(function () { wpestate_login(); }); ``` ```javascript jQuery('#wp-submit-register').click(function () { wpestate_register(); }); ``` -------------------------------- ### Insert booking as custom post type Source: https://help.wprentals.org/article/technical-booking-explained Creates a new booking record in the WordPress database using the wpestate_booking post type. ```php $post = array( 'post_title' => $event_name, 'post_content' => $comment, 'post_status' => 'publish', 'post_type' => 'wpestate_booking' , 'post_author' => $userID ); $post_id = wp_insert_post($post ); ``` -------------------------------- ### Force Login for Booking Form Replacement Source: https://help.wprentals.org/article/how-to-force-user-login-on-contact-form Add a login check to the listing page script to trigger the login modal when the contact form replaces the booking form. ```javascript if(property_vars.logged_in==="no"){ jQuery('#topbarlogin').trigger('click'); } ``` -------------------------------- ### Calculate Early Bird Discount Source: https://help.wprentals.org/article/where-the-early-bird-fee-is-calulated-where-the-fees-are-calculated-in-theme-code This function call is used to determine the early bird discount amount based on property ID, percentage, days in advance, and total price. ```php $early_bird_discount = wpestate_early_bird($property_id,$early_bird_percent,$early_bird_days,$from_date_discount,$total_price); ``` -------------------------------- ### Apply 2-column layout via Custom CSS Source: https://help.wprentals.org/article/technical-how-to-make-the-properties-layout-with-2-columns-instead-of-3 Use this CSS snippet to adjust the width of property units to fit two columns. Add this code in Theme Options > Design > Custom CSS. ```css .listing_wrapper.col-md-4.property_unit_v3.property_flex.propety_unit_3 { width: calc(50% – 16px); } ``` -------------------------------- ### Retrieve Review Data Source: https://help.wprentals.org/article/property-reviews-explained Function call used in owner_details_header.php to fetch review data for an agent. ```php $comments_data      =   wpestate_review_composer($agent_id); ``` -------------------------------- ### Change My Bookings Icon Source: https://help.wprentals.org/article/how-to-change-login-icon-on-mobile-menu Updates the icon displayed for the My Bookings section. ```css i.far.fa-folder-open:before { content: "\f02e" !important; /* Book Icon */ } ``` -------------------------------- ### Force JPEG Quality Override Source: https://help.wprentals.org/article/how-to-disable-wordpress-image-compression-and-preserve-original-quality Use this alternative snippet if your initial filters are not being applied correctly. ```php // Force JPEG quality to 100% add_filter('jpeg_quality', function() { return 100; }); add_filter('wp_editor_set_quality', function() { return 100; }); ``` -------------------------------- ### Configure Authorized Redirect URI Source: https://help.wprentals.org/article/enable-gmail-google-login The redirect URI must match the specific URL of the My Profile page on your WpRentals website. ```text https://yourdomain.com/my-profile/ ``` -------------------------------- ### Save property area independently in functions.php Source: https://help.wprentals.org/article/technical-how-to-save-area-independent-from-city Add these lines to wprentals/functions.php to ensure the property area is saved independently of the city. ```php wp_set_object_terms($post_id,$property_area,'property_area'); return $property_area; ``` -------------------------------- ### Handle Featured Property Checkbox Source: https://help.wprentals.org/article/technical-how-to-integrate-new-payment-gateway JavaScript logic for updating the purchase total when the featured property checkbox is toggled in control.js. ```javascript $('.extra_featured').change(function(){ var parent= $(this).parent();...... ``` -------------------------------- ### Property Page Template Selection Source: https://help.wprentals.org/article-category/technical-how-to/page/5 Variable assignment for determining the property page design type. ```php $listing_page_type = […] ``` -------------------------------- ### Guest list dropdown population Source: https://help.wprentals.org/article/technical-how-to-search-forms Function call used to populate the guest list dropdown in the search form. ```php $guest_list = wpestate_get_guest_dropdown(); ``` -------------------------------- ### Identify translation file extensions Source: https://help.wprentals.org/article/wpestate-translate-for-wprentals Reference to the file extension used for translation source files. ```text .po ``` -------------------------------- ### Force mobile advanced search open with CSS Source: https://help.wprentals.org/article/how-to-make-mobile-advanced-search-open-by-default Apply this CSS in Theme Options to ensure the mobile search container is always visible on screens smaller than 768px. ```css @media only screen and (max-width: 768px){ #adv-search-mobile { display: block!important; } } ``` -------------------------------- ### Change My Reservations Icon Source: https://help.wprentals.org/article/how-to-change-login-icon-on-mobile-menu Updates the icon displayed for the My Reservations section. ```css .fa-folder-open:before { content: "\f236" !important; /* Folder Icon */ } ``` -------------------------------- ### Apply background color to mega menu Source: https://help.wprentals.org/article/how-to-enable-and-use-the-mega-menu Use this CSS snippet to set a custom background color for the mega menu container. ```css background-color: #fafafa; ``` -------------------------------- ### Unicode Icon Placeholder Source: https://help.wprentals.org/article/how-to-change-the-default-categories-icon-from-listing-card-unit The specific Unicode value used as a placeholder for the Font Awesome icon. ```text \f007 ``` -------------------------------- ### Set custom redirect URL Source: https://help.wprentals.org/article/technical-change-redirect-page-after-booking-payment Define the target URL for the post-payment redirect. ```php $redirect=​'http://yourdomain.com'; ``` -------------------------------- ### Customize Admin Login Page Appearance Source: https://help.wprentals.org/article-category/technical-how-to Modify the background gradient and logo URL within the theme's word_remove.php file. ```css body.login { background: linear-gradient(43deg, rgba(20,28,21,1) 0%, rgba(184, 129 ,253,1) 100%); } ``` ```php function wpestate_login_logo_url() { return esc_url( home_url(‘/’) ); ``` -------------------------------- ### Set JPEG Quality to 100% in functions.php Source: https://help.wprentals.org/article/how-to-disable-wordpress-image-compression-and-preserve-original-quality Add these filters to your child theme's functions.php file to prevent WordPress from compressing images. ```php // Set JPEG quality to 100% add_filter('jpeg_quality', function($quality) { return 100; }); // For newer WP versions, also set add_filter('wp_editor_set_quality', function($quality) { return 100; }); ``` -------------------------------- ### Identify RefererNotAllowedMapError Source: https://help.wprentals.org/article/faq-maps-are-not-showing This error indicates the API key is not authorized for the current URL. ```text Google Maps JavaScript API error: RefererNotAllowedMapError ``` -------------------------------- ### Dynamic WhatsApp Link Structure Source: https://help.wprentals.org/article/how-to-make-a-contact-button-open-whatsapp The URL structure used when generating dynamic links for individual owners or agents. ```text https://wa.me/{owner_whatsapp}?text={prefilled_message} ``` -------------------------------- ### Update Algolia Places language configuration Source: https://help.wprentals.org/article/change-language-for-google-suggestion-on-search-form Replace the language code in the map_base.js file for Algolia Places integration. ```javascript language: 'en', ``` -------------------------------- ### Format Item IDs for WPBakery Source: https://help.wprentals.org/article/list-items-by-id-shortcode Use a comma-separated list of numeric IDs to specify which items to display in the shortcode settings. ```text 123,456,789 ``` -------------------------------- ### Submission Event Handlers Source: https://help.wprentals.org/article/technical-how-to-change-the-submit-property-page JavaScript click handlers for various property submission sections. ```javascript $('#edit_prop_price').click(function () { ``` ```javascript $('#edit_prop_image').click(function () {... ``` ```javascript $('#edit_prop_details').click(function () { ``` ```javascript $('#edit_prop_locations').click(function () { ``` ```javascript $('#edit_prop_ammenities').click(function () { ``` -------------------------------- ### Booking Form Request Source: https://help.wprentals.org/article/technical-how-to-change-property-page-details HTML structure for the booking request form. ```html

    ``` -------------------------------- ### Force Mobile Search Detection for Tablets Source: https://help.wprentals.org/article/why-does-the-mobile-search-not-show-on-some-tablets-in-wprentals Add this code to your child theme's functions.php file to detect tablets via hardware capabilities and store the state in a cookie, ensuring the mobile search layout is triggered. ```php Demos Import Video tutorials ``` -------------------------------- ### Identify User Meta Key Source: https://help.wprentals.org/article/technical-reset-counter-inbox The specific database key used by WPRentals to track unread messages. ```text unread_mess ``` -------------------------------- ### Change element order on mobile for half map Source: https://help.wprentals.org/article-tag/custom-css Use this media query to reorder the map and list elements when the screen width is 991px or less. ```css @media only screen and (max-width: 991px){ .full_map_container .row ... ``` -------------------------------- ### Enable mobile advanced search by default Source: https://help.wprentals.org/article-category/technical-how-to/page/4 Use this CSS to force the mobile search container to remain visible on screens smaller than 768px. ```css @media only screen and (max-width: 768px){ #adv-search-mobile { display: block!important; } } ``` -------------------------------- ### Modify Country Dropdown List Source: https://help.wprentals.org/article-category/technical-how-to/page/2 Edit the wprentals_return_country_array function in libs/help_functions.php to customize the list of countries available in the theme dropdown. ```php if (!function_exists(‘wprentals_return_country_array’)): function wprentals_return_country_array() { $countries = array( ‘Afghanistan’ => esc_html__(‘Afghanistan’, ‘wprentals’), ‘Albania’ => esc_html__(‘Albania’, ‘wprentals’), ‘Algeria’ => esc_html__(‘Algeria’, ‘wprentals’), // … ); // return $countries; } endif; }​ ``` -------------------------------- ### Trigger booking submission via JavaScript Source: https://help.wprentals.org/article/technical-booking-explained Initiates the booking process when the submit button is clicked, performing initial form validation. ```javascript $('#submit_booking_front').click(function (event) { event.preventDefault(); var guest_number, guest_overload,guestfromone,max_guest; if (!check_booking_form() || booking_error === 1) { return; } ....... ``` -------------------------------- ### Modify property unit image size Source: https://help.wprentals.org/article-category/technical-how-to/page/2 Adjust the image size settings in the theme's general settings file to change how property unit thumbnails are generated. ```php add_image_size(‘wpestate_property_listings’ , 400, 314, true); ``` -------------------------------- ### Custom CSS for Price Unit Alignment Source: https://help.wprentals.org/article/how-to-fix-overlapping-details-issue-in-property-unit-when-is-used-before-and-after-price-labels Apply this CSS in the Theme Options Custom CSS section to adjust the positioning of the price unit wrapper and category name. ```css .price_unit_wrapper { right: auto; top: 23px; left: 15px; } .category_name { margin-top: 20px; } ``` -------------------------------- ### CSS to show full description Source: https://help.wprentals.org/article/how-to-remove-view-more-and-show-full-description Apply this CSS to the theme options custom CSS field or the child theme's style file to disable the View More link and expand the description container. ```css #listing_description .panel-body { max-height: 100%!important; } #view_more_desc{ display:none!important; } ``` -------------------------------- ### Increase Memory Limit via php.ini Source: https://help.wprentals.org/article/fatal-memory-error Update the memory_limit directive in the php.ini configuration file if the wp-config.php method is insufficient. ```ini memory_limit = 256M ``` -------------------------------- ### Display Top Bar in Sticky Header with CSS Source: https://help.wprentals.org/article-category/menu-options Use this CSS to fix the top bar position within a sticky header configuration. ```css .header_wrapper.customnav { margin-top: 40px; } .top_bar_wrapper { position: fixed; } ``` -------------------------------- ### Trigger internal booking via JavaScript Source: https://help.wprentals.org/article/technical-booking-explained Handles the booking process specifically for property owners performing internal bookings. ```javascript $('#book_dates').click(function () { check_booking_valability_internal(); }); ``` -------------------------------- ### Locate child theme translation files Source: https://help.wprentals.org/article/wpestate-translate-for-wprentals The translation files are typically stored within the child theme's directory structure. ```text wp-content/themes/wprentals-child/languages/wpr/ ``` -------------------------------- ### Currency Cookie Exceptions Source: https://help.wprentals.org/article/how-to-use-a-cache-plugin-with-multicurrency-widget-dropdown Add these specific cookie names to the exclusion list in your cache plugin settings to prevent currency switching issues. ```text my_custom_curr my_custom_curr_pos my_custom_curr_symbol ``` -------------------------------- ### Conditional Property Edit Links in Header Menu Source: https://help.wprentals.org/article/technical-how-to-user-menu Displays additional links like description and price when editing a listing. ```php if ( isset($_GET['listing_edit'] ) && is_numeric($_GET['listing_edit'])) {
    ``` -------------------------------- ### Customize Email Address Placeholder Source: https://help.wprentals.org/article/header-widgets Placeholder value for the email address field in the contact info widget. ```text sales@yourwebsite.com ```