LLMS_Shortcode_Hide_Content
Source Source
File: includes/shortcodes/class.llms.shortcode.hide.content.php
class LLMS_Shortcode_Hide_Content extends LLMS_Shortcode { /** * Shortcode tag * * @var string */ public $tag = 'lifterlms_hide_content'; /** * Get default shortcode attributes * * Retrieves an array of default attributes which are automatically merged * with the user submitted attributes and passed to $this->get_output() * * @since 3.5.1 * @since 3.24.1 Unknown. * * @return array */ protected function get_default_attributes() { return array( 'membership' => '', // For backwards compat, use id moving forward/ 'message' => '', 'id' => get_the_ID(), 'relation' => 'all', ); } /** * Retrieve the actual content of the shortcode * * $atts & $content are both filtered before being passed to get_output() * output is filtered so the return of get_output() doesn't need its own filter * * @since 3.5.1 * @since 3.24.1 Unknown. * * @return string */ protected function get_output() { // Backwards compatibility, get membership if set and fallback to the id. $ids = $this->get_attribute( 'membership' ) ? $this->get_attribute( 'membership' ) : $this->get_attribute( 'id' ); // Explode, trim whitespace and remove empty values. $ids = (array) array_map( 'trim', array_filter( explode( ',', $ids ) ) ); // Assume content is hidden. $hidden = true; if ( 'any' === $this->get_attribute( 'relation' ) && ! empty( $ids ) ) { foreach ( $ids as $id ) { if ( llms_is_user_enrolled( get_current_user_id(), $id ) ) { $hidden = false; break; } } } elseif ( 'all' === $this->get_attribute( 'relation' ) && ! empty( $ids ) ) { $inc = 0; foreach ( $ids as $id ) { if ( llms_is_user_enrolled( get_current_user_id(), $id ) ) { $inc++; } } if ( count( $ids ) === $inc ) { $hidden = false; } } return ! $hidden ? do_shortcode( $this->get_content() ) : $this->get_attribute( 'message' ); } }
Expand full source code Collapse full source code View on GitHub
Methods Methods
- get_default_attributes — Get default shortcode attributes
- get_output — Retrieve the actual content of the shortcode
Changelog Changelog
Version | Description |
---|---|
3.5.1 | |
3.24.1 | Introduced. |