lasso_id = $lasso_url->id; $this->name = $lasso_url->name; $this->primary_button_text = $lasso_url->display->primary_button_text; $this->primary_link = $lasso_url->target_url; $this->image_src = $lasso_url->image_src; $this->target_url = $lasso_url->target_url; $this->price = $lasso_url->price; $this->html_attribute = $lasso_url->html_attribute; $this->public_link = $lasso_url->public_link; $this->description = $lasso_url->description; $this->badge_text = $lasso_url->display->badge_text; } /** * Get link detail * * @return string */ public function get_link_detail() { return 'edit.php?post_type=surl&page=surl-url-details&post_id=' . $this->lasso_id; } /** * Get Lasso_URL * * @param int $lasso_id Lasso ID. * * @return Lasso_URL */ public static function get_by_lasso_id( $lasso_id ) { return new self( $lasso_id ); } /** * Get price. * * @return string */ public function get_price() { return ! empty( $this->price ) ? $this->price : 'N/A'; } /** * Get description. * * @return string */ public function get_description() { return $this->description; } /** * Get attributes * * @return array */ private function get_attrs() { $attrs = array( 'target' => $this->html_attribute->target, 'href' => $this->public_link, 'title' => $this->name, ); return $attrs; } /** * Render attributes. * * @param string $url Custom Url. * @return string */ public function render_attributes( $url = null ) { $attrs = $this->get_attrs(); if ( ! empty( $url ) ) { $attrs['href'] = $url; } $attrs_str = self::generate_attrs( $attrs ); $attrs_str .= $this->html_attribute->rel; return $attrs_str; } /** * Generate attributes html * * @param array $attrs An attributes array. * * @return string */ public static function generate_attrs( $attrs ) { $attrs_str = ''; foreach ( $attrs as $key => $attr ) { $attrs_str .= $key . '="' . $attr . '" '; } return $attrs_str; } }