# betterdocs/4.9.2/views/widgets/social-2.php

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

- Page: https://pluginprobe.com/plugins/betterdocs/4.9.2/code/views/widgets/social-2.php
- Raw: https://pluginprobe.com/plugins/betterdocs/4.9.2/raw/views/widgets/social-2.php
- Modified: 2026-08-04T07:29:08+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/4.9.2/code/views/widgets/social-2.php#L10-L20`.

```php
<div
	<?php
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound -- view template receives variables via extract(); prefixing is impractical.
if ( ! defined( 'ABSPATH' ) ) {
    exit;
}
echo $wrapper_attr; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>>
	<div class="betterdocs-social-share-heading layout-2">
		<?php
		if ( $title ) {
			$title_tag = isset( $title_tag ) ? $title_tag : 'h4';
			// Allow-list the tag name — esc_attr() does not stop a space/= from
			// injecting an attribute in this tag-name position (stored XSS via
			// the shortcode title_tag).
			$title_tag = betterdocs()->template_helper->is_valid_tag( $title_tag );
			echo wp_sprintf( '<%1$s class="betterdocs-social-share-title-tag">%2$s</%1$s>', esc_attr( $title_tag ), esc_html( $title ) );
		}
		?>
	</div>

	<ul class="betterdocs-social-share-links layout-2">
		<?php
			echo wp_sprintf(
				'<li><img src="%s" alt=""></li>',
				esc_html( betterdocs()->assets->icon( 'social/share-icon.svg' ) )
			);
			if ( ! empty( $links ) ) {
				foreach ( $links as $key => $social ) {
					echo wp_sprintf(
						'<li><a title="%s" href="%s" target="_blank"><img src="%s" alt="%s"></a></li>',
						esc_attr( $social['alt'] ),
						esc_url( $social['link'] ),
						esc_html( $social['icon-2'] ),
						esc_attr( $social['alt'] )
					);
				}
			}
			?>
	</ul>
</div>

```
