Skip to content

Instantly share code, notes, and snippets.

@mrkdevelopment
Last active July 15, 2024 01:05
Show Gist options
  • Save mrkdevelopment/af79c7148574aab03771a3d52cd0239f to your computer and use it in GitHub Desktop.
Save mrkdevelopment/af79c7148574aab03771a3d52cd0239f to your computer and use it in GitHub Desktop.
Divi social icons extension
/**
* Loads theme settings
*
*/
if ( ! function_exists( 'et_load_core_options' ) ) {
function et_load_core_options() {
global $shortname, $themename;
require_once get_template_directory() . esc_attr( "/options_{$shortname}.php" );
$newOptions = [];
foreach ($options as $i => $optionArray) {
$newOptions[] = $optionArray;
if (isset($optionArray['id']) && $optionArray['id'] == 'divi_show_google_icon') {
$showOptions = array(
"name" =>esc_html__( "Show Linked In Icon", $themename ),
"id" => $shortname."_show_linkedin_icon",
"type" => "checkbox2",
"std" => "on",
"desc" =>esc_html__( "Here you can choose to display the LINKED IN Icon. ", $themename ) );
$newOptions[] = $showOptions;
$showOptions2 = array(
"name" =>esc_html__( "Show Youtube Icon", $themename ),
"id" => $shortname."_show_youtube_icon",
"type" => "checkbox2",
"std" => "on",
"desc" =>esc_html__( "Here you can choose to display the Youtube Icon. ", $themename ) );
$newOptions[] = $showOptions2;
}
if (isset($optionArray['id']) && $optionArray['id'] == 'divi_google_url') {
$urlOptions = array( "name" =>esc_html__( "Linked In Profile Url", $themename ),
"id" => $shortname."_linkedin_url",
"std" => "#",
"type" => "text",
"validation_type" => "url",
"desc" =>esc_html__( "Enter the URL of your LinkedIn Profile. ", $themename ) );
$urlOptions2 = array( "name" =>esc_html__( "Youtube Url", $themename ),
"id" => $shortname."_youtube_url",
"std" => "#",
"type" => "text",
"validation_type" => "url",
"desc" =>esc_html__( "Enter the URL of your Youtube Channel. ", $themename ) );
$newOptions[] = $urlOptions;
$newOptions[] = $urlOptions2;
}
}
$options = $newOptions;
}
}
<?php if ( 'on' === et_get_option( 'divi_show_linkedin_icon', 'on' ) ) : ?>
<li class="et-social-icon et-social-linkedin">
<a href="<?php echo esc_url( et_get_option( 'divi_linkedin_url', '#' ) ); ?>" class="icon">
<span><?php esc_html_e( 'Linked In', 'Divi' ); ?></span>
</a>
</li>
<?php endif; ?>
<?php if ( 'on' === et_get_option( 'divi_show_youtube_icon', 'on' ) ) : ?>
<li class="et-social-icon et-social-youtube">
<a href="<?php echo esc_url( et_get_option( 'divi_youtube_url', '#' ) ); ?>" class="icon">
<span><?php esc_html_e( 'Youtube', 'Divi' ); ?></span>
</a>
</li>
<?php endif; ?>
@vsmith72
Copy link

there is an error in the code:
global $shortname, $$themename;

should read:
global $shortname, $options, $themename;

@vsmith72
Copy link

Oh yeah and thanks this is cool!

@vsmith72
Copy link

Except for some reason it added the icon options 4 times???

@PascalClaro
Copy link

PascalClaro commented Nov 26, 2017

Hi @vsmith72 ;) did you resolved the multiple times issue?

@mrkdevelopment
Copy link
Author

Hi Guys, We managed to fix this. For some reason I don't get notifications when people comment on Gist's. That's odd.

@rameyrobo
Copy link

Thank you! This was very helpful!

@mrkdevelopment
Copy link
Author

Thanks Rameyrobo. BTW - we have a free plugin now that handles all of this which may interest readers.https://www.mrkwp.com/wp/divi-icon-toolkit/

@ezmana
Copy link

ezmana commented May 14, 2020

For "multiple times" issue just change "require_once" to "require".

@ezmana
Copy link

ezmana commented Oct 21, 2021

For newer Divi versions, you can change divi_show_google_icon to divi_show_instagram_icon and divi_google_url to divi_instagram_url

@aniaq
Copy link

aniaq commented Jul 28, 2022

Hello @mrkdevelopment , Is it possible to clarify the licensing of the code?

@mrkdevelopment
Copy link
Author

Its GPL - you can do what ever you want with it.

@ExponentiallyDigital
Copy link

Thanks Rameyrobo. BTW - we have a free plugin now that handles all of this which may interest readers.https://www.mrkwp.com/wp/divi-icon-toolkit/

FYI, that URL doesn't resolve, searched your site and couldn't find the toolkit either.

@mrkdevelopment
Copy link
Author

@ExponentiallyDigital I no longer have the plugin. The code is here as a GPL snippet but I have no idea if it still works. You may find some alternatives on the divi marketplace.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment