Definition:
function wp_check_for_changed_slugs($post_id, $post, $post_before) {}
Checked for changed slugs for published post objects and save the old slug.
The function is used when a post object of any type is updated, by comparing the current and previous post objects.
Parameters
- int $post_id: Post ID.
- object $post: The Post Object
- object $post_before: The Previous Post Object
Return values
returns:Same as $post_id
Source code
function wp_check_for_changed_slugs($post_id, $post, $post_before) { // dont bother if it hasnt changed if ( $post->post_name == $post_before->post_name ) return; // we're only concerned with published, non-hierarchical objects if ( $post->post_status != 'publish' || is_post_type_hierarchical( $post->post_type ) ) return; $old_slugs = (array) get_post_meta($post_id, '_wp_old_slug'); // if we haven't added this old slug before, add it now if ( !empty( $post_before->post_name ) && !in_array($post_before->post_name, $old_slugs) ) add_post_meta($post_id, '_wp_old_slug', $post_before->post_name); // if the new slug was used previously, delete it from the list if ( in_array($post->post_name, $old_slugs) ) delete_post_meta($post_id, '_wp_old_slug', $post->post_name); }
3463
No comments yet... Be the first to leave a reply!