.../candidate/?ajax_filter=true&sort-by=recent§or_cat=postizhjor&location_location1=abakan&posted=all
location_location1=abakan
- это город Абакан. То есть, переменная должна где-то на странице отображать название города или еще какой-то дополнительный текст. (нужно для SEO) get_query_var()
. Например, вы можете использовать эту функцию в фильтре the_title
if ( ! function_exists( 'the_title_callback' ) ) {
/**
* Function for 'the_title' filter-hook.
*
* @param string $post_title The post title.
* @param int $post_id The post ID.
*
* @return string
*/
function the_title_callback( $post_title, $post_id ) {
$city = get_query_var( 'location_location1', false );
if ( $city && get_converter_cities( $city ) ) {
$post_title = $post_title . ' ' . get_converter_cities( $city );
}
return $post_title;
}
}
add_filter( 'the_title', 'the_title_callback', 10, 2 );
if ( ! function_exists( 'get_converter_cities' ) ) {
/**
* Return string or array with city values.
*
* @since 1.0.0
*
* @param string $control Key to get one value. Optional. Default null.
*
* @return string|array|false
*/
function get_converter_cities( $control = null ) {
// Sanitize string (just to be safe).
if ( ! is_null( $control ) ) {
$control = sanitize_title( $control );
}
// Main converter array.
$converter = array(
'abakan' => __( 'Abakan', 'domain' ),
'moscow' => __( 'Moscow', 'domain' ),
'saratov' => __( 'Saratov', 'domain' ),
);
$converter = apply_filters( 'get_converter_cities', $converter );
// Return controls.
if ( is_null( $control ) ) {
return $converter;
} elseif ( ! isset( $converter[ $control ] ) || empty( $converter[ $control ] ) ) {
return false;
} else {
return $converter[ $control ];
}
}
}