Tôi chỉ nhận ra rằng trong wp-includes/post.php
( nguồn ), ở cuối wp_insert_post()
, cả hai hành động save_post
và wp_insert_post
hành động được gọi lần lượt, với các tham số chính xác giống nhau:
3520 /**
3521 * Fires once a post has been saved.
3522 *
3523 * @since 1.5.0
3524 *
3525 * @param int $post_ID Post ID.
3526 * @param WP_Post $post Post object.
3527 * @param bool $update Whether this is an existing post being updated or not.
3528 */
3529 do_action( 'save_post', $post_ID, $post, $update );
3530
3531 /**
3532 * Fires once a post has been saved.
3533 *
3534 * @since 2.0.0
3535 *
3536 * @param int $post_ID Post ID.
3537 * @param WP_Post $post Post object.
3538 * @param bool $update Whether this is an existing post being updated or not.
3539 */
3540 do_action( 'wp_insert_post', $post_ID, $post, $update );
Không có gì xảy ra giữa chúng, vì vậy dường như không có sự khác biệt giữa việc sử dụng cái này hay cái khác.
Sự dư thừa tương tự được lặp lại một chút trong wp_publish_post()
( nguồn ) và phiên bản cũ nhất của tệp cũng có hai hành động tương tự (cảm ơn toscho vì đã chỉ ra những điều này).
Tui bỏ lỡ điều gì vậy? Tại sao cả hai đều ở đó, và nếu tôi đang chọn một hành động để sử dụng, có lý do để chọn một hành động khác không?
wp_insert_post
đã được thêm vào sau đó như là một cách để làm cho tên hook trong các chức năng có thể đoán được?
wp_publish_post()
. Và ở đó, sự dư thừa tương tự tồn tại.