# betterdocs/3.5.3/includes/Traits/SocialShare.php

BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ &amp; Chatbot, version 3.5.3. 47 lines.

- Page: https://pluginprobe.com/plugins/betterdocs/3.5.3/code/includes/Traits/SocialShare.php
- Raw: https://pluginprobe.com/plugins/betterdocs/3.5.3/raw/includes/Traits/SocialShare.php
- Modified: 2023-08-14T08:41:14+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/betterdocs/3.5.3/code/includes/Traits/SocialShare.php#L10-L20`.

```php
<?php
namespace WPDeveloper\BetterDocs\Traits;

trait SocialShare {
    public $view_wrapper = 'betterdocs-social-share';

    public function generate_links() {
        $_permalink = get_the_permalink();

        $_defaults = [
            'facebook'  => [
                'alt'  => 'Facebook',
                'icon' => betterdocs()->assets->icon( 'social/facebook.svg' ),
                'link' => 'https://www.facebook.com/sharer/sharer.php?u=' . $_permalink
            ],
            'twitter'   => [
                'alt'  => 'Twitter',
                'icon' => betterdocs()->assets->icon( 'social/twitter.svg' ),
                'link' => 'https://twitter.com/intent/tweet?url=' . $_permalink
            ],
            'linkedin'  => [
                'alt'  => 'LinkedIn',
                'icon' => betterdocs()->assets->icon( 'social/linkedin.svg' ),
                'link' => 'https://www.linkedin.com/shareArticle?mini=true&url=' . $_permalink
            ],
            'pinterest' => [
                'alt'  => 'Pinterest',
                'icon' => betterdocs()->assets->icon( 'social/pinterest.svg' ),
                'link' => 'https://pinterest.com/pin/create/button/?url=' . $_permalink
            ]
        ];

        return array_filter( $_defaults, function ( $key ) {
            return array_key_exists( $key, $this->attributes ) && (bool) filter_var( $this->attributes[$key], FILTER_VALIDATE_BOOLEAN );
        }, ARRAY_FILTER_USE_KEY );
    }

    public function view_params() {
        $links                     = $this->generate_links();
        $this->attributes['links'] = $links;

        return [
            'links' => $links
        ];
    }
}

```
