/home/edulekha/www/wp-content/plugins/favorites/app/API/Shortcodes/PostFavoritesShortcode.php
<?php
namespace Favorites\API\Shortcodes;
class PostFavoritesShortcode
{
/**
* Shortcode Options
* @var array
*/
private $options;
public function __construct()
{
add_shortcode('post_favorites', [$this, 'renderView']);
}
/**
* Shortcode Options
*/
private function setOptions($options)
{
$this->options = shortcode_atts([
'post_id' => '',
'site_id' => '',
'separator' => 'list',
'include_anonymous' => 'true',
'anonymous_label' => __('Anonymous Users', 'favorites'),
'anonymous_label_single' => __('Anonymous User', 'favorites')
], $options);
}
/**
* Render the HTML list
* @param $options, array of shortcode options
*/
public function renderView($options)
{
$this->setOptions($options);
$this->options['include_anonymous'] = ( $this->options['include_anonymous'] == 'true' ) ? true : false;
$this->options['post_id'] = ( $this->options['post_id'] == "" ) ? '' : intval($this->options['post_id']);
$this->options['site_id'] = ( $this->options['site_id'] == "" ) ? null : intval($this->options['site_id']);
return get_users_list_who_favorited_post(
$post_id = $this->options['post_id'],
$site_id = $this->options['site_id'],
$separator = sanitize_text_field($this->options['separator']),
$include_anonymous = $this->options['include_anonymous'],
$anonymous_label = sanitize_text_field($this->options['anonymous_label']),
$anonymous_label_single = sanitize_text_field($this->options['anonymous_label_single'])
);
}
}