LLMS_User_Certificate::get_merge_data()

Retrieve merge codes and data.


Return Return

(string[]) Array mapping merge codes to the merge data.


Top ↑

Source Source

File: includes/models/model.llms.user.certificate.php

	protected function get_merge_data() {

		$template_id   = $this->get( 'parent' );
		$user_id       = $this->get_user_id();
		$related_id    = $this->get( 'related' );
		$engagement_id = $this->get( 'engagement' );
		$date_format   = get_option( 'date_format' );

		$user = get_userdata( $user_id );

		$codes = array(
			// Site.
			'{site_title}'     => wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES ),
			'{site_url}'       => get_permalink( llms_get_page_id( 'myaccount' ) ),
			// User.
			'{user_login}'     => $user ? $user->user_login : '',
			'{first_name}'     => $user ? $user->first_name : '',
			'{last_name}'      => $user ? $user->last_name : '',
			'{email_address}'  => $user ? $user->user_email : '',
			'{student_id}'     => $user ? $user_id : '',
			// Certificate.
			'{current_date}'   => wp_date( $date_format, llms_current_time( 'timestamp' ) ),
			'{earned_date}'    => $this->get_date( 'date', $date_format ),
			'{certificate_id}' => $this->get( 'id' ),
			'{sequential_id}'  => $this->get_sequential_id(),
		);

		$codes = LLMS_Engagement_Handler::do_deprecated_filter(
			$codes,
			array( $template_id, $user_id, $related_id ),
			'certificate',
			'llms_certificate_merge_codes',
			'llms_certificate_merge_data'
		);

		/**
		 * Filters the certificate merge data.
		 *
		 * @since 6.0.0
		 *
		 * @param array $codes      {
		 *    Merge codes and data.
		 *
		 *    @type string          $code The merge code. E.g. {first_name}.
		 *    @type int|string|bool $data The merga data to replace the merge code with. E.g. 'Dude'.
		 * }
		 * @param int   $user_id     WP User ID of the user who earned the certificate.
		 * @param int   $template_id WP_Post ID of the certificate template.
		 * @param int   $related_id  WP Post ID of the post which triggered the certificate to be awarded.
		 */
		return apply_filters( 'llms_certificate_merge_data', $codes, $user_id, $template_id, $related_id );

	}


Top ↑

Changelog Changelog

Changelog
Version Description
6.1.0 Added {earned_date} merge code. Allowed {current_date} to be mocked.
6.0.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

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