Function Reference: geodir_icl_duplicate_post_images

Summary

Duplicate post images for WPML translation post.

Global Values

$wpdb
(object) (required) WordPress Database object.

Default: None

Parameters

$master_post_id
(int) (required) Original Post ID.

Default: None
$tr_post_id
(int) (required) Translation Post ID.

Default: None
$lang
(string) (required) Language code for translating post.

Default: None

Return Values

(bool)
  • True for success, False for fail.

Change Log

Since: 1.5.0

Source File

geodir_icl_duplicate_post_images() is located in geodirectory-functions/custom_functions.php [Line: 2736]

Source Code

function geodir_icl_duplicate_post_images($master_post_id, $tr_post_id, $lang) {
	global $wpdb;

	$query = $wpdb->prepare("DELETE FROM " . GEODIR_ATTACHMENT_TABLE . " WHERE mime_type like %s AND post_id = %d", array('%image%', $tr_post_id));
	$wpdb->query($query);

	$query = $wpdb->prepare("SELECT * FROM " . GEODIR_ATTACHMENT_TABLE . " WHERE mime_type like %s AND post_id = %d ORDER BY menu_order ASC", array('%image%', $master_post_id));
	$post_images = $wpdb->get_results($query);

	if ( !empty( $post_images ) ) {
		foreach ( $post_images as $post_image) {
			$image_data = (array)$post_image;
			unset($image_data['ID']);
			$image_data['post_id'] = $tr_post_id;

			$wpdb->insert(GEODIR_ATTACHMENT_TABLE, $image_data);

			geodir_set_wp_featured_image($tr_post_id);
		}

		return true;
	}

	return false;
}