WPML
do_action( 'wpml_admin_make_post_duplicates', int $master_post_id )
Loại
action
Danh mục
Chèn nội dung
Phiên bản WPML
3.2

Miêu tả

Tạo hoặc cập nhật bài viết nhân bản từ một bài viết “gốc”. Action hook này được dành riêng cho các lệnh gọi back-end của trang quản trị.

Đối số

$master_post_id
(int) (Bắt buộc) ID của bài viết để nhân bản. Nó có thể là ID của một bài viết, trang hoặc bài viết tùy chỉnh. “Bài viết gốc” không nhất thiết phải ở ngôn ngữ mặc định.

Ví dụ sử dụng

Ví dụ
// this will create duplicates for the "Hello World!" post
do_action( 'wpml_admin_make_post_duplicates', 1 );

Trong ví dụ bên dưới, chúng ta tạo bản nhân bản cho một bài viết, trang hoặc bài viết tùy chỉnh khi nhấp vào “publish” từ màn hình trang quản trị “edit-post”.
Một ví dụ nâng cao hơn
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

Tất cả 10 hook Chèn nội dung →