LLMS_Question::get_choices( string $return = 'choices' )

Retrieve the question’s choices


Parameters Parameters

$return

(string) (Optional) Determine how to return the choice data. 'choices' (default) returns an array of LLMS_Question_Choice objects. 'ids' returns an array of LLMS_Question_Choice ids.

Default value: 'choices'


Top ↑

Return Return

(array)


Top ↑

Source Source

File: includes/models/model.llms.question.php

	public function get_choices( $return = 'choices' ) {

		global $wpdb;
		$results = $wpdb->get_results( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
			$wpdb->prepare(
				"SELECT meta_key AS id
				  , meta_value AS data
			 FROM {$wpdb->postmeta}
			 WHERE post_id = %d
			   AND meta_key LIKE %s
			;",
				$this->get( 'id' ),
				'_llms_choice_%'
			)
		);

		usort( $results, array( $this, 'sort_choices' ) );

		if ( 'ids' === $return ) {
			return wp_list_pluck( $results, 'id' );
		}

		$ret = array();
		foreach ( $results as $result ) {
			$ret[] = new LLMS_Question_Choice( $this->get( 'id' ), unserialize( $result->data, array( 'allowed_classes' => false ) ) ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.serialize_unserialize
		}

		return $ret;

	}


Top ↑

Changelog Changelog

Changelog
Version Description
4.4.0 Don't allow objects when using unserialize().
3.35.0 Escape LIKE clause.
3.30.1 Improve choice sorting to accommodate numeric markers.
3.16.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

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