Function Reference: geodir_filter_title_variables
Summary
Filter the title variables.
Description
%%date%% Replaced with the date of the post/page
%%title%% Replaced with the title of the post/page
%%sitename%% The site’s name
%%sitedesc%% The site’s tagline / description
%%excerpt%% Replaced with the post/page excerpt (or auto-generated if it does not exist)
%%tag%% Replaced with the current tag/tags
%%category%% Replaced with the post categories (comma separated)
%%category_description%% Replaced with the category description
%%tag_description%% Replaced with the tag description
%%term_description%% Replaced with the term description
%%term_title%% Replaced with the term name
%%searchphrase%% Replaced with the current search phrase
%%sep%% The separator defined in your theme’s wp_title() tag.
ADVANCED
%%pt_single%% Replaced with the post type single label
%%pt_plural%% Replaced with the post type plural label
%%modified%% Replaced with the post/page modified time
%%id%% Replaced with the post/page ID
%%name%% Replaced with the post/page author’s ‘nicename’
%%userid%% Replaced with the post/page author’s userid
%%page%% Replaced with the current page number (i.e. page 2 of 4)
%%pagetotal%% Replaced with the current page total
%%pagenumber%% Replaced with the current page number
Global Values
- $wp
- (object) (required) WordPress object.
- Default: None
- $post
- (object) (required) The current post object.
- Default: None
Package
GeoDirectory
Parameters
- $title
- (string) (required) The title with variables.
- Default: None
- $gd_page
- (string) (required) The page being filtered.
- Default: None
- $sep
- (string) (required) The separator, default: `|`.
- Default: None
Return Values
- (string)
- Title after filtered variables.
Change Log
Since: 1.5.7
Filters
‘geodir_page_title_separator’ [Line: 4706]
‘geodir_filter_title_variables_location_arr’ [Line: 4812]
‘geodir_replace_location_variables’ [Line: 4840]
‘geodir_filter_title_variables_vars’ [Line: 4904]
Source File
geodir_filter_title_variables() is located in geodirectory-functions/general_functions.php [Line: 4690]
Source Code
function geodir_filter_title_variables( $title, $gd_page, $sep = '' ) { global $wp, $post; if ( ! $gd_page || ! $title ) { return $title; // if no a GD page then bail. } if ( $sep == '' ) { /** * Filter the page title separator. * * @since 1.0.0 * @package GeoDirectory * * @param string $sep The separator, default: `|`. */ $sep = apply_filters( 'geodir_page_title_separator', '|' ); } if ( strpos( $title, '%%title%%' ) !== false ) { $title = str_replace( "%%title%%", $post->post_title, $title ); } if ( strpos( $title, '%%sitename%%' ) !== false ) { $title = str_replace( "%%sitename%%", get_bloginfo( 'name' ), $title ); } if ( strpos( $title, '%%sitedesc%%' ) !== false ) { $title = str_replace( "%%sitedesc%%", get_bloginfo( 'description' ), $title ); } if ( strpos( $title, '%%excerpt%%' ) !== false ) { $title = str_replace( "%%excerpt%%", strip_tags( get_the_excerpt() ), $title ); } if ( $gd_page == 'search' || $gd_page == 'author' ) { $post_type = isset( $_REQUEST['stype'] ) ? sanitize_text_field( $_REQUEST['stype'] ) : ''; } else if ( $gd_page == 'add-listing' ) { $post_type = ( isset( $_REQUEST['listing_type'] ) ) ? sanitize_text_field( $_REQUEST['listing_type'] ) : ''; $post_type = ! $post_type && ! empty( $_REQUEST['pid'] ) ? get_post_type( (int) $_REQUEST['pid'] ) : $post_type; } else if ( isset( $post->post_type ) && $post->post_type && in_array( $post->post_type, geodir_get_posttypes() ) ) { $post_type = $post->post_type; } else { $post_type = get_query_var( 'post_type' ); } if ( strpos( $title, '%%pt_single%%' ) !== false ) { $singular_name = ''; if ( $post_type && $singular_name = get_post_type_singular_label( $post_type ) ) { $singular_name = __( $singular_name, 'geodirectory' ); } $title = str_replace( "%%pt_single%%", $singular_name, $title ); } if ( strpos( $title, '%%pt_plural%%' ) !== false ) { $plural_name = ''; if ( $post_type && $plural_name = get_post_type_plural_label( $post_type ) ) { $plural_name = __( $plural_name, 'geodirectory' ); } $title = str_replace( "%%pt_plural%%", $plural_name, $title ); } if ( strpos( $title, '%%category%%' ) !== false ) { $cat_name = ''; if ( $gd_page == 'detail' ) { if ( $post->default_category ) { $cat = get_term( $post->default_category, $post->post_type . 'category' ); $cat_name = ( isset( $cat->name ) ) ? $cat->name : ''; } } else if ( $gd_page == 'listing' ) { $queried_object = get_queried_object(); if ( isset( $queried_object->name ) ) { $cat_name = $queried_object->name; } } $title = str_replace( "%%category%%", $cat_name, $title ); } if ( strpos( $title, '%%tag%%' ) !== false ) { $cat_name = ''; if ( $gd_page == 'detail' ) { if ( $post->default_category ) { $cat = get_term( $post->default_category, $post->post_type . 'category' ); $cat_name = ( isset( $cat->name ) ) ? $cat->name : ''; } } else if ( $gd_page == 'listing' ) { $queried_object = get_queried_object(); if ( isset( $queried_object->name ) ) { $cat_name = $queried_object->name; } } $title = str_replace( "%%tag%%", $cat_name, $title ); } if ( strpos( $title, '%%id%%' ) !== false ) { $ID = ( isset( $post->ID ) ) ? $post->ID : ''; $title = str_replace( "%%id%%", $ID, $title ); } if ( strpos( $title, '%%sep%%' ) !== false ) { $title = str_replace( "%%sep%%", $sep, $title ); } // location variables $gd_post_type = geodir_get_current_posttype(); $location_array = geodir_get_current_location_terms( 'query_vars', $gd_post_type ); /** * Filter the title variables location variables array * * @since 1.5.5 * @package GeoDirectory * * @param array $location_array The array of location variables. * @param string $title The title with variables.. * @param string $gd_page The page being filtered. * @param string $sep The separator, default: `|`. */ $location_array = apply_filters( 'geodir_filter_title_variables_location_arr', $location_array, $title, $gd_page, $sep ); if ( $gd_page == 'location' && get_query_var( 'gd_country_full' ) ) { if ( get_query_var( 'gd_country_full' ) ) { $location_array['gd_country'] = get_query_var( 'gd_country_full' ); } if ( get_query_var( 'gd_region_full' ) ) { $location_array['gd_region'] = get_query_var( 'gd_region_full' ); } if ( get_query_var( 'gd_city_full' ) ) { $location_array['gd_city'] = get_query_var( 'gd_city_full' ); } if ( get_query_var( 'gd_neighbourhood_full' ) ) { $location_array['gd_neighbourhood'] = get_query_var( 'gd_neighbourhood_full' ); } } /** * Filter the location terms variables. * * @since 1.6.16 * @package GeoDirectory * * @param string $title The title with variables. * @param array $location_array The array of location variables. * @param string $gd_page The page being filtered. * @param string $sep The separator, default: `|`. */ $title = apply_filters( 'geodir_replace_location_variables', $title, $location_array, $gd_page, $sep ); if ( strpos( $title, '%%search_term%%' ) !== false ) { $search_term = ''; if ( isset( $_REQUEST['s'] ) ) { $search_term = esc_attr( $_REQUEST['s'] ); } $title = str_replace( "%%search_term%%", $search_term, $title ); } if ( strpos( $title, '%%search_near%%' ) !== false ) { $search_term = ''; if ( isset( $_REQUEST['snear'] ) ) { $search_term = esc_attr( $_REQUEST['snear'] ); } $title = str_replace( "%%search_near%%", $search_term, $title ); } if ( strpos( $title, '%%name%%' ) !== false ) { if ( is_author() ) { $curauth = ( get_query_var( 'author_name' ) ) ? get_user_by( 'slug', get_query_var( 'author_name' ) ) : get_userdata( get_query_var( 'author' ) ); $author_name = $curauth->display_name; } else { $author_name = get_the_author(); } if ( ! $author_name || $author_name === '' ) { $queried_object = get_queried_object(); if ( isset( $queried_object->data->user_nicename ) ) { $author_name = $queried_object->data->display_name; } } $title = str_replace( "%%name%%", $author_name, $title ); } if ( strpos( $title, '%%page%%' ) !== false ) { $page = geodir_title_meta_page( $sep ); $title = str_replace( "%%page%%", $page, $title ); } if ( strpos( $title, '%%pagenumber%%' ) !== false ) { $pagenumber = geodir_title_meta_pagenumber(); $title = str_replace( "%%pagenumber%%", $pagenumber, $title ); } if ( strpos( $title, '%%pagetotal%%' ) !== false ) { $pagetotal = geodir_title_meta_pagetotal(); $title = str_replace( "%%pagetotal%%", $pagetotal, $title ); } $title = wptexturize( $title ); $title = convert_chars( $title ); $title = esc_html( $title ); /** * Filter the title variables after standard ones have been filtered. * * @since 1.5.7 * @package GeoDirectory * * @param string $title The title with variables. * @param array $location_array The array of location variables. * @param string $gd_page The page being filtered. * @param string $sep The separator, default: `|`. */ return apply_filters( 'geodir_filter_title_variables_vars', $title, $location_array, $gd_page, $sep ); }