llms_get_certificate_sequential_id( integer $template_id, boolean $increment = false )

Retrieve the next sequential ID for a given certificate template and optionally increment it.


Description Description

If there’s no existing ID, a default ID of 1 will be used. This can be customized using the filter llms_certificate_sequential_id_starting_number.

When an increment is requested, the new incremented ID will be automatically persisted to the database.


Top ↑

Parameters Parameters

$template_id

(integer) (Required) WP_Post ID of the certificate template (llms_certificate) post.

$increment

(boolean) (Optional) Whether or not to increment the current ID.

Default value: false


Top ↑

Return Return

(int)


Top ↑

Source Source

File: includes/functions/llms.functions.certificate.php

function llms_get_certificate_sequential_id( $template_id, $increment = false ) {

	$key    = '_llms_sequential_id';
	$update = $increment;
	$id     = absint( get_post_meta( $template_id, $key, true ) );

	// No id, get the initial ID.
	if ( ! $id ) {

		/**
		 * Determines the default starting number for the a certificate's sequential ID.
		 *
		 * The returned number *must* be an absolute integer (zero included). The returned value will be
		 * passed through `absint()` to sanitize the filtered value.
		 *
		 * @since 6.0.0
		 *
		 * @param int $starting_id The starting number.
		 * @param int $template_id WP_Post ID of the certificate template.
		 */
		$starting_id = apply_filters( 'llms_certificate_sequential_id_starting_number', 1, $template_id );
		$id          = absint( $starting_id );
		$update      = true;

	}

	if ( $update ) {
		update_post_meta( $template_id, $key, $increment ? $id + 1 : $id );
	}

	/**
	 * Filters the sequential ID number for a given certificate template.
	 *
	 * The returned number *must* be an absolute integer. The returned value will be
	 * passed through `absint()` to sanitize the filtered value.
	 *
	 * @since 6.0.0
	 *
	 * @param int $id          The sequential ID.
	 * @param int $template_id WP_Post ID of the certificate template.
	 */
	return absint( apply_filters( 'llms_certificate_sequential_id', $id, $template_id ) );

}


Top ↑

Changelog Changelog

Changelog
Version Description
6.0.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.