Version Description
Download this release
Release Info
| Developer | cbaldelomar |
| Plugin | |
| Version | 3.29 |
| Comparing to | |
| See all releases | |
Code changes from version 3.28 to 3.29
- README.md +7 -0
- public/assets/css/style.css +24 -5
- public/assets/js/accordion.js +34 -10
- public/assets/js/tabs.js +4 -6
- public/assets/js/toggle.js +33 -2
- public/class-register.php +5 -3
- public/class-sanitize.php +41 -2
- public/class-vars.php +5 -2
- public/templates/borderless/content-excerpt.php +6 -0
- public/templates/borderless/content.php +6 -0
- public/templates/box/content-excerpt.php +6 -0
- public/templates/box/content.php +6 -0
- public/widgets/widget-post-slider.php +1 -0
- public/widgets/widget-posts.php +10 -0
- readme.txt +7 -0
- wc-shortcodes.php +1 -1
README.md
CHANGED
|
@@ -106,6 +106,13 @@ See our help article on [how to manually upload a plugin](http://knowledgebase.a
|
|
| 106 |
|
| 107 |
## Changelog ##
|
| 108 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 109 |
### Version 3.28 ###
|
| 110 |
|
| 111 |
* Added style format for image links
|
| 106 |
|
| 107 |
## Changelog ##
|
| 108 |
|
| 109 |
+
### Version 3.29 ###
|
| 110 |
+
|
| 111 |
+
* allowed sanitation of multiple pixel values
|
| 112 |
+
* added read more button to post shortcode
|
| 113 |
+
* updated sanitize for css_pixel
|
| 114 |
+
* updated accordion, toggle, and tabs, javascript
|
| 115 |
+
|
| 116 |
### Version 3.28 ###
|
| 117 |
|
| 118 |
* Added style format for image links
|
public/assets/css/style.css
CHANGED
|
@@ -69,11 +69,14 @@
|
|
| 69 |
.wc-shortcodes-accordion .wc-shortcodes-accordion-trigger:first-child {
|
| 70 |
margin-top: 0;
|
| 71 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 72 |
.wc-shortcodes-accordion .wc-shortcodes-accordion-content {
|
| 73 |
padding: 20px;
|
| 74 |
border: 1px solid #cccccc;
|
| 75 |
border-top: 0px;
|
| 76 |
-
display: none;
|
| 77 |
}
|
| 78 |
.wc-shortcodes-accordion.wc-shortcodes-accordion-layout-none .wc-shortcodes-accordion-content {
|
| 79 |
padding: 20px 0;
|
|
@@ -144,7 +147,6 @@
|
|
| 144 |
margin-top: 0;
|
| 145 |
}
|
| 146 |
.wc-shortcodes-toggle .wc-shortcodes-toggle-container {
|
| 147 |
-
display: none;
|
| 148 |
overflow: hidden;
|
| 149 |
padding: 20px;
|
| 150 |
border: 1px solid #cccccc;
|
|
@@ -157,6 +159,10 @@
|
|
| 157 |
.wc-shortcodes-toggle .wc-shortcodes-toggle-container *:last-child {
|
| 158 |
margin-bottom: 0
|
| 159 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 160 |
|
| 161 |
|
| 162 |
/**
|
|
@@ -200,7 +206,12 @@
|
|
| 200 |
border-left: solid 1px #cccccc;
|
| 201 |
border-right: solid 1px #cccccc;
|
| 202 |
border-bottom: solid 1px #cccccc;
|
| 203 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 204 |
}
|
| 205 |
.wc-shortcodes-tabs.wc-shortcodes-tabs-layout-none .tab-content {
|
| 206 |
padding: 20px 0;
|
|
@@ -1417,6 +1428,9 @@ pre.pre-wrap {
|
|
| 1417 |
.wc-shortcodes-post-content {
|
| 1418 |
padding: 0 20px;
|
| 1419 |
}
|
|
|
|
|
|
|
|
|
|
| 1420 |
.wc-shortcodes-post-border {
|
| 1421 |
border: 1px solid #dddddd;
|
| 1422 |
}
|
|
@@ -1426,7 +1440,7 @@ pre.pre-wrap {
|
|
| 1426 |
}
|
| 1427 |
.wc-shortcodes-entry-title {
|
| 1428 |
margin-top: 20px;
|
| 1429 |
-
margin-bottom:
|
| 1430 |
-ms-word-wrap: break-word;
|
| 1431 |
word-wrap: break-word;
|
| 1432 |
}
|
|
@@ -1435,12 +1449,17 @@ pre.pre-wrap {
|
|
| 1435 |
margin-bottom: 0;
|
| 1436 |
}
|
| 1437 |
.wc-shortcodes-entry-meta-inner {
|
| 1438 |
-
margin-bottom: 20px;
|
| 1439 |
}
|
| 1440 |
.wc-shortcodes-entry-summary {
|
| 1441 |
margin-top: 20px;
|
| 1442 |
margin-bottom: 0;
|
| 1443 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1444 |
.wc-shortcodes-entry-quote blockquote {
|
| 1445 |
margin-top: 0;
|
| 1446 |
padding: 10px 20px;
|
| 69 |
.wc-shortcodes-accordion .wc-shortcodes-accordion-trigger:first-child {
|
| 70 |
margin-top: 0;
|
| 71 |
}
|
| 72 |
+
.wc-shortcodes-accordion .wc-shortcodes-accordion-content-wrapper {
|
| 73 |
+
overflow: hidden;
|
| 74 |
+
height: 0;
|
| 75 |
+
}
|
| 76 |
.wc-shortcodes-accordion .wc-shortcodes-accordion-content {
|
| 77 |
padding: 20px;
|
| 78 |
border: 1px solid #cccccc;
|
| 79 |
border-top: 0px;
|
|
|
|
| 80 |
}
|
| 81 |
.wc-shortcodes-accordion.wc-shortcodes-accordion-layout-none .wc-shortcodes-accordion-content {
|
| 82 |
padding: 20px 0;
|
| 147 |
margin-top: 0;
|
| 148 |
}
|
| 149 |
.wc-shortcodes-toggle .wc-shortcodes-toggle-container {
|
|
|
|
| 150 |
overflow: hidden;
|
| 151 |
padding: 20px;
|
| 152 |
border: 1px solid #cccccc;
|
| 159 |
.wc-shortcodes-toggle .wc-shortcodes-toggle-container *:last-child {
|
| 160 |
margin-bottom: 0
|
| 161 |
}
|
| 162 |
+
.wc-shortcodes-toggle .wc-shortcodes-toggle-content-wrapper {
|
| 163 |
+
overflow: hidden;
|
| 164 |
+
height: 0;
|
| 165 |
+
}
|
| 166 |
|
| 167 |
|
| 168 |
/**
|
| 206 |
border-left: solid 1px #cccccc;
|
| 207 |
border-right: solid 1px #cccccc;
|
| 208 |
border-bottom: solid 1px #cccccc;
|
| 209 |
+
}
|
| 210 |
+
.wc-shortcodes-tabs .tab-content-wrapper {
|
| 211 |
+
overflow: hidden;
|
| 212 |
+
}
|
| 213 |
+
.wc-shortcodes-tabs .tab-content-wrapper.tab-content-hide {
|
| 214 |
+
height: 0;
|
| 215 |
}
|
| 216 |
.wc-shortcodes-tabs.wc-shortcodes-tabs-layout-none .tab-content {
|
| 217 |
padding: 20px 0;
|
| 1428 |
.wc-shortcodes-post-content {
|
| 1429 |
padding: 0 20px;
|
| 1430 |
}
|
| 1431 |
+
.wc-shortcodes-post-content > *:last-child {
|
| 1432 |
+
margin-bottom: 20px;
|
| 1433 |
+
}
|
| 1434 |
.wc-shortcodes-post-border {
|
| 1435 |
border: 1px solid #dddddd;
|
| 1436 |
}
|
| 1440 |
}
|
| 1441 |
.wc-shortcodes-entry-title {
|
| 1442 |
margin-top: 20px;
|
| 1443 |
+
margin-bottom: 0;
|
| 1444 |
-ms-word-wrap: break-word;
|
| 1445 |
word-wrap: break-word;
|
| 1446 |
}
|
| 1449 |
margin-bottom: 0;
|
| 1450 |
}
|
| 1451 |
.wc-shortcodes-entry-meta-inner {
|
| 1452 |
+
/* margin-bottom: 20px; */
|
| 1453 |
}
|
| 1454 |
.wc-shortcodes-entry-summary {
|
| 1455 |
margin-top: 20px;
|
| 1456 |
margin-bottom: 0;
|
| 1457 |
}
|
| 1458 |
+
.wc-shortcodes-read-more {
|
| 1459 |
+
margin-top: 20px;
|
| 1460 |
+
margin-bottom: 0;
|
| 1461 |
+
text-align: center;
|
| 1462 |
+
}
|
| 1463 |
.wc-shortcodes-entry-quote blockquote {
|
| 1464 |
margin-top: 0;
|
| 1465 |
padding: 10px 20px;
|
public/assets/js/accordion.js
CHANGED
|
@@ -1,11 +1,30 @@
|
|
| 1 |
( function( $ ) {
|
| 2 |
"use strict";
|
| 3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
$(document).ready(function(){
|
| 5 |
$('.wc-shortcodes-accordion').each( function() {
|
| 6 |
var $accordion = $(this);
|
| 7 |
var $trigger = $accordion.find('.wc-shortcodes-accordion-trigger');
|
| 8 |
-
var $content = $accordion.find('.wc-shortcodes-accordion-content');
|
| 9 |
|
| 10 |
var startState = $accordion.data('startState');
|
| 11 |
var behavior = $accordion.data('behavior');
|
|
@@ -14,8 +33,8 @@
|
|
| 14 |
// nothing, leave hidden
|
| 15 |
}
|
| 16 |
else {
|
| 17 |
-
$content.first().show();
|
| 18 |
$trigger.first().addClass('wc-shortcodes-accordion-header-active');
|
|
|
|
| 19 |
}
|
| 20 |
|
| 21 |
$trigger.click(function( event ){
|
|
@@ -23,29 +42,34 @@
|
|
| 23 |
|
| 24 |
var $this = $(this);
|
| 25 |
var $next = $this.next();
|
|
|
|
| 26 |
|
| 27 |
if ( 'autoclose' == behavior ) {
|
| 28 |
$trigger.removeClass('wc-shortcodes-accordion-header-active');
|
| 29 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 30 |
$this.addClass('wc-shortcodes-accordion-header-active');
|
| 31 |
}
|
| 32 |
|
| 33 |
-
$next.slideToggle('fast');
|
| 34 |
-
$content.not($next).slideUp('fast');
|
| 35 |
}
|
| 36 |
else {
|
| 37 |
-
if ( $next
|
| 38 |
$this.addClass('wc-shortcodes-accordion-header-active');
|
| 39 |
-
$next.
|
|
|
|
| 40 |
}
|
| 41 |
else {
|
| 42 |
$this.removeClass('wc-shortcodes-accordion-header-active');
|
| 43 |
-
$next.
|
| 44 |
}
|
| 45 |
}
|
| 46 |
|
| 47 |
-
$( document.body ).trigger( 'wcs-toggled' );
|
| 48 |
-
|
| 49 |
return false;
|
| 50 |
});
|
| 51 |
});
|
| 1 |
( function( $ ) {
|
| 2 |
"use strict";
|
| 3 |
|
| 4 |
+
function get_height( $el ) {
|
| 5 |
+
var height;
|
| 6 |
+
height = $el.outerHeight();
|
| 7 |
+
|
| 8 |
+
if ( height > 0 ) {
|
| 9 |
+
height += "px";
|
| 10 |
+
return height;
|
| 11 |
+
}
|
| 12 |
+
|
| 13 |
+
return 0;
|
| 14 |
+
}
|
| 15 |
+
function is_hidden( $el ) {
|
| 16 |
+
var height = $el.outerHeight();
|
| 17 |
+
if ( 0 == height )
|
| 18 |
+
return true;
|
| 19 |
+
|
| 20 |
+
return false;
|
| 21 |
+
}
|
| 22 |
+
|
| 23 |
$(document).ready(function(){
|
| 24 |
$('.wc-shortcodes-accordion').each( function() {
|
| 25 |
var $accordion = $(this);
|
| 26 |
var $trigger = $accordion.find('.wc-shortcodes-accordion-trigger');
|
| 27 |
+
var $content = $accordion.find('.wc-shortcodes-accordion-content-wrapper');
|
| 28 |
|
| 29 |
var startState = $accordion.data('startState');
|
| 30 |
var behavior = $accordion.data('behavior');
|
| 33 |
// nothing, leave hidden
|
| 34 |
}
|
| 35 |
else {
|
|
|
|
| 36 |
$trigger.first().addClass('wc-shortcodes-accordion-header-active');
|
| 37 |
+
$content.first().css('height','auto');
|
| 38 |
}
|
| 39 |
|
| 40 |
$trigger.click(function( event ){
|
| 42 |
|
| 43 |
var $this = $(this);
|
| 44 |
var $next = $this.next();
|
| 45 |
+
var height = 0;
|
| 46 |
|
| 47 |
if ( 'autoclose' == behavior ) {
|
| 48 |
$trigger.removeClass('wc-shortcodes-accordion-header-active');
|
| 49 |
+
|
| 50 |
+
if ( is_hidden( $next ) ) {
|
| 51 |
+
$this.addClass('wc-shortcodes-accordion-header-active');
|
| 52 |
+
height = get_height( $next.children() );
|
| 53 |
+
$next.animate({height:height},'fast','linear',function() {$(this).css('height','auto')});
|
| 54 |
+
$content.not($next).animate({height:0},'fast','linear');
|
| 55 |
+
}
|
| 56 |
+
else {
|
| 57 |
$this.addClass('wc-shortcodes-accordion-header-active');
|
| 58 |
}
|
| 59 |
|
|
|
|
|
|
|
| 60 |
}
|
| 61 |
else {
|
| 62 |
+
if ( is_hidden( $next ) ) {
|
| 63 |
$this.addClass('wc-shortcodes-accordion-header-active');
|
| 64 |
+
height = get_height( $next.children() );
|
| 65 |
+
$next.animate({height:height},'fast','linear',function() {$(this).css('height','auto')});
|
| 66 |
}
|
| 67 |
else {
|
| 68 |
$this.removeClass('wc-shortcodes-accordion-header-active');
|
| 69 |
+
$next.animate({height:0},'fast','linear');
|
| 70 |
}
|
| 71 |
}
|
| 72 |
|
|
|
|
|
|
|
| 73 |
return false;
|
| 74 |
});
|
| 75 |
});
|
public/assets/js/tabs.js
CHANGED
|
@@ -5,9 +5,9 @@
|
|
| 5 |
$('.wc-shortcodes-tabs').each( function() {
|
| 6 |
var $tabs = $(this);
|
| 7 |
var $trigger = $tabs.find('.wcs-tabs-nav li a');
|
| 8 |
-
var $content = $tabs.find('.tab-content');
|
| 9 |
|
| 10 |
-
$content.first().
|
| 11 |
$trigger.first().parent().addClass('wcs-state-active');
|
| 12 |
|
| 13 |
$trigger.click(function( event ){
|
|
@@ -20,11 +20,9 @@
|
|
| 20 |
$trigger.parent().removeClass('wcs-state-active');
|
| 21 |
$this.parent().addClass('wcs-state-active');
|
| 22 |
|
| 23 |
-
$target.
|
| 24 |
-
$content.not($target).hide
|
| 25 |
|
| 26 |
-
$( document.body ).trigger( 'wcs-toggled' );
|
| 27 |
-
|
| 28 |
return false;
|
| 29 |
});
|
| 30 |
});
|
| 5 |
$('.wc-shortcodes-tabs').each( function() {
|
| 6 |
var $tabs = $(this);
|
| 7 |
var $trigger = $tabs.find('.wcs-tabs-nav li a');
|
| 8 |
+
var $content = $tabs.find('.tab-content-wrapper');
|
| 9 |
|
| 10 |
+
$content.first().removeClass('tab-content-hide');
|
| 11 |
$trigger.first().parent().addClass('wcs-state-active');
|
| 12 |
|
| 13 |
$trigger.click(function( event ){
|
| 20 |
$trigger.parent().removeClass('wcs-state-active');
|
| 21 |
$this.parent().addClass('wcs-state-active');
|
| 22 |
|
| 23 |
+
$target.removeClass('tab-content-hide');
|
| 24 |
+
$content.not($target).addClass('tab-content-hide');
|
| 25 |
|
|
|
|
|
|
|
| 26 |
return false;
|
| 27 |
});
|
| 28 |
});
|
public/assets/js/toggle.js
CHANGED
|
@@ -1,10 +1,41 @@
|
|
| 1 |
jQuery(function($){
|
| 2 |
"use strict";
|
| 3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
$(document).ready(function(){
|
| 5 |
$(".wc-shortcodes-toggle-trigger").click(function(){
|
| 6 |
-
$(this)
|
| 7 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
return false;
|
| 9 |
});
|
| 10 |
});
|
| 1 |
jQuery(function($){
|
| 2 |
"use strict";
|
| 3 |
|
| 4 |
+
function get_height( $el ) {
|
| 5 |
+
var height;
|
| 6 |
+
height = $el.outerHeight();
|
| 7 |
+
|
| 8 |
+
if ( height > 0 ) {
|
| 9 |
+
height += "px";
|
| 10 |
+
return height;
|
| 11 |
+
}
|
| 12 |
+
|
| 13 |
+
return 0;
|
| 14 |
+
}
|
| 15 |
+
function is_hidden( $el ) {
|
| 16 |
+
var height = $el.outerHeight();
|
| 17 |
+
if ( 0 == height )
|
| 18 |
+
return true;
|
| 19 |
+
|
| 20 |
+
return false;
|
| 21 |
+
}
|
| 22 |
+
|
| 23 |
$(document).ready(function(){
|
| 24 |
$(".wc-shortcodes-toggle-trigger").click(function(){
|
| 25 |
+
var $this = $(this);
|
| 26 |
+
var $next = $this.next();
|
| 27 |
+
var height = 0;
|
| 28 |
+
|
| 29 |
+
$this.toggleClass('active');
|
| 30 |
+
|
| 31 |
+
if ( is_hidden( $next ) ) {
|
| 32 |
+
height = get_height( $next.children() );
|
| 33 |
+
$next.animate({height:height},'fast','linear',function() {$(this).css('height','auto')});
|
| 34 |
+
}
|
| 35 |
+
else {
|
| 36 |
+
$next.animate({height:0},'fast','linear');
|
| 37 |
+
}
|
| 38 |
+
|
| 39 |
return false;
|
| 40 |
});
|
| 41 |
});
|
public/class-register.php
CHANGED
|
@@ -684,7 +684,7 @@ class WPC_Shortcodes_Register extends WPC_Shortcodes_Vars {
|
|
| 684 |
wp_enqueue_script('wc-shortcodes-toggle');
|
| 685 |
|
| 686 |
// Display the Toggle
|
| 687 |
-
return '<div class="'. esc_attr( $class ) .'"><div class="wc-shortcodes-toggle-trigger"><a href="#">'. esc_html( $atts['title'] ) .'</a></div><div style="'.esc_attr( $style ).'" class="wc-shortcodes-toggle-container wc-shortcodes-content">' . do_shortcode($content) . '</div></div>';
|
| 688 |
}
|
| 689 |
|
| 690 |
|
|
@@ -740,7 +740,7 @@ class WPC_Shortcodes_Register extends WPC_Shortcodes_Vars {
|
|
| 740 |
$atts = shortcode_atts( parent::$attr->accordion_section, $atts );
|
| 741 |
$atts = WPC_Shortcodes_Sanitize::accordion_section_attr( $atts );
|
| 742 |
|
| 743 |
-
return '<div class="wc-shortcodes-accordion-trigger '. esc_attr( $atts['class'] ) .'"><a href="#">'. esc_html( $atts['title'] ) .'</a></div><div class="wc-shortcodes-accordion-content wc-shortcodes-content">' . do_shortcode($content) . '</div>';
|
| 744 |
}
|
| 745 |
|
| 746 |
|
|
@@ -805,7 +805,7 @@ class WPC_Shortcodes_Register extends WPC_Shortcodes_Vars {
|
|
| 805 |
|
| 806 |
$class = implode( ' ', $classes );
|
| 807 |
|
| 808 |
-
return '<div id="wc-shortcodes-tab-'. sanitize_title( $atts['title'] ) .'" class="'. esc_attr( $class ) .'">'. do_shortcode( $content ) .'</div>';
|
| 809 |
}
|
| 810 |
|
| 811 |
|
|
@@ -1112,6 +1112,8 @@ class WPC_Shortcodes_Register extends WPC_Shortcodes_Vars {
|
|
| 1112 |
'show_thumbnail',
|
| 1113 |
'show_content',
|
| 1114 |
'show_paging',
|
|
|
|
|
|
|
| 1115 |
'size',
|
| 1116 |
'filtering',
|
| 1117 |
'columns',
|
| 684 |
wp_enqueue_script('wc-shortcodes-toggle');
|
| 685 |
|
| 686 |
// Display the Toggle
|
| 687 |
+
return '<div class="'. esc_attr( $class ) .'"><div class="wc-shortcodes-toggle-trigger"><a href="#">'. esc_html( $atts['title'] ) .'</a></div><div class="wc-shortcodes-toggle-content-wrapper"><div style="'.esc_attr( $style ).'" class="wc-shortcodes-toggle-container wc-shortcodes-content">' . do_shortcode($content) . '</div></div></div>';
|
| 688 |
}
|
| 689 |
|
| 690 |
|
| 740 |
$atts = shortcode_atts( parent::$attr->accordion_section, $atts );
|
| 741 |
$atts = WPC_Shortcodes_Sanitize::accordion_section_attr( $atts );
|
| 742 |
|
| 743 |
+
return '<div class="wc-shortcodes-accordion-trigger '. esc_attr( $atts['class'] ) .'"><a href="#">'. esc_html( $atts['title'] ) .'</a></div><div class="wc-shortcodes-accordion-content-wrapper"><div class="wc-shortcodes-accordion-content wc-shortcodes-content">' . do_shortcode($content) . '</div></div>';
|
| 744 |
}
|
| 745 |
|
| 746 |
|
| 805 |
|
| 806 |
$class = implode( ' ', $classes );
|
| 807 |
|
| 808 |
+
return '<div class="tab-content-wrapper tab-content-hide"><div id="wc-shortcodes-tab-'. sanitize_title( $atts['title'] ) .'" class="'. esc_attr( $class ) .'">'. do_shortcode( $content ) .'</div></div>';
|
| 809 |
}
|
| 810 |
|
| 811 |
|
| 1112 |
'show_thumbnail',
|
| 1113 |
'show_content',
|
| 1114 |
'show_paging',
|
| 1115 |
+
'readmore',
|
| 1116 |
+
'button_class',
|
| 1117 |
'size',
|
| 1118 |
'filtering',
|
| 1119 |
'columns',
|
public/class-sanitize.php
CHANGED
|
@@ -124,6 +124,41 @@ class WPC_Shortcodes_Sanitize {
|
|
| 124 |
return $value."px";
|
| 125 |
}
|
| 126 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 127 |
public static function css_unit( $value, $css_unit = 'px' ) {
|
| 128 |
if ( '' == $value )
|
| 129 |
return $value;
|
|
@@ -139,7 +174,7 @@ class WPC_Shortcodes_Sanitize {
|
|
| 139 |
$value = filter_var( $value, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION );
|
| 140 |
|
| 141 |
if ( empty( $value ) )
|
| 142 |
-
|
| 143 |
|
| 144 |
return $value . $css_unit;
|
| 145 |
}
|
|
@@ -491,7 +526,7 @@ class WPC_Shortcodes_Sanitize {
|
|
| 491 |
$atts[ $key ] = self::html_classes( $value );
|
| 492 |
break;
|
| 493 |
case 'padding' :
|
| 494 |
-
$atts[ $key ] = self::
|
| 495 |
break;
|
| 496 |
case 'border_width' :
|
| 497 |
$atts[ $key ] = self::css_unit( $value );
|
|
@@ -1214,6 +1249,9 @@ class WPC_Shortcodes_Sanitize {
|
|
| 1214 |
$atts['heading_type'] = in_array( $atts['heading_type'], $valid_headings ) ? $atts['heading_type'] : 'h2';
|
| 1215 |
|
| 1216 |
// sanitize inputs
|
|
|
|
|
|
|
|
|
|
| 1217 |
$atts['terms'] = sanitize_text_field( $atts['terms'] );
|
| 1218 |
$atts['pids'] = sanitize_text_field( $atts['pids'] );
|
| 1219 |
$atts['post__in'] = sanitize_text_field( $atts['post__in'] );
|
|
@@ -1297,6 +1335,7 @@ class WPC_Shortcodes_Sanitize {
|
|
| 1297 |
// sanitize inputs
|
| 1298 |
$atts['button_class'] = self::html_classes( $atts['button_class'] );
|
| 1299 |
$atts['button_class'] = empty( $atts['button_class'] ) ? 'wc-shortcodes-post-slide-button' : $atts['button_class'];
|
|
|
|
| 1300 |
$atts['terms'] = sanitize_text_field( $atts['terms'] );
|
| 1301 |
$atts['pids'] = sanitize_text_field( $atts['pids'] );
|
| 1302 |
$atts['post__in'] = sanitize_text_field( $atts['post__in'] );
|
| 124 |
return $value."px";
|
| 125 |
}
|
| 126 |
|
| 127 |
+
public static function css_units( $value, $css_unit = 'px' ) {
|
| 128 |
+
if ( '' == $value )
|
| 129 |
+
return $value;
|
| 130 |
+
|
| 131 |
+
$value = trim( $value );
|
| 132 |
+
|
| 133 |
+
if ( 0 == $value )
|
| 134 |
+
return $value;
|
| 135 |
+
|
| 136 |
+
$values = explode( ' ', $value );
|
| 137 |
+
$clean = array();
|
| 138 |
+
|
| 139 |
+
foreach ( $values as $value ) {
|
| 140 |
+
if ( preg_match( '/(px|em|rem)$/', $value, $match ) ) {
|
| 141 |
+
$css_unit = $match[1];
|
| 142 |
+
}
|
| 143 |
+
$value = filter_var( $value, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION );
|
| 144 |
+
|
| 145 |
+
if ( empty( $value ) ) {
|
| 146 |
+
$value = '0';
|
| 147 |
+
}
|
| 148 |
+
else {
|
| 149 |
+
$value = $value . $css_unit;
|
| 150 |
+
}
|
| 151 |
+
|
| 152 |
+
$clean[] = $value;
|
| 153 |
+
}
|
| 154 |
+
|
| 155 |
+
if ( empty( $clean ) ) {
|
| 156 |
+
return '';
|
| 157 |
+
}
|
| 158 |
+
|
| 159 |
+
return implode( ' ', $clean );
|
| 160 |
+
}
|
| 161 |
+
|
| 162 |
public static function css_unit( $value, $css_unit = 'px' ) {
|
| 163 |
if ( '' == $value )
|
| 164 |
return $value;
|
| 174 |
$value = filter_var( $value, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION );
|
| 175 |
|
| 176 |
if ( empty( $value ) )
|
| 177 |
+
return 0;
|
| 178 |
|
| 179 |
return $value . $css_unit;
|
| 180 |
}
|
| 526 |
$atts[ $key ] = self::html_classes( $value );
|
| 527 |
break;
|
| 528 |
case 'padding' :
|
| 529 |
+
$atts[ $key ] = self::css_units( $value );
|
| 530 |
break;
|
| 531 |
case 'border_width' :
|
| 532 |
$atts[ $key ] = self::css_unit( $value );
|
| 1249 |
$atts['heading_type'] = in_array( $atts['heading_type'], $valid_headings ) ? $atts['heading_type'] : 'h2';
|
| 1250 |
|
| 1251 |
// sanitize inputs
|
| 1252 |
+
$atts['button_class'] = self::html_classes( $atts['button_class'] );
|
| 1253 |
+
$atts['button_class'] = empty( $atts['button_class'] ) ? 'wc-shortcodes-post-button' : $atts['button_class'];
|
| 1254 |
+
$atts['readmore'] = sanitize_text_field( $atts['readmore'] );
|
| 1255 |
$atts['terms'] = sanitize_text_field( $atts['terms'] );
|
| 1256 |
$atts['pids'] = sanitize_text_field( $atts['pids'] );
|
| 1257 |
$atts['post__in'] = sanitize_text_field( $atts['post__in'] );
|
| 1335 |
// sanitize inputs
|
| 1336 |
$atts['button_class'] = self::html_classes( $atts['button_class'] );
|
| 1337 |
$atts['button_class'] = empty( $atts['button_class'] ) ? 'wc-shortcodes-post-slide-button' : $atts['button_class'];
|
| 1338 |
+
$atts['readmore'] = sanitize_text_field( $atts['readmore'] );
|
| 1339 |
$atts['terms'] = sanitize_text_field( $atts['terms'] );
|
| 1340 |
$atts['pids'] = sanitize_text_field( $atts['pids'] );
|
| 1341 |
$atts['post__in'] = sanitize_text_field( $atts['post__in'] );
|
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 |
/**
|
|
@@ -423,6 +423,9 @@ class WPC_Shortcodes_Vars {
|
|
| 423 |
'show_content' => 1, // show main content?
|
| 424 |
'show_paging' => 1, // show pagination navigation?
|
| 425 |
|
|
|
|
|
|
|
|
|
|
| 426 |
'size' => 'large', // default thumbnail size
|
| 427 |
|
| 428 |
'filtering' => 1, // insert isotope filter navigation
|
|
@@ -455,7 +458,7 @@ class WPC_Shortcodes_Vars {
|
|
| 455 |
'show_meta_category' => 1, // show heading?
|
| 456 |
'show_title' => 1, // show heading?
|
| 457 |
'show_content' => 1, // show main content?
|
| 458 |
-
'readmore' => 'Continue Reading', // show
|
| 459 |
'button_class' => 'button secondary-button', // show main content?
|
| 460 |
|
| 461 |
'size' => 'full', // default thumbnail size
|
| 8 |
*
|
| 9 |
* @var string
|
| 10 |
*/
|
| 11 |
+
const VERSION = '3.29';
|
| 12 |
const DB_VERSION = '1.0';
|
| 13 |
|
| 14 |
/**
|
| 423 |
'show_content' => 1, // show main content?
|
| 424 |
'show_paging' => 1, // show pagination navigation?
|
| 425 |
|
| 426 |
+
'readmore' => '', // show read more button?
|
| 427 |
+
'button_class' => 'button', // show main content?
|
| 428 |
+
|
| 429 |
'size' => 'large', // default thumbnail size
|
| 430 |
|
| 431 |
'filtering' => 1, // insert isotope filter navigation
|
| 458 |
'show_meta_category' => 1, // show heading?
|
| 459 |
'show_title' => 1, // show heading?
|
| 460 |
'show_content' => 1, // show main content?
|
| 461 |
+
'readmore' => 'Continue Reading', // show read more button?
|
| 462 |
'button_class' => 'button secondary-button', // show main content?
|
| 463 |
|
| 464 |
'size' => 'full', // default thumbnail size
|
public/templates/borderless/content-excerpt.php
CHANGED
|
@@ -17,6 +17,12 @@
|
|
| 17 |
<?php wc_shortcodes_the_excerpt(); ?>
|
| 18 |
<?php endif; ?>
|
| 19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
<?php include('entry-meta.php'); ?>
|
| 21 |
|
| 22 |
</div><!-- .wc-shortcodes-post-border -->
|
| 17 |
<?php wc_shortcodes_the_excerpt(); ?>
|
| 18 |
<?php endif; ?>
|
| 19 |
|
| 20 |
+
<?php if ( $display['readmore'] ) : ?>
|
| 21 |
+
<div class="wc-shortcodes-read-more">
|
| 22 |
+
<a class="<?php echo esc_attr( $display['button_class'] ); ?>" href="<?php the_permalink(); ?>"><?php echo $display['readmore']; ?></a>
|
| 23 |
+
</div><!-- .entry-summary -->
|
| 24 |
+
<?php endif; ?>
|
| 25 |
+
|
| 26 |
<?php include('entry-meta.php'); ?>
|
| 27 |
|
| 28 |
</div><!-- .wc-shortcodes-post-border -->
|
public/templates/borderless/content.php
CHANGED
|
@@ -17,6 +17,12 @@
|
|
| 17 |
<?php wc_shortcodes_the_excerpt(); ?>
|
| 18 |
<?php endif; ?>
|
| 19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
<?php include('entry-meta.php'); ?>
|
| 21 |
|
| 22 |
</div><!-- .wc-shortcodes-post-border -->
|
| 17 |
<?php wc_shortcodes_the_excerpt(); ?>
|
| 18 |
<?php endif; ?>
|
| 19 |
|
| 20 |
+
<?php if ( $display['readmore'] ) : ?>
|
| 21 |
+
<div class="wc-shortcodes-read-more">
|
| 22 |
+
<a class="<?php echo esc_attr( $display['button_class'] ); ?>" href="<?php the_permalink(); ?>"><?php echo $display['readmore']; ?></a>
|
| 23 |
+
</div><!-- .entry-summary -->
|
| 24 |
+
<?php endif; ?>
|
| 25 |
+
|
| 26 |
<?php include('entry-meta.php'); ?>
|
| 27 |
|
| 28 |
</div><!-- .wc-shortcodes-post-border -->
|
public/templates/box/content-excerpt.php
CHANGED
|
@@ -22,6 +22,12 @@
|
|
| 22 |
</div><!-- .entry-summary -->
|
| 23 |
<?php endif; ?>
|
| 24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
<?php include('entry-meta.php'); ?>
|
| 26 |
|
| 27 |
</div><!-- .wc-shortcodes-post-content -->
|
| 22 |
</div><!-- .entry-summary -->
|
| 23 |
<?php endif; ?>
|
| 24 |
|
| 25 |
+
<?php if ( $display['readmore'] ) : ?>
|
| 26 |
+
<div class="wc-shortcodes-read-more">
|
| 27 |
+
<a class="<?php echo esc_attr( $display['button_class'] ); ?>" href="<?php the_permalink(); ?>"><?php echo $display['readmore']; ?></a>
|
| 28 |
+
</div><!-- .entry-summary -->
|
| 29 |
+
<?php endif; ?>
|
| 30 |
+
|
| 31 |
<?php include('entry-meta.php'); ?>
|
| 32 |
|
| 33 |
</div><!-- .wc-shortcodes-post-content -->
|
public/templates/box/content.php
CHANGED
|
@@ -22,6 +22,12 @@
|
|
| 22 |
</div><!-- .entry-summary -->
|
| 23 |
<?php endif; ?>
|
| 24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
<?php include('entry-meta.php'); ?>
|
| 26 |
|
| 27 |
</div><!-- .wc-shortcodes-post-content -->
|
| 22 |
</div><!-- .entry-summary -->
|
| 23 |
<?php endif; ?>
|
| 24 |
|
| 25 |
+
<?php if ( $display['readmore'] ) : ?>
|
| 26 |
+
<div class="wc-shortcodes-read-more">
|
| 27 |
+
<a class="<?php echo esc_attr( $display['button_class'] ); ?>" href="<?php the_permalink(); ?>"><?php echo $display['readmore']; ?></a>
|
| 28 |
+
</div><!-- .entry-summary -->
|
| 29 |
+
<?php endif; ?>
|
| 30 |
+
|
| 31 |
<?php include('entry-meta.php'); ?>
|
| 32 |
|
| 33 |
</div><!-- .wc-shortcodes-post-content -->
|
public/widgets/widget-post-slider.php
CHANGED
|
@@ -126,6 +126,7 @@ class WPC_Shortcodes_Widget_Post_Slider extends WP_Widget {
|
|
| 126 |
<p>
|
| 127 |
<label for="<?php echo $this->get_field_id('readmore'); ?>"><?php _e('Read More Text:') ?></label>
|
| 128 |
<input type="text" class="wc-shortcodes-widget-option widefat" id="<?php echo $this->get_field_id('readmore'); ?>" name="<?php echo $this->get_field_name('readmore'); ?>" value="<?php echo $o['readmore']; ?>" />
|
|
|
|
| 129 |
</p>
|
| 130 |
<p>
|
| 131 |
<label for="<?php echo $this->get_field_id('button_class'); ?>"><?php _e('Button Class:') ?></label>
|
| 126 |
<p>
|
| 127 |
<label for="<?php echo $this->get_field_id('readmore'); ?>"><?php _e('Read More Text:') ?></label>
|
| 128 |
<input type="text" class="wc-shortcodes-widget-option widefat" id="<?php echo $this->get_field_id('readmore'); ?>" name="<?php echo $this->get_field_name('readmore'); ?>" value="<?php echo $o['readmore']; ?>" />
|
| 129 |
+
<span class="wcs-description">Enter button text. Leave blank if you do not want a button.</span>
|
| 130 |
</p>
|
| 131 |
<p>
|
| 132 |
<label for="<?php echo $this->get_field_id('button_class'); ?>"><?php _e('Button Class:') ?></label>
|
public/widgets/widget-posts.php
CHANGED
|
@@ -112,6 +112,16 @@ class WPC_Shortcodes_Widget_Posts extends WPC_Shortcodes_Widget_Base {
|
|
| 112 |
<input type="checkbox" class="wc-shortcodes-widget-option checkbox" id="<?php echo $this->get_field_id('show_paging'); ?>" name="<?php echo $this->get_field_name('show_paging'); ?>" value="1" <?php checked( $o['show_paging'], 1 ); ?> />
|
| 113 |
<label for="<?php echo $this->get_field_id('show_paging'); ?>"><?php _e('Show Paging') ?></label>
|
| 114 |
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 115 |
<p>
|
| 116 |
<label for="<?php echo $this->get_field_id('size'); ?>"><?php _e('Image Size:'); ?></label>
|
| 117 |
<select class="wc-shortcodes-widget-option" id="<?php echo $this->get_field_id('size'); ?>" name="<?php echo $this->get_field_name('size'); ?>">
|
| 112 |
<input type="checkbox" class="wc-shortcodes-widget-option checkbox" id="<?php echo $this->get_field_id('show_paging'); ?>" name="<?php echo $this->get_field_name('show_paging'); ?>" value="1" <?php checked( $o['show_paging'], 1 ); ?> />
|
| 113 |
<label for="<?php echo $this->get_field_id('show_paging'); ?>"><?php _e('Show Paging') ?></label>
|
| 114 |
</p>
|
| 115 |
+
<p>
|
| 116 |
+
<label for="<?php echo $this->get_field_id('readmore'); ?>"><?php _e('Read More Text:') ?></label>
|
| 117 |
+
<input type="text" class="wc-shortcodes-widget-option widefat" id="<?php echo $this->get_field_id('readmore'); ?>" name="<?php echo $this->get_field_name('readmore'); ?>" value="<?php echo $o['readmore']; ?>" />
|
| 118 |
+
<span class="wcs-description">Enter button text. Leave blank if you do not want a button.</span>
|
| 119 |
+
</p>
|
| 120 |
+
<p>
|
| 121 |
+
<label for="<?php echo $this->get_field_id('button_class'); ?>"><?php _e('Button Class:') ?></label>
|
| 122 |
+
<input type="text" class="wc-shortcodes-widget-option widefat" id="<?php echo $this->get_field_id('button_class'); ?>" name="<?php echo $this->get_field_name('button_class'); ?>" value="<?php echo $o['button_class']; ?>" />
|
| 123 |
+
<span class="wcs-description">Enter class name for custom CSS styling.</span>
|
| 124 |
+
</p>
|
| 125 |
<p>
|
| 126 |
<label for="<?php echo $this->get_field_id('size'); ?>"><?php _e('Image Size:'); ?></label>
|
| 127 |
<select class="wc-shortcodes-widget-option" id="<?php echo $this->get_field_id('size'); ?>" name="<?php echo $this->get_field_name('size'); ?>">
|
readme.txt
CHANGED
|
@@ -113,6 +113,13 @@ See our help article on [how to manually upload a plugin](http://knowledgebase.a
|
|
| 113 |
|
| 114 |
== Changelog ==
|
| 115 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 116 |
= Version 3.28 =
|
| 117 |
|
| 118 |
* Added style format for image links
|
| 113 |
|
| 114 |
== Changelog ==
|
| 115 |
|
| 116 |
+
= Version 3.29 =
|
| 117 |
+
|
| 118 |
+
* allowed sanitation of multiple pixel values
|
| 119 |
+
* added read more button to post shortcode
|
| 120 |
+
* updated sanitize for css_pixel
|
| 121 |
+
* updated accordion, toggle, and tabs, javascript
|
| 122 |
+
|
| 123 |
= Version 3.28 =
|
| 124 |
|
| 125 |
* Added style format for image links
|
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.29
|
| 9 |
License: GPLv2 or later
|
| 10 |
*/
|
| 11 |
|
