WPML
do_action( 'wpml_admin_make_post_duplicates', int $master_post_id )
סוג
action
קטגוריה
הכנסת תוכן
גרסת WPML
3.2

תיאור

בונה או מעדכן פוסטים משוכפלים מפוסט “מקור”. הוק פעולה זה שמור לקריאות באזור הניהול.

ארגומנטים

$master_post_id
(int) (נדרש) מזהה (ID) של הפוסט שממנו מתבצע השכפול. זה יכול להיות מזהה של פוסט, עמוד או פוסט מותאם אישית. אין חובה ש”הפוסט הראשי” יהיה בשפת ברירת המחדל.

דוגמה לשימוש

דוגמה
// this will create duplicates for the "Hello World!" post
do_action( 'wpml_admin_make_post_duplicates', 1 );

בדוגמה להלן, אנו יוצרים שכפולים עבור פוסט, עמוד או פוסט מותאם אישית כאשר אנו לוחצים על “פרסום” ממסך אזור הניהול “edit-post”.
דוגמה מתקדמת יותר
add_action( 'wp_insert_post', 'my_duplicate_on_publish' );
function my_duplicate_on_publish( $post_id ) {
	global $post;

	// don't save for autosave
	if (is_null($post))
		{
       		 return $post_id;
		}

	if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
		return $post_id;
	}

	// dont save for revisions
	if ( isset( $post->post_type ) && $post->post_type == 'revision' ) {
		return $post_id;
	}

	// we need this to avoid recursion see add_action at the end
	remove_action( 'wp_insert_post', 'my_duplicate_on_publish' );

	// make duplicates if the post being saved:
	// #1. is not a duplicate of another or
	// #2. does not already have translations

	$is_translated = apply_filters( 'wpml_element_has_translations', '', $post_id, $post->post_type );

	if ( !$is_translated ) {
		do_action( 'wpml_admin_make_post_duplicates', $post_id );
	}

	// must hook again - see remove_action further up
	add_action( 'wp_insert_post', 'my_duplicate_on_publish' );
}

wpml_set_element_language_details, wpml_make_post_duplicates, wpml_copy_post_to_language, wpml_delete_package, wpml_import_get_trid_from_imported_translations, wpml_register_string, wpml_register_single_string, wpml_show_package_language_ui, wpml_delete_package_action

כל 10 ההוקים בקטגוריה הכנסת תוכן →