Version Description
Download this release
Release Info
| Developer | cbaldelomar |
| Plugin | |
| Version | 3.37 |
| Comparing to | |
| See all releases | |
Code changes from version 3.36 to 3.37
- README.md +5 -0
- admin/assets/css/wcvisualmanager.css +14 -0
- admin/assets/js/shortcodes-tinymce-4.js +7 -0
- admin/class-ajax.php +4 -0
- public/assets/css/style.css +38 -0
- public/class-register.php +77 -0
- public/class-sanitize.php +59 -0
- public/class-vars.php +18 -1
- public/class-widget-options.php +7 -0
- public/widgets/widget-call-to-action.php +138 -0
- readme.txt +5 -0
- wc-shortcodes.php +1 -1
README.md
CHANGED
|
@@ -106,6 +106,11 @@ See our help article on [how to manually upload a plugin](http://knowledgebase.a
|
|
| 106 |
|
| 107 |
## Changelog ##
|
| 108 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 109 |
### Version 3.36 ###
|
| 110 |
|
| 111 |
* Added collage widget
|
| 106 |
|
| 107 |
## Changelog ##
|
| 108 |
|
| 109 |
+
### Version 3.37 ###
|
| 110 |
+
|
| 111 |
+
* Added call to action.
|
| 112 |
+
* Added overflow hidden to collage wrapper.
|
| 113 |
+
|
| 114 |
### Version 3.36 ###
|
| 115 |
|
| 116 |
* Added collage widget
|
admin/assets/css/wcvisualmanager.css
CHANGED
|
@@ -41,6 +41,20 @@
|
|
| 41 |
border-width: 0;
|
| 42 |
padding: 0;
|
| 43 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
/**/
|
| 45 |
html .wc-shortcodes-visual-manager,
|
| 46 |
html .wc-shortcodes-visual-manager .ui-accordion,
|
| 41 |
border-width: 0;
|
| 42 |
padding: 0;
|
| 43 |
}
|
| 44 |
+
.wc-shortcodes-visual-manager .wc-shortcodes-range-wrapper {
|
| 45 |
+
display: block;
|
| 46 |
+
float: left;
|
| 47 |
+
width: 100%;
|
| 48 |
+
}
|
| 49 |
+
.wc-shortcodes-visual-manager .wc-shortcodes-range-wrapper input {
|
| 50 |
+
width: 90%;
|
| 51 |
+
float: left;
|
| 52 |
+
}
|
| 53 |
+
.wc-shortcodes-visual-manager .wc-shortcodes-range-wrapper output {
|
| 54 |
+
width: 10%;
|
| 55 |
+
float: right;
|
| 56 |
+
text-align: right;
|
| 57 |
+
}
|
| 58 |
/**/
|
| 59 |
html .wc-shortcodes-visual-manager,
|
| 60 |
html .wc-shortcodes-visual-manager .ui-accordion,
|
admin/assets/js/shortcodes-tinymce-4.js
CHANGED
|
@@ -216,6 +216,13 @@
|
|
| 216 |
wcShortcodes( shortcode, editor );
|
| 217 |
}
|
| 218 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 219 |
{
|
| 220 |
text: "Image Links",
|
| 221 |
onclick: function(){
|
| 216 |
wcShortcodes( shortcode, editor );
|
| 217 |
}
|
| 218 |
},
|
| 219 |
+
{
|
| 220 |
+
text: "Call To Action",
|
| 221 |
+
onclick: function(){
|
| 222 |
+
var shortcode = '[wc_call_to_action]' + wcParagraphContent + '[/wc_call_to_action]';
|
| 223 |
+
wcShortcodes( shortcode, editor );
|
| 224 |
+
}
|
| 225 |
+
},
|
| 226 |
{
|
| 227 |
text: "Image Links",
|
| 228 |
onclick: function(){
|
admin/class-ajax.php
CHANGED
|
@@ -241,6 +241,10 @@ class WPC_Shortcodes_Ajax {
|
|
| 241 |
$widget = new WPC_Shortcodes_Widget_Image();
|
| 242 |
$widget->form( $attr );
|
| 243 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
| 244 |
case 'wc_image_links' :
|
| 245 |
$widget = new WPC_Shortcodes_Widget_Image_Links();
|
| 246 |
$widget->form( $attr );
|
| 241 |
$widget = new WPC_Shortcodes_Widget_Image();
|
| 242 |
$widget->form( $attr );
|
| 243 |
break;
|
| 244 |
+
case 'wc_call_to_action' :
|
| 245 |
+
$widget = new WPC_Shortcodes_Widget_Call_To_Action();
|
| 246 |
+
$widget->form( $attr );
|
| 247 |
+
break;
|
| 248 |
case 'wc_image_links' :
|
| 249 |
$widget = new WPC_Shortcodes_Widget_Image_Links();
|
| 250 |
$widget->form( $attr );
|
public/assets/css/style.css
CHANGED
|
@@ -2005,6 +2005,7 @@ pre.pre-wrap {
|
|
| 2005 |
* ----------------------------------------------------------------------------
|
| 2006 |
*/
|
| 2007 |
.wc-shortcodes-collage-wrapper {
|
|
|
|
| 2008 |
}
|
| 2009 |
.wc-shortcodes-collage.wc-shortcodes-collage-template-collage1 {
|
| 2010 |
}
|
|
@@ -2374,3 +2375,40 @@ pre.pre-wrap {
|
|
| 2374 |
max-width: 400px;
|
| 2375 |
margin: 0 auto;
|
| 2376 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2005 |
* ----------------------------------------------------------------------------
|
| 2006 |
*/
|
| 2007 |
.wc-shortcodes-collage-wrapper {
|
| 2008 |
+
overflow: hidden;
|
| 2009 |
}
|
| 2010 |
.wc-shortcodes-collage.wc-shortcodes-collage-template-collage1 {
|
| 2011 |
}
|
| 2375 |
max-width: 400px;
|
| 2376 |
margin: 0 auto;
|
| 2377 |
}
|
| 2378 |
+
/**
|
| 2379 |
+
* [wc_call_to_action]
|
| 2380 |
+
* ----------------------------------------------------------------------------
|
| 2381 |
+
*/
|
| 2382 |
+
.wc-shortcodes-call-to-action-wrapper-inner {
|
| 2383 |
+
display: table;
|
| 2384 |
+
width: 100%;
|
| 2385 |
+
}
|
| 2386 |
+
.wc-shortcodes-call-to-action-wrapper .wcs-call-to-action-container {
|
| 2387 |
+
display: table-cell;
|
| 2388 |
+
vertical-align: middle;
|
| 2389 |
+
}
|
| 2390 |
+
.wc-shortcodes-call-to-action-image-position-left .wcs-call-to-action-image-inner {
|
| 2391 |
+
text-align: left;
|
| 2392 |
+
}
|
| 2393 |
+
.wc-shortcodes-call-to-action-image-position-center .wcs-call-to-action-image-inner {
|
| 2394 |
+
text-align: center;
|
| 2395 |
+
}
|
| 2396 |
+
.wc-shortcodes-call-to-action-image-position-right .wcs-call-to-action-image-inner {
|
| 2397 |
+
text-align: right;
|
| 2398 |
+
}
|
| 2399 |
+
.wc-shortcodes-call-to-action-text-position-left .wcs-call-to-action-content-wrapper {
|
| 2400 |
+
float: left;
|
| 2401 |
+
}
|
| 2402 |
+
.wc-shortcodes-call-to-action-text-position-center .wcs-call-to-action-content-wrapper {
|
| 2403 |
+
margin-left: auto;
|
| 2404 |
+
margin-right: auto;
|
| 2405 |
+
}
|
| 2406 |
+
.wc-shortcodes-call-to-action-text-position-right .wcs-call-to-action-content-wrapper {
|
| 2407 |
+
float: right;
|
| 2408 |
+
}
|
| 2409 |
+
.wcs-call-to-action-content-wrapper *:first-child {
|
| 2410 |
+
margin-top: 0;
|
| 2411 |
+
}
|
| 2412 |
+
.wcs-call-to-action-content-wrapper *:last-child {
|
| 2413 |
+
margin-bottom: 0;
|
| 2414 |
+
}
|
public/class-register.php
CHANGED
|
@@ -84,6 +84,7 @@ class WPC_Shortcodes_Register extends WPC_Shortcodes_Vars {
|
|
| 84 |
add_shortcode( 'wc_column', array( &$this, 'column' ) );
|
| 85 |
add_shortcode( 'wc_row', array( &$this, 'row' ) );
|
| 86 |
add_shortcode( 'wc_center', array( &$this, 'center' ) );
|
|
|
|
| 87 |
add_shortcode( 'wc_toggle', array( &$this, 'toggle' ) );
|
| 88 |
add_shortcode( 'wc_accordion', array( &$this, 'accordion_main' ) );
|
| 89 |
add_shortcode( 'wc_accordion_section', array( &$this, 'accordion_section' ) );
|
|
@@ -1660,6 +1661,82 @@ class WPC_Shortcodes_Register extends WPC_Shortcodes_Vars {
|
|
| 1660 |
return $html;
|
| 1661 |
}
|
| 1662 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1663 |
public function image_links( $atts ) {
|
| 1664 |
$atts = shortcode_atts( parent::$attr->image_links, $atts );
|
| 1665 |
$atts = WPC_Shortcodes_Sanitize::image_links_attr( $atts );
|
| 84 |
add_shortcode( 'wc_column', array( &$this, 'column' ) );
|
| 85 |
add_shortcode( 'wc_row', array( &$this, 'row' ) );
|
| 86 |
add_shortcode( 'wc_center', array( &$this, 'center' ) );
|
| 87 |
+
add_shortcode( 'wc_call_to_action', array( &$this, 'call_to_action' ) );
|
| 88 |
add_shortcode( 'wc_toggle', array( &$this, 'toggle' ) );
|
| 89 |
add_shortcode( 'wc_accordion', array( &$this, 'accordion_main' ) );
|
| 90 |
add_shortcode( 'wc_accordion_section', array( &$this, 'accordion_section' ) );
|
| 1661 |
return $html;
|
| 1662 |
}
|
| 1663 |
|
| 1664 |
+
public function call_to_action( $atts, $content = null ) {
|
| 1665 |
+
$atts = shortcode_atts( parent::$attr->call_to_action, $atts );
|
| 1666 |
+
$atts = WPC_Shortcodes_Sanitize::call_to_action_attr( $atts );
|
| 1667 |
+
|
| 1668 |
+
$gutter_margin = floor( $atts['gutter_spacing'] / 2 );
|
| 1669 |
+
if ( 'image_right' == $atts['style_format'] ) {
|
| 1670 |
+
$text_column = 'width:' . ( 100 - $atts['gutter_position'] ) . '%;';
|
| 1671 |
+
$text_column_inner = 'margin-right:' . $gutter_margin . 'px;';
|
| 1672 |
+
$image_column = 'width:' . $atts['gutter_position'] . '%;';
|
| 1673 |
+
$image_column_inner = 'margin-left:' . $gutter_margin . 'px;';
|
| 1674 |
+
}
|
| 1675 |
+
else {
|
| 1676 |
+
$text_column = 'width:' . $atts['gutter_position'] . '%;';
|
| 1677 |
+
$text_column_inner = 'margin-left:' . $gutter_margin . 'px;';
|
| 1678 |
+
$image_column = 'width:' . ( 100 - $atts['gutter_position'] ) . '%;';
|
| 1679 |
+
$image_column_inner = 'margin-right:' . $gutter_margin . 'px;';
|
| 1680 |
+
}
|
| 1681 |
+
|
| 1682 |
+
$image_max_width = '';
|
| 1683 |
+
if ( ! empty( $atts['image_max_width'] ) ) {
|
| 1684 |
+
$image_max_width = 'max-width:'.$atts['image_max_width'].';';
|
| 1685 |
+
}
|
| 1686 |
+
if ( ! empty( $atts['text_max_width'] ) ) {
|
| 1687 |
+
$text_max_width = 'max-width:'.$atts['text_max_width'].';';
|
| 1688 |
+
}
|
| 1689 |
+
|
| 1690 |
+
$html = '';
|
| 1691 |
+
$output = array();
|
| 1692 |
+
$srcset = '';
|
| 1693 |
+
|
| 1694 |
+
if ( ! empty( $atts['image_2x'] ) ) {
|
| 1695 |
+
$srcset = ' srcset="' . esc_url( $atts['image_2x'] ) . ' 2x"';
|
| 1696 |
+
}
|
| 1697 |
+
|
| 1698 |
+
$img = '<img style="'.$image_max_width.'" class="wcs-call-to-action-image" src="'.esc_url( $atts['image'] ).'"'.$srcset.' />';
|
| 1699 |
+
|
| 1700 |
+
$output[] = '<div class="wcs-call-to-action-image-container wcs-call-to-action-container" style="'.$image_column.'"><div style="'.$image_column_inner.'" class="wcs-call-to-action-image-inner">' . $img . '</div></div>';
|
| 1701 |
+
|
| 1702 |
+
$output[] = '<div class="wcs-call-to-action-text-container wcs-call-to-action-container" style="'.$text_column.'"><div style="'.$text_column_inner.'" class="wcs-call-to-action-text-inner"><div style="'.$text_max_width.'" class="wcs-call-to-action-content-wrapper">' . do_shortcode( $content ) . '</div></div></div>';
|
| 1703 |
+
|
| 1704 |
+
if ( 'image_right' == $atts['style_format'] ) {
|
| 1705 |
+
$output = array_reverse( $output );
|
| 1706 |
+
}
|
| 1707 |
+
|
| 1708 |
+
$output = implode( '', $output );
|
| 1709 |
+
|
| 1710 |
+
$style = array();
|
| 1711 |
+
if ( ! empty( $atts['padding_side'] ) ) {
|
| 1712 |
+
$style[] = 'padding-left:' . $atts['padding_side'] . ';';
|
| 1713 |
+
$style[] = 'padding-right:' . $atts['padding_side'] . ';';
|
| 1714 |
+
}
|
| 1715 |
+
if ( ! empty( $atts['padding_top'] ) ) {
|
| 1716 |
+
$style[] = 'padding-top:' . $atts['padding_top'] . ';';
|
| 1717 |
+
}
|
| 1718 |
+
if ( ! empty( $atts['padding_bottom'] ) ) {
|
| 1719 |
+
$style[] = 'padding-bottom:' . $atts['padding_bottom'] . ';';
|
| 1720 |
+
}
|
| 1721 |
+
|
| 1722 |
+
$classes = array();
|
| 1723 |
+
$classes[] = 'wc-shortcodes-call-to-action-wrapper';
|
| 1724 |
+
$classes[] = 'wc-shortcodes-call-to-action-format-'.$atts['style_format'];
|
| 1725 |
+
$classes[] = 'wc-shortcodes-call-to-action-image-position-'.$atts['image_position'];
|
| 1726 |
+
$classes[] = 'wc-shortcodes-call-to-action-text-position-'.$atts['text_position'];
|
| 1727 |
+
if ( ! empty( $atts['class'] ) ) {
|
| 1728 |
+
$classes = $atts['class'];
|
| 1729 |
+
}
|
| 1730 |
+
|
| 1731 |
+
$html .= '<div id="wc-shortcodes-call-to-action" class="'.implode( ' ', $classes ).'">';
|
| 1732 |
+
$html .= '<div class="wc-shortcodes-call-to-action-wrapper-inner wc-shortcodes-clearfix" style="'.implode( '', $style ).'">';
|
| 1733 |
+
$html .= $output;
|
| 1734 |
+
$html .= '</div>';
|
| 1735 |
+
$html .= '</div>';
|
| 1736 |
+
|
| 1737 |
+
return $html;
|
| 1738 |
+
}
|
| 1739 |
+
|
| 1740 |
public function image_links( $atts ) {
|
| 1741 |
$atts = shortcode_atts( parent::$attr->image_links, $atts );
|
| 1742 |
$atts = WPC_Shortcodes_Sanitize::image_links_attr( $atts );
|
public/class-sanitize.php
CHANGED
|
@@ -446,6 +446,15 @@ class WPC_Shortcodes_Sanitize {
|
|
| 446 |
return $default;
|
| 447 |
}
|
| 448 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 449 |
public static function image_links_style_format( $value, $default = '' ) {
|
| 450 |
$whitelist = WPC_Shortcodes_Widget_Options::image_links_style_format_values();
|
| 451 |
|
|
@@ -1025,6 +1034,56 @@ class WPC_Shortcodes_Sanitize {
|
|
| 1025 |
return $atts;
|
| 1026 |
}
|
| 1027 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1028 |
public static function image_links_attr( $atts ) {
|
| 1029 |
foreach ( $atts as $key => $value ) {
|
| 1030 |
switch( $key ) {
|
| 446 |
return $default;
|
| 447 |
}
|
| 448 |
|
| 449 |
+
public static function call_to_action_style_format( $value, $default = '' ) {
|
| 450 |
+
$whitelist = WPC_Shortcodes_Widget_Options::call_to_action_style_format_values();
|
| 451 |
+
|
| 452 |
+
if ( array_key_exists( $value, $whitelist ) )
|
| 453 |
+
return $value;
|
| 454 |
+
|
| 455 |
+
return $default;
|
| 456 |
+
}
|
| 457 |
+
|
| 458 |
public static function image_links_style_format( $value, $default = '' ) {
|
| 459 |
$whitelist = WPC_Shortcodes_Widget_Options::image_links_style_format_values();
|
| 460 |
|
| 1034 |
return $atts;
|
| 1035 |
}
|
| 1036 |
|
| 1037 |
+
public static function call_to_action_attr( $atts ) {
|
| 1038 |
+
foreach ( $atts as $key => $value ) {
|
| 1039 |
+
switch( $key ) {
|
| 1040 |
+
// image 1
|
| 1041 |
+
case 'image' :
|
| 1042 |
+
$atts[ $key ] = esc_url_raw( $value );
|
| 1043 |
+
break;
|
| 1044 |
+
case 'image_2x' :
|
| 1045 |
+
$atts[ $key ] = esc_url_raw( $value );
|
| 1046 |
+
break;
|
| 1047 |
+
case 'image_max_width' :
|
| 1048 |
+
$atts[ $key ] = self::css_unit( $value );
|
| 1049 |
+
break;
|
| 1050 |
+
case 'image_position' :
|
| 1051 |
+
$atts[ $key ] = self::text_align( $value );
|
| 1052 |
+
break;
|
| 1053 |
+
// Settings
|
| 1054 |
+
case 'style_format' :
|
| 1055 |
+
$atts[ $key ] = self::call_to_action_style_format( $value );
|
| 1056 |
+
break;
|
| 1057 |
+
case 'text_max_width' :
|
| 1058 |
+
$atts[ $key ] = self::css_unit( $value );
|
| 1059 |
+
break;
|
| 1060 |
+
case 'text_position' :
|
| 1061 |
+
$atts[ $key ] = self::text_align( $value );
|
| 1062 |
+
break;
|
| 1063 |
+
case 'gutter_position' :
|
| 1064 |
+
$atts[ $key ] = self::percentage( $value );
|
| 1065 |
+
break;
|
| 1066 |
+
case 'gutter_spacing' :
|
| 1067 |
+
$atts[ $key ] = self::positive_number( $value );
|
| 1068 |
+
break;
|
| 1069 |
+
case 'padding_top' :
|
| 1070 |
+
$atts[ $key ] = self::css_unit( $value );
|
| 1071 |
+
break;
|
| 1072 |
+
case 'padding_bottom' :
|
| 1073 |
+
$atts[ $key ] = self::css_unit( $value );
|
| 1074 |
+
break;
|
| 1075 |
+
case 'padding_side' :
|
| 1076 |
+
$atts[ $key ] = self::css_unit( $value );
|
| 1077 |
+
break;
|
| 1078 |
+
case 'class' :
|
| 1079 |
+
$atts[ $key ] = self::html_classes( $value );
|
| 1080 |
+
break;
|
| 1081 |
+
}
|
| 1082 |
+
}
|
| 1083 |
+
|
| 1084 |
+
return $atts;
|
| 1085 |
+
}
|
| 1086 |
+
|
| 1087 |
public static function image_links_attr( $atts ) {
|
| 1088 |
foreach ( $atts as $key => $value ) {
|
| 1089 |
switch( $key ) {
|
public/class-vars.php
CHANGED
|
@@ -8,7 +8,7 @@ class WPC_Shortcodes_Vars {
|
|
| 8 |
*
|
| 9 |
* @var string
|
| 10 |
*/
|
| 11 |
-
const VERSION = '3.
|
| 12 |
const DB_VERSION = '1.0';
|
| 13 |
|
| 14 |
/**
|
|
@@ -359,6 +359,23 @@ class WPC_Shortcodes_Vars {
|
|
| 359 |
'slider_pause' => 4000,
|
| 360 |
'slider_auto' => 0,
|
| 361 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 362 |
self::$attr->image_links = array(
|
| 363 |
// image 1
|
| 364 |
'image_1' => '',
|
| 8 |
*
|
| 9 |
* @var string
|
| 10 |
*/
|
| 11 |
+
const VERSION = '3.37';
|
| 12 |
const DB_VERSION = '1.0';
|
| 13 |
|
| 14 |
/**
|
| 359 |
'slider_pause' => 4000,
|
| 360 |
'slider_auto' => 0,
|
| 361 |
);
|
| 362 |
+
self::$attr->call_to_action = array(
|
| 363 |
+
// image
|
| 364 |
+
'image' => '',
|
| 365 |
+
'image_2x' => '',
|
| 366 |
+
'image_max_width' => '200px',
|
| 367 |
+
'image_position' => 'left',
|
| 368 |
+
// settings
|
| 369 |
+
'style_format' => 'image_left',
|
| 370 |
+
'text_max_width' => '200px',
|
| 371 |
+
'text_position' => 'center',
|
| 372 |
+
'gutter_position' => '50',
|
| 373 |
+
'gutter_spacing' => '80',
|
| 374 |
+
'padding_top' => '20px',
|
| 375 |
+
'padding_bottom' => '20px',
|
| 376 |
+
'padding_side' => '20px',
|
| 377 |
+
'class' => '',
|
| 378 |
+
);
|
| 379 |
self::$attr->image_links = array(
|
| 380 |
// image 1
|
| 381 |
'image_1' => '',
|
public/class-widget-options.php
CHANGED
|
@@ -41,6 +41,13 @@ class WPC_Shortcodes_Widget_Options {
|
|
| 41 |
);
|
| 42 |
}
|
| 43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
public static function image_links_style_format_values() {
|
| 45 |
return array(
|
| 46 |
'row' => 'Row',
|
| 41 |
);
|
| 42 |
}
|
| 43 |
|
| 44 |
+
public static function call_to_action_style_format_values() {
|
| 45 |
+
return array(
|
| 46 |
+
'image_left' => 'Image | Text',
|
| 47 |
+
'image_right' => 'Text | Image',
|
| 48 |
+
);
|
| 49 |
+
}
|
| 50 |
+
|
| 51 |
public static function image_links_style_format_values() {
|
| 52 |
return array(
|
| 53 |
'row' => 'Row',
|
public/widgets/widget-call-to-action.php
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* @uses WP
|
| 4 |
+
* @uses _Widget
|
| 5 |
+
*/
|
| 6 |
+
class WPC_Shortcodes_Widget_Call_To_Action extends WPC_Shortcodes_Widget_Base {
|
| 7 |
+
function form( $instance ) {
|
| 8 |
+
// array_merge needs both values to be array.
|
| 9 |
+
if ( ! is_array( $instance ) ) {
|
| 10 |
+
$instance = array();
|
| 11 |
+
}
|
| 12 |
+
|
| 13 |
+
$o = array_merge( WPC_Shortcodes_Vars::$attr->call_to_action, $instance );
|
| 14 |
+
$o = WPC_Shortcodes_Sanitize::call_to_action_attr( $o );
|
| 15 |
+
|
| 16 |
+
?>
|
| 17 |
+
|
| 18 |
+
<div id="wc-shortcodes-call-to-action-widget-<?php echo $this->number; ?>" class="wc-shortcodes-visual-manager wpc-image-wrapper wpc-ui-theme-override">
|
| 19 |
+
<?php
|
| 20 |
+
$imagestyle = '';
|
| 21 |
+
if ( empty( $o['image'] ) ) {
|
| 22 |
+
$imagestyle = ' style="display:none"';
|
| 23 |
+
}
|
| 24 |
+
?>
|
| 25 |
+
<div class="wpc-widgets-image-field">
|
| 26 |
+
<label for="<?php echo $this->get_field_id( 'image' ); ?>"><?php echo _e( 'Image URL:' ); ?>
|
| 27 |
+
<input class="wc-shortcodes-widget-option widefat" id="<?php echo $this->get_field_id( 'image' ); ?>" name="<?php echo $this->get_field_name( 'image' ); ?>" type="text" value="<?php echo esc_url( $o['image'] ); ?>" />
|
| 28 |
+
</label>
|
| 29 |
+
<a class="wpc-widgets-image-upload button inline-button" data-target="#<?php echo $this->get_field_id( 'image' ); ?>" data-preview=".wpc-widgets-preview-image" data-frame="select" data-state="wpc_widgets_insert_single" data-fetch="url" data-title="Insert Image" data-button="Insert" data-class="media-frame wpc-widgets-custom-uploader" title="Add Media">Add Media</a>
|
| 30 |
+
<a class="button wpc-widgets-delete-image" data-target="#<?php echo $this->get_field_id( 'image' ); ?>" data-preview=".wpc-widgets-preview-image">Delete</a>
|
| 31 |
+
<div class="wpc-widgets-preview-image"<?php echo $imagestyle; ?>><img src="<?php echo esc_url($o['image']); ?>" /></div>
|
| 32 |
+
</div>
|
| 33 |
+
<?php
|
| 34 |
+
$imagestyle = '';
|
| 35 |
+
if ( empty( $o['image_2x'] ) ) {
|
| 36 |
+
$imagestyle = ' style="display:none"';
|
| 37 |
+
}
|
| 38 |
+
?>
|
| 39 |
+
<div class="wpc-widgets-image-field">
|
| 40 |
+
<label for="<?php echo $this->get_field_id( 'image_2x' ); ?>"><?php echo _e( 'Retina Image URL:' ); ?>
|
| 41 |
+
<input class="wc-shortcodes-widget-option widefat" id="<?php echo $this->get_field_id( 'image_2x' ); ?>" name="<?php echo $this->get_field_name( 'image_2x' ); ?>" type="text" value="<?php echo esc_url( $o['image_2x'] ); ?>" />
|
| 42 |
+
</label>
|
| 43 |
+
<a class="wpc-widgets-image-upload button inline-button" data-target="#<?php echo $this->get_field_id( 'image_2x' ); ?>" data-preview=".wpc-widgets-preview-image" data-frame="select" data-state="wpc_widgets_insert_single" data-fetch="url" data-title="Insert Image" data-button="Insert" data-class="media-frame wpc-widgets-custom-uploader" title="Add Media">Add Media</a>
|
| 44 |
+
<a class="button wpc-widgets-delete-image" data-target="#<?php echo $this->get_field_id( 'image_2x' ); ?>" data-preview=".wpc-widgets-preview-image">Delete</a>
|
| 45 |
+
<div class="wpc-widgets-preview-image"<?php echo $imagestyle; ?>><img src="<?php echo esc_url($o['image_2x']); ?>" /></div>
|
| 46 |
+
</div>
|
| 47 |
+
<p>
|
| 48 |
+
<label for="<?php echo $this->get_field_id('image_max_width'); ?>"><?php _e('Image Max Width:') ?></label>
|
| 49 |
+
<input type="text" class="wc-shortcodes-widget-option widefat" id="<?php echo $this->get_field_id('image_max_width'); ?>" name="<?php echo $this->get_field_name('image_max_width'); ?>" value="<?php echo $o['image_max_width']; ?>" />
|
| 50 |
+
<span class="wcs-description">Enter CSS unit value.</span>
|
| 51 |
+
</p>
|
| 52 |
+
<p>
|
| 53 |
+
<label for="<?php echo $this->get_field_id('image_position'); ?>"><?php _e('Image Position:'); ?></label>
|
| 54 |
+
<select class="wc-shortcodes-widget-option" id="<?php echo $this->get_field_id('image_position'); ?>" name="<?php echo $this->get_field_name('image_position'); ?>">
|
| 55 |
+
<?php foreach ( WPC_Shortcodes_Widget_Options::text_align_values() as $key => $value ) : ?>
|
| 56 |
+
<option value="<?php echo $key; ?>"<?php selected( $o['image_position'], $key ); ?>><?php echo $value; ?></option>';
|
| 57 |
+
<?php endforeach; ?>
|
| 58 |
+
</select>
|
| 59 |
+
</p>
|
| 60 |
+
<p>
|
| 61 |
+
<label for="<?php echo $this->get_field_id('style_format'); ?>"><?php _e('Style Format:'); ?></label>
|
| 62 |
+
<select class="wc-shortcodes-widget-option" id="<?php echo $this->get_field_id('style_format'); ?>" name="<?php echo $this->get_field_name('style_format'); ?>">
|
| 63 |
+
<?php foreach ( WPC_Shortcodes_Widget_Options::call_to_action_style_format_values() as $key => $value ) : ?>
|
| 64 |
+
<option value="<?php echo $key; ?>"<?php selected( $o['style_format'], $key ); ?>><?php echo $value; ?></option>';
|
| 65 |
+
<?php endforeach; ?>
|
| 66 |
+
</select>
|
| 67 |
+
</p>
|
| 68 |
+
<p>
|
| 69 |
+
<label for="<?php echo $this->get_field_id('text_max_width'); ?>"><?php _e('Text Max Width:') ?></label>
|
| 70 |
+
<input type="text" class="wc-shortcodes-widget-option widefat" id="<?php echo $this->get_field_id('text_max_width'); ?>" name="<?php echo $this->get_field_name('text_max_width'); ?>" value="<?php echo $o['text_max_width']; ?>" />
|
| 71 |
+
<span class="wcs-description">Enter CSS unit value.</span>
|
| 72 |
+
</p>
|
| 73 |
+
<p>
|
| 74 |
+
<label for="<?php echo $this->get_field_id('text_position'); ?>"><?php _e('Text Position:'); ?></label>
|
| 75 |
+
<select class="wc-shortcodes-widget-option" id="<?php echo $this->get_field_id('text_position'); ?>" name="<?php echo $this->get_field_name('text_position'); ?>">
|
| 76 |
+
<?php foreach ( WPC_Shortcodes_Widget_Options::text_align_values() as $key => $value ) : ?>
|
| 77 |
+
<option value="<?php echo $key; ?>"<?php selected( $o['text_position'], $key ); ?>><?php echo $value; ?></option>';
|
| 78 |
+
<?php endforeach; ?>
|
| 79 |
+
</select>
|
| 80 |
+
</p>
|
| 81 |
+
<div>
|
| 82 |
+
<label for="<?php echo $this->get_field_id('gutter_position'); ?>"><?php _e('Gutter Position:') ?></label>
|
| 83 |
+
<div class="wc-shortcodes-range-wrapper clear">
|
| 84 |
+
<input type="range" min="0" max="100" step="1" class="wc-shortcodes-widget-option wc-shortcodes-range-input widefat" id="<?php echo $this->get_field_id('gutter_position'); ?>" name="<?php echo $this->get_field_name('gutter_position'); ?>" data-output="<?php echo $this->get_field_id('gutter_position'); ?>-output" value="<?php echo $o['gutter_position']; ?>" />
|
| 85 |
+
<output id="<?php echo $this->get_field_id('gutter_position'); ?>-output"><?php echo $o['gutter_position']; ?></output>
|
| 86 |
+
</div>
|
| 87 |
+
<span class="wcs-description">This will determine the percent width for the left and right side.</span>
|
| 88 |
+
</div>
|
| 89 |
+
<p>
|
| 90 |
+
<label for="<?php echo $this->get_field_id('gutter_spacing'); ?>"><?php _e('Gutter Spacing:') ?></label>
|
| 91 |
+
<input type="number" class="wc-shortcodes-widget-option widefat" id="<?php echo $this->get_field_id('gutter_spacing'); ?>" name="<?php echo $this->get_field_name('gutter_spacing'); ?>" value="<?php echo $o['gutter_spacing']; ?>" />
|
| 92 |
+
<span class="wcs-description">Enter CSS unit value.</span>
|
| 93 |
+
</p>
|
| 94 |
+
<p>
|
| 95 |
+
<label for="<?php echo $this->get_field_id('padding_top'); ?>"><?php _e('Padding Top:') ?></label>
|
| 96 |
+
<input type="text" class="wc-shortcodes-widget-option widefat" id="<?php echo $this->get_field_id('padding_top'); ?>" name="<?php echo $this->get_field_name('padding_top'); ?>" value="<?php echo $o['padding_top']; ?>" />
|
| 97 |
+
<span class="wcs-description">Enter CSS unit value.</span>
|
| 98 |
+
</p>
|
| 99 |
+
<p>
|
| 100 |
+
<label for="<?php echo $this->get_field_id('padding_bottom'); ?>"><?php _e('Padding Bottom:') ?></label>
|
| 101 |
+
<input type="text" class="wc-shortcodes-widget-option widefat" id="<?php echo $this->get_field_id('padding_bottom'); ?>" name="<?php echo $this->get_field_name('padding_bottom'); ?>" value="<?php echo $o['padding_bottom']; ?>" />
|
| 102 |
+
<span class="wcs-description">Enter CSS unit value.</span>
|
| 103 |
+
</p>
|
| 104 |
+
<p>
|
| 105 |
+
<label for="<?php echo $this->get_field_id('padding_side'); ?>"><?php _e('Padding Side:') ?></label>
|
| 106 |
+
<input type="text" class="wc-shortcodes-widget-option widefat" id="<?php echo $this->get_field_id('padding_side'); ?>" name="<?php echo $this->get_field_name('padding_side'); ?>" value="<?php echo $o['padding_side']; ?>" />
|
| 107 |
+
<span class="wcs-description">Enter CSS unit value.</span>
|
| 108 |
+
</p>
|
| 109 |
+
<p>
|
| 110 |
+
<label for="<?php echo $this->get_field_id('class'); ?>"><?php _e('Class:') ?></label>
|
| 111 |
+
<input type="text" class="wc-shortcodes-widget-option widefat" id="<?php echo $this->get_field_id('class'); ?>" name="<?php echo $this->get_field_name('class'); ?>" value="<?php echo $o['class']; ?>" />
|
| 112 |
+
<span class="wcs-description">Enter class name for custom CSS styling.</span>
|
| 113 |
+
</p>
|
| 114 |
+
</div>
|
| 115 |
+
|
| 116 |
+
<script type="text/javascript">
|
| 117 |
+
/* <![CDATA[ */
|
| 118 |
+
jQuery(document).ready(function($){
|
| 119 |
+
$('.wc-shortcodes-range-input').on( 'input', function() {
|
| 120 |
+
var $this = $(this);
|
| 121 |
+
var id = $this.data('output');
|
| 122 |
+
if ( typeof id == 'string' ) {
|
| 123 |
+
var $output = $('#' + id);
|
| 124 |
+
console.log('#' + id);
|
| 125 |
+
if ( $output.length ) {
|
| 126 |
+
var val = $this.val();
|
| 127 |
+
console.log($output);
|
| 128 |
+
console.log(val);
|
| 129 |
+
$output.val( val );
|
| 130 |
+
}
|
| 131 |
+
}
|
| 132 |
+
});
|
| 133 |
+
});
|
| 134 |
+
/* ]]> */
|
| 135 |
+
</script>
|
| 136 |
+
<?php
|
| 137 |
+
}
|
| 138 |
+
}
|
readme.txt
CHANGED
|
@@ -113,6 +113,11 @@ See our help article on [how to manually upload a plugin](http://knowledgebase.a
|
|
| 113 |
|
| 114 |
== Changelog ==
|
| 115 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 116 |
= Version 3.36 =
|
| 117 |
|
| 118 |
* Added collage widget
|
| 113 |
|
| 114 |
== Changelog ==
|
| 115 |
|
| 116 |
+
= Version 3.37 =
|
| 117 |
+
|
| 118 |
+
* Added call to action.
|
| 119 |
+
* Added overflow hidden to collage wrapper.
|
| 120 |
+
|
| 121 |
= Version 3.36 =
|
| 122 |
|
| 123 |
* Added collage widget
|
wc-shortcodes.php
CHANGED
|
@@ -5,7 +5,7 @@ Plugin URI: http://angiemakes.com/feminine-wordpress-blog-themes-women/
|
|
| 5 |
Description: A plugin that adds a useful family of shortcodes to your WordPress theme.
|
| 6 |
Author: Chris Baldelomar
|
| 7 |
Author URI: http://angiemakes.com/
|
| 8 |
-
Version: 3.
|
| 9 |
License: GPLv2 or later
|
| 10 |
*/
|
| 11 |
|
| 5 |
Description: A plugin that adds a useful family of shortcodes to your WordPress theme.
|
| 6 |
Author: Chris Baldelomar
|
| 7 |
Author URI: http://angiemakes.com/
|
| 8 |
+
Version: 3.37
|
| 9 |
License: GPLv2 or later
|
| 10 |
*/
|
| 11 |
|
