Function Reference: geodir_check_term_to_post_slug
Summary
Check whether a post name with slug exists or not.
Global Values
- $wpdb
- (object) (required) WordPress Database object.
- Default: None
- $gd_term_post_type
- (array) (required) Cached array for term post type.
- Default: None
- $gd_term_taxonomy
- (array) (required) Cached array for term taxonomy.
- Default: None
- $sitepress
- (object) (required) Sitepress WPML object.
- Default: None
Parameters
- $slug_exists
- (bool) (required)
- Default: : false
- $slug
- (string) (required) Term slug.
- Default: None
- $term_id
- (int) (required) The term ID.
- Default: None
Return Values
- (bool)
- true when exists.
- false when not exists.
Change Log
Since: 1.6.20
Source File
geodir_check_term_to_post_slug() is located in geodirectory_hooks_actions.php [Line: 3073]
Source Code
function geodir_check_term_to_post_slug( $slug_exists, $slug, $term_id ) { global $wpdb, $gd_term_post_type, $gd_term_taxonomy, $sitepress; if ( $slug_exists ) { return $slug_exists; } if ( !empty( $gd_term_taxonomy ) && isset($gd_term_taxonomy[$term_id]) ) { $taxonomy = $gd_term_taxonomy[$term_id]; } else { $taxonomy = $wpdb->get_var( $wpdb->prepare( "SELECT taxonomy FROM $wpdb->term_taxonomy WHERE term_id = %d LIMIT 1", $term_id ) ); $gd_term_taxonomy[$term_id] = $taxonomy; } if ( empty($taxonomy) ) { return $slug_exists; } if ( !empty( $gd_term_post_type ) && $gd_term_post_type[$term_id] ) { $post_type = $gd_term_post_type[$term_id]; } else { $taxonomy_obj = get_taxonomy( $taxonomy ); $post_type = !empty( $taxonomy_obj->object_type ) ? $taxonomy_obj->object_type[0] : NULL; } $wpml_post_join = ""; $wpml_post_where = ""; if (geodir_wpml_is_taxonomy_translated($taxonomy) || geodir_wpml_is_post_type_translated($post_type)) { $term_language = $term_id ? geodir_get_language_for_element($term_id, 'tax_' . $taxonomy) : $sitepress->get_current_language(); if (!$term_language) { $term_language = $sitepress->get_current_language(); } $wpml_post_join = " JOIN {$wpdb->prefix}icl_translations AS icl_t ON p.ID = icl_t.element_id AND icl_t.element_type = CONCAT('post_', p.post_type)"; $wpml_post_where = " AND icl_t.language_code = '" . $term_language ."'"; } if ( $post_type && $wpdb->get_var( $wpdb->prepare( "SELECT p.post_name FROM $wpdb->posts p {$wpml_post_join} WHERE p.post_name = %s AND p.post_type = %s {$wpml_post_where} LIMIT 1", $slug, $post_type ) ) ) { $slug_exists = true; } return $slug_exists; }