LLMS_Post_Relationships::maybe_clean_earned_engagments_related_user_post_meta( int $post_id )
Maybe delete LifterLMS user post meta related to earned engagements.
Parameters Parameters
- $post_id
-
(int) (Required) Post ID.
Return Return
(void)
Source Source
File: includes/class.llms.post.relationships.php
public static function maybe_clean_earned_engagments_related_user_post_meta( $post_id ) {
$post_types = array(
'llms_my_certificate',
'llms_my_achievement',
);
$post_type = get_post_type( $post_id );
if ( ! in_array( $post_type, $post_types, true ) ) {
return;
}
$earned_engagement = 'llms_my_certificate' === $post_type ? new LLMS_User_Certificate( $post_id ) : new LLMS_User_Achievement( $post_id );
do_action_deprecated(
'llms_before_delete_' . str_replace( 'llms_my_', '', $post_type ),
array(
$earned_engagement,
),
'6.0.0',
'',
__( 'Use WordPress core `before_delete_post` action hook', 'lifterlms' )
);
global $wpdb;
$wpdb->delete(
"{$wpdb->prefix}lifterlms_user_postmeta",
array(
'user_id' => $earned_engagement->get_user_id(),
'meta_key' => '_' . str_replace( 'llms_my_', '', $post_type ) . '_earned',
'meta_value' => $post_id,
),
array( '%d', '%s', '%d' )
); // no-cache ok.
add_action(
'after_delete_post',
function( $post_id ) use ( $earned_engagement, $post_type ) {
if ( $earned_engagement->get( 'id' ) === $post_id ) {
do_action_deprecated(
'llms_delete_' . str_replace( 'llms_my_', '', $post_type ),
array(
$earned_engagement,
),
'6.0.0',
'',
__( 'Use WordPress core `deleted_post` action hook.', 'lifterlms' )
);
}
}
);
}
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
| Version | Description |
|---|---|
| 6.0.0 | Introduced. |