(Advanced) How to update entry approval status using PHP
If you want to update the approval status of an entry using PHP, you should use the GravityView_Entry_Approval::update_approved
method:
// Check to make sure GravityView is loaded
if ( ! class_exists( 'GravityView_Entry_Approval' ) ) {
return;
}
/**
* There are three options that should be used when updating entry approval statuses:
* GravityView_Entry_Approval_Status::APPROVED - Approved/Accepted entries
* GravityView_Entry_Approval_Status::DISAPPROVED - Disapproved/Rejected entries
* GravityView_Entry_Approval_Status::UNAPPROVED - Unapproved/Not Reviewed entries
*/
$updated = GravityView_Entry_Approval::update_approved( $entry_id, GravityView_Entry_Approval_Status::APPROVED );
if ( ! $updated ) {
echo 'There are a few reasons this might not have worked. GFAPI class isn\'t found, invalid approval status, entry not found for that ID, or updating the entry in the database failed.';
} else {
echo 'Thanks for reading!';
}
Read here how to add these code samples to your website: Where to put code samples.
By default, this will add a note to the entry that the approval status has been updated by the current user. If you want to disable this entry note, you can do so with the gravityview/approve_entries/add-note
filter:
add_filter( 'gravityview/approve_entries/add-note', '__return_false' );