Install cryptx
In wp-admin: cryptx->settings->check 'Text scrambled by AntiSpamBot'
Create files in HT child theme dir and paste below content. New widget should apear in apperance->widgets.
[user@domain /homepage/wp-content/themes/ht-increate-child/cst_includes/widgets]# cat ../../functions.php
<?php
require_once(get_stylesheet_directory() . '/cst_includes/widgets/widgets.php');
?>
[user@domain /homepage/wp-content/themes/ht-increate-child/cst_includes/widgets]# cat widgets.php
<?php
function register_ht_contact_details_cryptx() {
register_widget('ht_contact_details_cryptx');
}
add_action('widgets_init', 'register_ht_contact_details_cryptx');
/**
* Highthemes Contact Details CryptX
*/
class ht_contact_details_cryptx extends WP_Widget {
public function __construct() {
global $theme_name;
$widget_ops = array('classname' => 'ht_contact_details_cryptx',
'description' => __( 'Contact Details CryptX for Sidebar','highthemes') );
parent::__construct(
'ht_contact_details_cryptx',
'Highthemes - ' . __('Contact Details CryptX','highthemes'),
$widget_ops // Args
);
}
// display the widget in the theme
function widget( $args, $instance ) {
extract($args);
if(isset($instance['contact_text'])) $instance['contact_text'] = stripslashes($instance['contact_text']);
if(isset($instance['contact_details'])) $instance['contact_details'] = stripslashes($instance['contact_details']);
if(isset($instance['contact_email'])) $instance['contact_email'] = stripslashes($instance['contact_email']);
if(isset($instance['contact_www'])) $instance['contact_www'] = stripslashes($instance['contact_www']);
$title = apply_filters('widget_title', $instance['title'], $instance, $this->id_base);
echo $before_widget;
?>
<div class="contact-details">
<?php if ( $title ) echo $before_title . $title . $after_title; ?>
<p><?php echo stripslashes($instance['contact_text']); ?> </p>
<ul>
<?php echo stripslashes($instance['contact_details']);?>
<li><i class="fa-globe"></i><a href="http://<?php echo stripslashes($instance['contact_www']);?> "><?php echo stripslashes($instance['contact_www']); ?></a></li>
<?php
$email = trim(stripslashes($instance['contact_email']));
if(!empty($email)) {
echo '<li><i class="fa-envelope"></i>';
if(function_exists('encryptx')) {
encryptx($email, array('text'=>'', array('text' => $email, 'css_class' => 'cryptx-email', 'css_id' => '', 'echo' => 1)));
}
else {
?>
<a href="mailto:<?=$email?> "><?=$email?></a>
<?php
echo '</li>';
}
}
?>
</ul>
</div>
<?php
echo $after_widget;
//end
}
// update the widget when new options have been entered
function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance['title'] = strip_tags( $new_instance['title'] );
$instance['contact_text'] = $new_instance['contact_text'];
$instance['contact_details'] = $new_instance['contact_details'];
$instance['contact_email'] = $new_instance['contact_email'];
$instance['contact_www'] = $new_instance['contact_www'];
return $instance;
}
// print the widget option form on the widget management screen
function form( $instance ) {
// combine provided fields with defaults
$instance = wp_parse_args( (array) $instance, array('title'=>'Contact Details','contact_email' => 'email@example.com', 'contact_text'=>'lorem ipsum dolor sit amet', 'contact_details'=>'<li><i class="fa-home"></i>1736 Nutters Barn Lane Clarion, LA 50525</li><li><i class="fa-phone"></i> 111-5252-8568</li><li><i class="fa-print"></i> 111-9858-858</li><li><i class="fa-envelope"></i>email@gmail.com</li><li><i class="fa-globe"></i>www.site.com</li>' ) );
$contact_text = $instance['contact_text'];
$contact_details = $instance['contact_details'];
$title = strip_tags($instance['title']);
$contact_email = $instance['contact_email'];
$contact_www = $instance['contact_www'];
// print the form fields
?>
<div class="contact-details">
<p>
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e('Title:','highthemes') ?></label>
<input type="text" class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo
esc_attr($title); ?>" />
</p>
<p>
<label for="<?php echo $this->get_field_id('contact_email'); ?>"><?php _e('Email:','highthemes') ?></label>
<input type="text" class="widefat" id="<?php echo $this->get_field_id('contact_email'); ?>" name="<?php echo $this->get_field_name('contact_email'); ?>" value="<?php echo
esc_attr($contact_email); ?>" />
</p>
<p>
<label for="<?php echo $this->get_field_id('contact_www'); ?>"><?php _e('WWW:','highthemes') ?></label>
<input type="text" class="widefat" id="<?php echo $this->get_field_id('contact_www'); ?>" name="<?php echo $this->get_field_name('contact_www'); ?>" value="<?php echo
esc_attr($contact_www); ?>" />
</p>
<p><label for="<?php echo $this->get_field_id('contact_text'); ?>">
<?php _e('Text:','highthemes'); ?></label>
<textarea cols="36" rows="5" name="<?php echo $this->get_field_name('contact_text'); ?>" id="<?php echo $this->get_field_id('contact_text'); ?>"><?php echo
esc_attr($contact_text); ?></textarea>
</p>
<p><label for="<?php echo $this->get_field_id('contact_details'); ?>">
<?php _e('Contact Details:','highthemes'); ?></label>
<textarea cols="36" rows="15" name="<?php echo $this->get_field_name('contact_details'); ?>" id="<?php echo $this->get_field_id('contact_details'); ?>"><?php echo
esc_attr($contact_details); ?></textarea>
</p>
</div>
<?php
}
}