Version Description
Download this release
Release Info
Developer | gn_themes |
Plugin | Shortcodes Ultimate |
Version | 5.9.0 |
Comparing to | |
See all releases |
Code changes from version 5.8.1 to 5.9.0
- admin/css/generator.css +1 -1
- admin/images/shortcodes/display-posts.svg +1 -0
- changelog.txt +702 -0
- credits.txt +13 -0
- inc/core/generator-views.php +3 -1
- includes/config/addons.php +1 -1
- includes/config/animations.php +1 -1
- includes/config/borders.php +1 -1
- includes/config/crop-ratios.php +1 -1
- includes/config/default-settings.php +1 -1
- includes/config/groups.php +1 -1
- includes/config/icons.php +1 -1
- includes/config/supported-blocks.php +1 -1
- includes/css/shortcodes.css +1 -1
- includes/css/shortcodes.full.css +140 -0
- includes/functions-galleries.php +270 -230
- includes/functions-helpers.php +28 -2
- includes/js/generator/index.js +1 -1
- includes/js/generator/index.js.map +1 -1
- includes/partials/shortcodes/posts/templates/README.txt +5 -0
- {templates → includes/partials/shortcodes/posts/templates}/default-loop.php +14 -0
- {templates → includes/partials/shortcodes/posts/templates}/list-loop.php +14 -0
- {templates → includes/partials/shortcodes/posts/templates}/single-post.php +14 -0
- includes/partials/shortcodes/posts/templates/teaser-loop.php +31 -0
- includes/shortcodes/0-all.php +1 -0
- includes/shortcodes/carousel.php +3 -1
- includes/shortcodes/custom-gallery.php +5 -0
- includes/shortcodes/dailymotion.php +5 -1
- includes/shortcodes/display-posts.php +570 -0
- includes/shortcodes/divider.php +1 -0
- includes/shortcodes/image-carousel.php +2 -8
- includes/shortcodes/lightbox-content.php +138 -76
- includes/shortcodes/post.php +8 -4
- includes/shortcodes/posts.php +55 -32
- includes/shortcodes/slider.php +8 -1
- languages/shortcodes-ultimate.pot +480 -299
- readme.txt +74 -758
- shortcodes-ultimate.php +2 -2
- templates/README.txt +0 -5
- templates/teaser-loop.php +0 -23
admin/css/generator.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.su-generator-clearfix:after,.su-generator-clearfix:before{display:table;content:' '}.su-generator-clearfix:after{clear:both}.su-generator-clear{height:0;clear:both;overflow:hidden}.su-generator-hidden{display:none!important}.su-generator-loading{min-height:60px;background:50% 50% url(../images/spinner.gif) no-repeat!important}.su-generator-loading *{visibility:hidden}.su-generator-button img{margin:-1px 2px 0 -5px;vertical-align:middle}.wp-media-buttons .su-generator-button img{margin:-1px -1px 0 -4px;vertical-align:middle}#su-generator-wrap{display:none}#su-generator{position:relative;width:85%;max-width:1000px;margin:60px auto;padding:20px;background:#fff;box-shadow:0 2px 25px #000;-webkit-transition:max-width .2s;transition:max-width .2s}#su-generator.su-generator-narrow{max-width:500px}#su-generator-tools{margin:0 20px 20px 0}#su-generator-tools span{display:inline-block;width:1px;height:1em;margin:0 .5em;border-right:1px dotted #555;vertical-align:middle}#su-generator-tools a{text-decoration:none}#su-generator-tools a.su-add-ons{display:inline-block;padding:3px 8px;background:#ff562d;color:#fff;font-weight:700;border-radius:3px;border:1px solid #f2522b;text-shadow:1px 1px 1px #a6381d}#su-generator-tools a.su-add-ons:active,#su-generator-tools a.su-add-ons:focus,#su-generator-tools a.su-add-ons:hover{background:#ff7857}#su-generator-search{width:100%;margin-bottom:5px;padding:10px 10px 10px 42px;background:5px 50% url(../images/search.png) no-repeat;font-size:1.3em}#su-generator-search-pro-tip{margin:0 0 30px 0;color:#999;font-style:italic;text-align:right;font-size:.9em}#su-generator-filter{margin:0 -20px;padding:14px 20px;border-top:1px solid #ccc;border-bottom:1px solid #ccc;background:#eee;color:#555;text-align:center;line-height:24px}#su-generator-filter a,#su-generator-filter strong{display:inline-block;margin:0 1em;line-height:1}#su-generator-filter a{border-bottom:1px dotted #ccc;text-decoration:none}#su-generator-choices{margin-top:20px;text-align:left}#su-generator-choices>span{position:relative;display:block;width:20%;height:28px;min-width:130px;padding:0 5px 0 30px;float:left;overflow:hidden;box-sizing:border-box;border-bottom:1px dotted #e5e5e5;color:#222;vertical-align:top;text-align:left;line-height:28px;cursor:pointer}#su-generator-choices span:hover{border-bottom:1px solid #333;background:#333;color:#fff}#su-generator-choices span img{position:absolute;top:7px;left:7px;width:14px;height:14px}#su-generator-choices span i{position:absolute;top:1px;left:1px;display:block;width:26px;height:26px;color:#888;text-align:center;font-size:14px;line-height:26px}#su-generator-choices span:hover i{color:#fff}.su-generator-choice-first{outline:1px solid #09f;box-shadow:0 0 3px rgba(30,140,190,.8)}#su-generator-breadcrumbs{margin:0 -20px;padding:14px 20px;border-top:1px solid #ccc;border-bottom:1px solid #ccc;background:#eee;color:#555;line-height:24px}#su-generator-breadcrumbs span{margin-right:1em;font-weight:700}#su-generator-breadcrumbs small{color:#bbb;font-weight:400;font-size:.9em}.su-generator-note{position:relative;margin:0 -20px;padding:5px 20px;background:#ffffb8;border-bottom:1px solid #ccc;color:#333;line-height:18px}.su-generator-note-content{min-height:20px;margin-left:35px}.su-generator-note p{margin:10px 0}.su-generator-note a{text-decoration:underline}.su-generator-note i{position:absolute;top:15px;left:20px;display:block;width:1em;height:1em;color:#555;text-align:left;font-size:20px;line-height:1em}#su-generator-settings .su-generator-attr-container{margin:0 -20px;padding:1.5em 20px;border-bottom:1px solid #ccc;box-shadow:0 1px 3px rgba(0,0,0,.1)}#su-generator-settings h5{text-transform:capitalize;font-weight:700}#su-generator-preview h5,#su-generator-settings h5{margin:0 0 15px 0;font-size:1em}.su-generator-attr-desc{margin-top:15px;color:#aaa;font-style:italic;line-height:1.6}.su-generator-attr-desc b{color:#999}.su-generator-px-units{position:relative;margin-right:15px}.su-generator-px-units:before{position:absolute;right:-18px;bottom:3px;display:block;width:15px;color:#999;content:'px';text-align:left;font-size:.9em}.su-generator-attr-desc b.su-generator-set-value{border-bottom:1px dotted #999;cursor:pointer}.su-generator-attr-desc b.su-generator-set-value:hover{border-bottom:1px dotted #333;color:#333}#su-generator-settings input[type=number],#su-generator-settings input[type=text],#su-generator-settings select,#su-generator-settings textarea{width:100%;height:auto;padding:10px}.su-generator-field-actions{padding-top:10px}.su-generator-field-actions .button,.su-generator-field-actions span{margin-right:5px}.su-generator-field-actions img{margin:0 6px 0 -4px;vertical-align:middle}.su-generator-icon-picker{height:0;margin:0 -20px;padding:0 20px;overflow:hidden;background:#eee;line-height:24px;-webkit-transition:all .2s;transition:all .2s}.su-generator-icon-picker.su-generator-icon-picker-visible{height:auto;margin:1em -20px 0 -20px;padding:14px 20px;overflow:visible;border-top:1px solid #ccc;border-bottom:1px solid #ccc}.su-generator-icon-picker input{margin-bottom:15px}.su-generator-icon-picker i{display:block;width:24px;height:24px;margin-left:2px;float:left;color:#555;text-align:center;font-size:14px;line-height:24px;cursor:pointer}.su-generator-icon-picker i:hover{color:#000;font-size:24px}.su-generator-shadow-picker-field{position:relative;display:inline-block;width:22%;padding-right:3%}.su-generator-shadow-picker-field small{display:block;color:#ccc}.su-generator-shadow-picker-field input{text-align:right}.su-generator-shadow-picker-field.su-generator-shadow-picker-color{width:25%;padding-right:0}.su-generator-shadow-picker-field.su-generator-shadow-picker-color input{text-align:left}.su-generator-shadow-picker-color{position:relative}.su-generator-shadow-picker-color-wheel{position:absolute;top:100%;right:0;z-index:9999;display:none;border:1px solid #aaa;border-radius:50%;background:#fff;box-shadow:0 2px 5px #ccc}.su-generator-border-picker-field{position:relative;display:inline-block;width:30%;padding-right:3%}.su-generator-border-picker-field small{display:block;color:#ccc}.su-generator-border-picker-field input{text-align:right}.su-generator-border-picker-field.su-generator-border-picker-color{width:34%;padding-right:0}.su-generator-border-picker-field.su-generator-border-picker-color input{text-align:left}.su-generator-border-picker-color{position:relative}.su-generator-border-picker-color-wheel{position:absolute;top:100%;right:0;z-index:9999;display:none;border:1px solid #aaa;border-radius:50%;background:#fff;box-shadow:0 2px 5px #ccc}.su-generator-range-picker .slider{width:420px;margin:10px 0 0 0!important;padding:0;float:left}.su-generator-range-picker .slider>.dragger{background:#fff!important}.su-generator-range-picker .slider:hover>.dragger{background:#fff!important;box-shadow:0 0 0 5px rgba(33,117,155,.5)}.su-generator-range-picker .slider>.dragger.dragging{background:#ccc!important;box-shadow:0 0 0 5px rgba(33,117,155,.5)}.su-generator-range-picker .slider>.track{height:12px!important;border:1px solid #ccc!important;background:#fff!important}.su-generator-range-picker input{width:60px!important;float:right;text-align:center}.su-generator-switch{display:inline-block;width:100%;font-weight:700;cursor:pointer}.su-generator-switch span{display:none;padding:10px;border-radius:3px}.su-generator-switch-yes span.su-generator-yes{display:block;background:#e0ffe0;color:#0c0}.su-generator-switch-no span.su-generator-no{display:block;background:#f5f5f5;color:#777}.su-generator-select-color{position:relative;display:inline-block;width:100%}.su-generator-select-color-wheel{position:absolute;top:100%;left:0;z-index:9999;display:none;border:1px solid #aaa;border-radius:50%;background:#fff;box-shadow:0 2px 5px #ccc}.su-generator-isp{margin-bottom:15px}.su-generator-isp-source{height:0;margin:0 -20px;padding:0 20px;overflow:hidden;background:#eee;color:#555;opacity:0;-webkit-transition:opacity .2s;transition:opacity .2s}.su-generator-isp-source.su-generator-isp-source-open{height:auto;margin:20px -20px 0;padding:14px 20px;border-top:1px solid #ccc;border-bottom:1px solid #ccc;opacity:1}.su-generator-isp-images{margin-top:1em;overflow:auto}.su-generator-isp-images span{position:relative;display:block;width:84px;height:84px;margin:5px 5px 5px 0;float:left;border:3px solid #fff;border-radius:50%;background:#fff;box-shadow:0 1px 2px #999}.su-generator-isp-images span.ui-sortable-helper,.su-generator-isp-images span:hover{box-shadow:0 1px 6px #777}.su-generator-isp-images img{display:block;width:100%;height:100%;margin:0;padding:0;border:none;border-radius:50%}.su-generator-isp-images span i{position:absolute;top:-3px;right:-3px;display:none;width:16px;height:16px;border-radius:50%;background:#fff;color:#f03;text-align:center;font-size:12px;line-height:16px;cursor:pointer}.su-generator-isp-images span:hover i{display:block}.su-generator-isp-images span i:hover{background:#f03;color:#fff}.su-generator-isp-categories,.su-generator-isp-taxonomies,.su-generator-isp-terms{margin-top:15px}#su-generator-preview{display:none;margin:0 -20px;padding:1.5em 20px;overflow:hidden;border-bottom:1px solid #ccc}#su-generator-preview .su-column{outline:1px dotted #ccc}.su-generator-actions{margin:0 -20px -20px;padding:1.5em 15px;background:#eee}.su-generator-actions>.button{margin:0 5px}.su-generator-actions .button i{margin:0 5px 0 -3px}.su-generator-presets{position:relative}.su-generator-presets>.button{cursor:default}.su-gp-popup{position:absolute;right:0;bottom:0;display:none;min-width:160px;max-width:500px;border:1px solid #aaa;border-radius:5px;background:#fff}.su-gp-head{margin-bottom:10px;padding:10px;border-bottom:1px dotted #ccc}.su-gp-head .button{display:block;text-align:center}.su-gp-list{margin:5px 0}.su-gp-list b{display:block;padding:5px 10px;color:#aaa;font-weight:400;font-style:italic}.su-gp-list span{position:relative;display:block;padding:5px 10px;overflow:hidden;color:#21759b;cursor:pointer}.su-gp-list span:nth-child(odd){background:#f8f8f8}.su-gp-list span:hover{background:#eee;color:#d54e21}.su-gp-list span em{margin-right:32px;white-space:nowrap;font-style:normal}.su-gp-list span i{position:absolute;top:50%;right:10px;display:block;width:20px;height:20px;margin-top:-10px;border-radius:50%;color:#999;text-align:center;font-weight:400;font-size:12px;line-height:20px}.su-gp-list span i:hover{background:#f03;color:#fff}.su-generator-mfp.mfp-bg{z-index:101000!important}.su-generator-mfp.mfp-wrap{z-index:101001!important}.su-generator-mfp.mfp-wrap .mfp-preloader{z-index:101002!important}.su-generator-mfp.mfp-wrap .mfp-content{z-index:101003!important}.su-generator-mfp.mfp-wrap button.mfp-arrow,.su-generator-mfp.mfp-wrap button.mfp-close{z-index:101004!important}#su-generator-preview .su-image-carousel-align-full{margin-left:-1.5em;margin-right:-1.5em;max-width:calc(100% + 3em)!important}.su-generator-extra-banner{margin-bottom:-20px;padding-top:20px;text-align:center}.su-generator-extra-banner-message{padding:15px;background:#f0f0f0;border-left:4px solid #999;color:#000;margin:0 0 2rem;font-size:.9rem;text-align:left}.su-generator-extra-banner-icon{width:80px;height:80px;margin:0 0 1.75rem}.su-generator-extra-banner-title{margin:0 0 .75rem;font-size:1.5rem;font-weight:700;color:#333}.su-generator-extra-banner-description{margin:0 0 1.75rem;font-size:.95rem;color:#555}.su-generator-extra-banner-action{margin:0 0 2rem}.su-generator-extra-banner-action>a.button{padding:12px 24px;font-weight:700;font-size:.9rem;height:auto;border-radius:5px;line-height:1}.su-generator-extra-banner-screenshot img{display:block;width:100%}
|
1 |
+
.su-generator-clearfix:after,.su-generator-clearfix:before{display:table;content:' '}.su-generator-clearfix:after{clear:both}.su-generator-clear{height:0;clear:both;overflow:hidden}.su-generator-hidden{display:none!important}.su-generator-loading{min-height:60px;background:50% 50% url(../images/spinner.gif) no-repeat!important}.su-generator-loading *{visibility:hidden}.su-generator-button img{margin:-1px 2px 0 -5px;vertical-align:middle}.wp-media-buttons .su-generator-button img{margin:-1px -1px 0 -4px;vertical-align:middle}#su-generator-wrap{display:none}#su-generator{position:relative;width:85%;max-width:1000px;margin:60px auto;padding:20px;background:#fff;box-shadow:0 2px 25px #000;-webkit-transition:max-width .2s;transition:max-width .2s}#su-generator.su-generator-narrow{max-width:500px}#su-generator-tools{margin:0 20px 20px 0}#su-generator-tools span{display:inline-block;width:1px;height:1em;margin:0 .5em;border-right:1px dotted #555;vertical-align:middle}#su-generator-tools a{text-decoration:none}#su-generator-tools a.su-add-ons{display:inline-block;padding:3px 8px;background:#ff562d;color:#fff;font-weight:700;border-radius:3px;border:1px solid #f2522b;text-shadow:1px 1px 1px #a6381d}#su-generator-tools a.su-add-ons:active,#su-generator-tools a.su-add-ons:focus,#su-generator-tools a.su-add-ons:hover{background:#ff7857}#su-generator-search{width:100%;margin-bottom:5px;padding:10px 10px 10px 42px;background:5px 50% url(../images/search.png) no-repeat;font-size:1.3em}#su-generator-search-pro-tip{margin:0 0 30px 0;color:#999;font-style:italic;text-align:right;font-size:.9em}#su-generator-filter{margin:0 -20px;padding:14px 20px;border-top:1px solid #ccc;border-bottom:1px solid #ccc;background:#eee;color:#555;text-align:center;line-height:24px}#su-generator-filter a,#su-generator-filter strong{display:inline-block;margin:0 1em;line-height:1}#su-generator-filter a{border-bottom:1px dotted #ccc;text-decoration:none}#su-generator-choices{margin-top:20px;text-align:left}#su-generator-choices>span{position:relative;display:block;width:20%;height:28px;min-width:130px;padding:0 5px 0 30px;float:left;overflow:hidden;box-sizing:border-box;border-bottom:1px dotted #e5e5e5;color:#222;vertical-align:top;text-align:left;line-height:28px;cursor:pointer}#su-generator-choices span:hover{border-bottom:1px solid #333;background:#333;color:#fff}#su-generator-choices span img{position:absolute;top:7px;left:7px;width:14px;height:14px}#su-generator-choices span i{position:absolute;top:1px;left:1px;display:block;width:26px;height:26px;color:#888;text-align:center;font-size:14px;line-height:26px}#su-generator-choices span:hover i{color:#fff}.su-generator-choice-first{outline:1px solid #09f;box-shadow:0 0 3px rgba(30,140,190,.8)}#su-generator-breadcrumbs{margin:0 -20px;padding:14px 20px;border-top:1px solid #ccc;border-bottom:1px solid #ccc;background:#eee;color:#555;line-height:24px}#su-generator-breadcrumbs span{margin-right:1em;font-weight:700}#su-generator-breadcrumbs small{color:#bbb;font-weight:400;font-size:.9em}.su-generator-note{position:relative;margin:0 -20px;padding:5px 20px;background:#ffffb8;border-bottom:1px solid #ccc;color:#333;line-height:18px}.su-generator-note-content{min-height:20px;margin-left:35px}.su-generator-note p{margin:10px 0}.su-generator-note a{text-decoration:underline}.su-generator-note i{position:absolute;top:15px;left:20px;display:block;width:1em;height:1em;color:#555;text-align:left;font-size:20px;line-height:1em}#su-generator-settings .su-generator-attr-container{margin:0 -20px;padding:1.5em 20px;border-bottom:1px solid #ccc;box-shadow:0 1px 3px rgba(0,0,0,.1)}#su-generator-settings h5{text-transform:capitalize;font-weight:700}#su-generator-preview h5,#su-generator-settings h5{margin:0 0 15px 0;font-size:1em}.su-generator-attr-desc{margin-top:15px;color:#aaa;font-style:italic;line-height:1.6}.su-generator-attr-desc b{color:#999}.su-generator-px-units{position:relative;margin-right:15px}.su-generator-px-units:before{position:absolute;right:-18px;bottom:3px;display:block;width:15px;color:#999;content:'px';text-align:left;font-size:.9em}.su-generator-attr-desc b.su-generator-set-value{border-bottom:1px dotted #999;cursor:pointer}.su-generator-attr-desc b.su-generator-set-value:hover{border-bottom:1px dotted #333;color:#333}#su-generator-settings input[type=number],#su-generator-settings input[type=text],#su-generator-settings select,#su-generator-settings textarea{width:100%;height:auto;padding:10px}.su-generator-field-actions{padding-top:10px}.su-generator-field-actions .button,.su-generator-field-actions span{margin-right:5px}.su-generator-field-actions img{margin:0 6px 0 -4px;vertical-align:middle}.su-generator-icon-picker{height:0;margin:0 -20px;padding:0 20px;overflow:hidden;background:#eee;line-height:24px;-webkit-transition:all .2s;transition:all .2s}.su-generator-icon-picker.su-generator-icon-picker-visible{height:auto;margin:1em -20px 0 -20px;padding:14px 20px;overflow:visible;border-top:1px solid #ccc;border-bottom:1px solid #ccc}.su-generator-icon-picker input{margin-bottom:15px}.su-generator-icon-picker i{display:block;width:24px;height:24px;margin-left:2px;float:left;color:#555;text-align:center;font-size:14px;line-height:24px;cursor:pointer}.su-generator-icon-picker i:hover{color:#000;font-size:24px}.su-generator-shadow-picker-field{position:relative;display:inline-block;width:22%;padding-right:3%;vertical-align:top}.su-generator-shadow-picker-field small{display:block;color:#ccc;line-height:1.35;margin-top:.75em}.su-generator-shadow-picker-field input{text-align:right}.su-generator-shadow-picker-field.su-generator-shadow-picker-color{width:25%;padding-right:0}.su-generator-shadow-picker-field.su-generator-shadow-picker-color input{text-align:left}.su-generator-shadow-picker-color{position:relative}.su-generator-shadow-picker-color-wheel{position:absolute;top:100%;right:0;z-index:9999;display:none;border:1px solid #aaa;border-radius:50%;background:#fff;box-shadow:0 2px 5px #ccc}.su-generator-border-picker-field{position:relative;display:inline-block;width:30%;padding-right:3%}.su-generator-border-picker-field small{display:block;color:#ccc}.su-generator-border-picker-field input{text-align:right}.su-generator-border-picker-field.su-generator-border-picker-color{width:34%;padding-right:0}.su-generator-border-picker-field.su-generator-border-picker-color input{text-align:left}.su-generator-border-picker-color{position:relative}.su-generator-border-picker-color-wheel{position:absolute;top:100%;right:0;z-index:9999;display:none;border:1px solid #aaa;border-radius:50%;background:#fff;box-shadow:0 2px 5px #ccc}.su-generator-range-picker .slider{width:420px;margin:10px 0 0 0!important;padding:0;float:left}.su-generator-range-picker .slider>.dragger{background:#fff!important}.su-generator-range-picker .slider:hover>.dragger{background:#fff!important;box-shadow:0 0 0 5px rgba(33,117,155,.5)}.su-generator-range-picker .slider>.dragger.dragging{background:#ccc!important;box-shadow:0 0 0 5px rgba(33,117,155,.5)}.su-generator-range-picker .slider>.track{height:12px!important;border:1px solid #ccc!important;background:#fff!important}.su-generator-range-picker input{width:60px!important;float:right;text-align:center}.su-generator-switch{display:inline-block;width:100%;font-weight:700;cursor:pointer}.su-generator-switch span{display:none;padding:10px;border-radius:3px}.su-generator-switch-yes span.su-generator-yes{display:block;background:#e0ffe0;color:#0c0}.su-generator-switch-no span.su-generator-no{display:block;background:#f5f5f5;color:#777}.su-generator-select-color{position:relative;display:inline-block;width:100%}.su-generator-select-color-wheel{position:absolute;top:100%;left:0;z-index:9999;display:none;border:1px solid #aaa;border-radius:50%;background:#fff;box-shadow:0 2px 5px #ccc}.su-generator-isp{margin-bottom:15px}.su-generator-isp-source{height:0;margin:0 -20px;padding:0 20px;overflow:hidden;background:#eee;color:#555;opacity:0;-webkit-transition:opacity .2s;transition:opacity .2s}.su-generator-isp-source.su-generator-isp-source-open{height:auto;margin:20px -20px 0;padding:14px 20px;border-top:1px solid #ccc;border-bottom:1px solid #ccc;opacity:1}.su-generator-isp-images{margin-top:1em;overflow:auto}.su-generator-isp-images span{position:relative;display:block;width:84px;height:84px;margin:5px 5px 5px 0;float:left;border:3px solid #fff;border-radius:50%;background:#fff;box-shadow:0 1px 2px #999}.su-generator-isp-images span.ui-sortable-helper,.su-generator-isp-images span:hover{box-shadow:0 1px 6px #777}.su-generator-isp-images img{display:block;width:100%;height:100%;margin:0;padding:0;border:none;border-radius:50%}.su-generator-isp-images span i{position:absolute;top:-3px;right:-3px;display:none;width:16px;height:16px;border-radius:50%;background:#fff;color:#f03;text-align:center;font-size:12px;line-height:16px;cursor:pointer}.su-generator-isp-images span:hover i{display:block}.su-generator-isp-images span i:hover{background:#f03;color:#fff}.su-generator-isp-categories,.su-generator-isp-taxonomies,.su-generator-isp-terms{margin-top:15px}#su-generator-preview{display:none;margin:0 -20px;padding:1.5em 20px;overflow:hidden;border-bottom:1px solid #ccc}#su-generator-preview .su-column{outline:1px dotted #ccc}.su-generator-actions{margin:0 -20px -20px;padding:1.5em 15px;background:#eee}.su-generator-actions>.button{margin:0 5px}.su-generator-actions .button i{margin:0 5px 0 -3px}.su-generator-presets{position:relative}.su-generator-presets>.button{cursor:default}.su-gp-popup{position:absolute;right:0;bottom:0;display:none;min-width:160px;max-width:500px;border:1px solid #aaa;border-radius:5px;background:#fff}.su-gp-head{margin-bottom:10px;padding:10px;border-bottom:1px dotted #ccc}.su-gp-head .button{display:block;text-align:center}.su-gp-list{margin:5px 0}.su-gp-list b{display:block;padding:5px 10px;color:#aaa;font-weight:400;font-style:italic}.su-gp-list span{position:relative;display:block;padding:5px 10px;overflow:hidden;color:#21759b;cursor:pointer}.su-gp-list span:nth-child(odd){background:#f8f8f8}.su-gp-list span:hover{background:#eee;color:#d54e21}.su-gp-list span em{margin-right:32px;white-space:nowrap;font-style:normal}.su-gp-list span i{position:absolute;top:50%;right:10px;display:block;width:20px;height:20px;margin-top:-10px;border-radius:50%;color:#999;text-align:center;font-weight:400;font-size:12px;line-height:20px}.su-gp-list span i:hover{background:#f03;color:#fff}.su-generator-mfp.mfp-bg{z-index:101000!important}.su-generator-mfp.mfp-wrap{z-index:101001!important}.su-generator-mfp.mfp-wrap .mfp-preloader{z-index:101002!important}.su-generator-mfp.mfp-wrap .mfp-content{z-index:101003!important}.su-generator-mfp.mfp-wrap button.mfp-arrow,.su-generator-mfp.mfp-wrap button.mfp-close{z-index:101004!important}#su-generator-preview .su-image-carousel-align-full{margin-left:-1.5em;margin-right:-1.5em;max-width:calc(100% + 3em)!important}.su-generator-extra-banner{margin-bottom:-20px;padding-top:20px;text-align:center}.su-generator-extra-banner-message{padding:15px;background:#f0f0f0;border-left:4px solid #999;color:#000;margin:0 0 2rem;font-size:.9rem;text-align:left}.su-generator-extra-banner-icon{width:80px;height:80px;margin:0 0 1.75rem}.su-generator-extra-banner-title{margin:0 0 .75rem;font-size:1.5rem;font-weight:700;color:#333}.su-generator-extra-banner-description{margin:0 0 1.75rem;font-size:.95rem;color:#555}.su-generator-extra-banner-action{margin:0 0 2rem}.su-generator-extra-banner-action>a.button{padding:12px 24px;font-weight:700;font-size:.9rem;height:auto;border-radius:5px;line-height:1}.su-generator-extra-banner-screenshot img{display:block;width:100%}
|
admin/images/shortcodes/display-posts.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.41421" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg"><path d="m28 107h84v8h-84z" fill="#e0e5e6"/><path d="m28 91h92v8h-92z" fill="#e0e5e6"/><path d="m28 73h70v8h-70z" fill="#bdc3c7"/><path d="m18 86h-18v-18h18zm-14-14v10h10v-10z" fill="#3497da"/><path d="m28 43h84v8h-84z" fill="#e0e5e6"/><path d="m28 27h92v8h-92z" fill="#e0e5e6"/><path d="m28 9h70v8h-70z" fill="#bdc3c7"/><path d="m18 22h-18v-18h18zm-14-14v10h10v-10z" fill="#3497da"/></svg>
|
changelog.txt
ADDED
@@ -0,0 +1,702 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
### 5.8.1
|
2 |
+
|
3 |
+
**What's new**
|
4 |
+
|
5 |
+
- New option `anchor` for `[su_divider]` shortcode
|
6 |
+
|
7 |
+
|
8 |
+
**Changes**
|
9 |
+
|
10 |
+
- `[su_document]` shortcode is now *deprecated*. It will continue to work, but will be removed from the Insert shortcode window and from documentation
|
11 |
+
|
12 |
+
|
13 |
+
**Fixes**
|
14 |
+
|
15 |
+
- Fixed fatal error on WP 5.4 in Gallery, Slider, and Carousel shortcodes. Thanks to [Jörn Lund](https://github.com/mcguffin)
|
16 |
+
- The `[su_feed]` can now work with URLs containing `&`, converted by the block editor
|
17 |
+
- Fixed PHP notices in the admin part
|
18 |
+
- Translation fixes
|
19 |
+
|
20 |
+
|
21 |
+
### 5.8.0
|
22 |
+
|
23 |
+
**What's new**
|
24 |
+
|
25 |
+
- The `[su_user]` shortcode now support nested shortcodes in the `user_id` attribute
|
26 |
+
- The `[su_feed]` now has the `target` attribute, which allow opening feed links in a new tab
|
27 |
+
|
28 |
+
|
29 |
+
**Fixes**
|
30 |
+
|
31 |
+
- Updated documentation for the `[su_user]` shortcode. New fields: Nickname, First Name, Last Name, Description, & Locale
|
32 |
+
- Fixed warning in Google Search Console when testing page with the `[su_youtube]` shortcode: `Allow attribute will take precedence over ‘allowfullscreen’.`
|
33 |
+
- Fixed issue when some attributes weren't inserted by the Insert shortcode button
|
34 |
+
- Improved compatibility with PHP 7.4, thanks to [Jörn Lund](https://github.com/mcguffin)
|
35 |
+
- `[su_feed]` links now have title attribute with descriptions
|
36 |
+
|
37 |
+
|
38 |
+
### 5.7.0
|
39 |
+
|
40 |
+
**What's new**
|
41 |
+
|
42 |
+
- The `[su_user]` shortcode can now display user meta
|
43 |
+
- New option `id` (HTML Anchor) for the `[su_box]` shortcode
|
44 |
+
- New option `id` (HTML Anchor) for the `[su_note]` shortcode
|
45 |
+
- Improved compatibility with PHP 7.4, thanks to [Jörn Lund](https://github.com/vanokhin/shortcodes-ultimate/issues/100)
|
46 |
+
- New setting *Nested shortcodes alternative mode* which enables deprecated syntax for nested shortcodes. [Details](https://getshortcodes.com/docs/nested-shortcodes-shortcodes-in-attributes/#nested-shortcodes-with-the-same-tag-names)
|
47 |
+
- The `[su_feed]` shortcode is now based on SimplePie
|
48 |
+
- The `[su_quote]` shortcode now supports nesting
|
49 |
+
|
50 |
+
|
51 |
+
**Fixes**
|
52 |
+
|
53 |
+
- Fixed compatibility issue with WordPress version 4.5 (white screen at the settings screen)
|
54 |
+
|
55 |
+
|
56 |
+
### 5.6.2
|
57 |
+
|
58 |
+
**Fixes**
|
59 |
+
|
60 |
+
- Fixed YouTube autoplay in Chrome within the `[su_lightbox]` shortcode
|
61 |
+
- Fixed issue when hidden content (like YouTube embed) within spoiler remains clickable
|
62 |
+
- Other minor issues
|
63 |
+
|
64 |
+
|
65 |
+
### 5.6.1
|
66 |
+
|
67 |
+
**What's new**
|
68 |
+
|
69 |
+
- Comments in the `[su_posts]` shortcode can now be disabled from post editing screen or, using the Disable Comments plugin. Thanks to [Jörn Lund](https://github.com/vanokhin/shortcodes-ultimate/pull/98).
|
70 |
+
- `[su_image_carousel]` will now display post titles instead of image captions, where applicable. [Details & How to disable it](https://getshortcodes.com/docs/display-image-captions-instead-of-post-titles-in-the-image-carousel-shortcode/).
|
71 |
+
|
72 |
+
**Fixes**
|
73 |
+
|
74 |
+
- Fixed `Warning: A non-numeric value encountered` in `[su_slider]`, `[su_carousel]`, and `[su_custom_gallery]`
|
75 |
+
- Fixed `download` attribute of the `[su_button]` shortcode
|
76 |
+
- Fixed issue with `[su_spoiler]` where nested `[su_youtube]` remains clickable if spoiler is closed
|
77 |
+
|
78 |
+
|
79 |
+
### 5.6.0
|
80 |
+
|
81 |
+
**What's new**
|
82 |
+
|
83 |
+
- Shortcodes can now be enabled not only in Category descriptions, but in any Term description. See `Enable shortcodes in` option at plugin settings page
|
84 |
+
|
85 |
+
**Fixes**
|
86 |
+
|
87 |
+
- Fixed WP-Rocket compatibility issue, `[su_image_carousel]` didn't work on Android Chrome. [Forum topic](https://wordpress.org/support/topic/issues-with-wp-rocket-2/)
|
88 |
+
- Fixed issue with `<span>` tags in the `[su_tabs]` shortcode. [Forum topic](https://wordpress.org/support/topic/element-on-next-line-on-mobiles/)
|
89 |
+
- Fixed issue with ghost-style button colors
|
90 |
+
|
91 |
+
|
92 |
+
### 5.5.0
|
93 |
+
|
94 |
+
**What's new**
|
95 |
+
|
96 |
+
- New option `outline` for `[su_image_carousel]` which allows disabling carousel outline (when it gets focus)
|
97 |
+
- New option `mobile` for `[su_tabs]` which allows disabling tab stacking on mobile devices
|
98 |
+
- New option `texttrack` for `[su_vimeo]` which allows enabling video subtitles
|
99 |
+
|
100 |
+
**Improvements**
|
101 |
+
|
102 |
+
- `[su_youtube_advanced]` is now always served through https
|
103 |
+
- `[su_image_carousel]`: improved compatibility with various themes
|
104 |
+
- `[su_image_carousel]`: the gallery can now be loaded through AJAX
|
105 |
+
- `[su_image_carousel]`: improved keyboard navigation
|
106 |
+
- Insert Shortcode window will now remain open if the dark background clicked
|
107 |
+
|
108 |
+
**Fixes**
|
109 |
+
|
110 |
+
- Fixed `[su_image_carousel]` issue with empty image captions (with whitespace)
|
111 |
+
- Fixed `[su_image_carousel]` issue where images weren't shown when crop is disabled
|
112 |
+
|
113 |
+
|
114 |
+
### 5.4.1
|
115 |
+
|
116 |
+
This update fix various issues related to version 5.4.0
|
117 |
+
|
118 |
+
|
119 |
+
### 5.4.0
|
120 |
+
|
121 |
+
**What's new**
|
122 |
+
|
123 |
+
- New shortcode `[su_image_carousel]` which will take place of `[su_slider]` and `[su_carousel]` in the future
|
124 |
+
- New attribute `download` for the `[su_button]` shortcode (allows immediate downloading of specified URL in a button)
|
125 |
+
- New attribute `id` for the `[su_heading]` shortcode (allows linking to a heading)
|
126 |
+
- New attribute `wrapper` for the `[su_dummy_text]` shortcode (allows disabling of the div wrapper)
|
127 |
+
- New attribute `mobile` for the `[su_lightbox]` shortcode (allows disabling lightbox on mobile devices)
|
128 |
+
|
129 |
+
**Improvements**
|
130 |
+
|
131 |
+
- *Custom CSS code* field now has syntax highlighting
|
132 |
+
- `[su_button]` with `target=blank` will now be displayed with `rel='noopener noreferrer`
|
133 |
+
- Slightly improved appearance of the *Available shortcodes* screen
|
134 |
+
- *Vertical tabs* are now aligned with CSS flexbox, not JS
|
135 |
+
- Added `shortcodes.full.css` file to reference the default shortcode styles
|
136 |
+
- Minor improvements to `[su_table]`, `[su_row]`, and `[su_column]` shortcodes
|
137 |
+
|
138 |
+
**Fixes**
|
139 |
+
|
140 |
+
- Fixed issue with `[su_lightbox]` on iOS
|
141 |
+
- Removed `!important` from column styles for mobile devices
|
142 |
+
|
143 |
+
**Security**
|
144 |
+
|
145 |
+
- `[su_posts]` and `[su_template]` are now allow only templates from active theme or plugin folders
|
146 |
+
- *Error messages* are now displayed only to allowed users (user must have required capability)
|
147 |
+
|
148 |
+
|
149 |
+
### 5.3.0
|
150 |
+
|
151 |
+
**What's new**
|
152 |
+
|
153 |
+
- New shortcode `[su_csv_table]` for displaying CSV tables
|
154 |
+
- New option `indent` for the `[su_list]` shortcode, which allows adjusting of list indentation
|
155 |
+
|
156 |
+
**Fixes**
|
157 |
+
|
158 |
+
- Fixed inaccessible fields in media modal (while inserting Gallery/Slider/Carousel shortcodes)
|
159 |
+
- Fixed close icon class name in the presets menu
|
160 |
+
- Fixed issue with unwanted content inside single shortcodes
|
161 |
+
- Fixed warning when non-numeric value is used for the button size attribute
|
162 |
+
- Min-width for responsive tables is set to 100%
|
163 |
+
|
164 |
+
|
165 |
+
### 5.2.0
|
166 |
+
|
167 |
+
**Improvements**
|
168 |
+
|
169 |
+
- Tabs and accordions/spoilers are now accessible from keyboard
|
170 |
+
- Tabs are now working better with nested sliders/carousels
|
171 |
+
- Improved stability of some responsive elements, such as Google Maps
|
172 |
+
- YouTube and YouTube Advanced settings descriptions are now more clear
|
173 |
+
- New setting `Required user capability` which allows enabling the `Insert Shortcode` button for non-admin users
|
174 |
+
- New setting `Enable shortcodes in` which allows enabling shortcodes in text widgets and category descriptions
|
175 |
+
|
176 |
+
**Changes**
|
177 |
+
|
178 |
+
- youtube_advanced showinfo parameter is deprecated and removed from the plugin. [Why?](https://developers.google.com/youtube/player_parameters#release_notes_08_23_2018)
|
179 |
+
- Font Awesome replaced with [Fork Awesome](https://github.com/ForkAwesome/Fork-Awesome). Font Awesome stylesheet (v 4.7.0) will be completely removed in the next update. All icons are now use CSS class `sui` instead of `fa`
|
180 |
+
|
181 |
+
|
182 |
+
### 5.1.1
|
183 |
+
|
184 |
+
- Gutenberg compatibility enabled by default
|
185 |
+
|
186 |
+
|
187 |
+
### 5.1.0
|
188 |
+
|
189 |
+
**What's new**
|
190 |
+
|
191 |
+
- Added compatibility with the Gutenberg editor. [Learn more](https://vanokhin.com/su-now-supports-gutenberg/).
|
192 |
+
|
193 |
+
**Fixes**
|
194 |
+
|
195 |
+
- Fixed `<img>` icon appearance of the `[su_service]` shortcode
|
196 |
+
|
197 |
+
|
198 |
+
### 5.0.8
|
199 |
+
|
200 |
+
**Fixes**
|
201 |
+
|
202 |
+
- Fixed Live Preview, wasn't representing changed settings
|
203 |
+
- Fixed `[su_siblings]`, now it works again at top-level pages
|
204 |
+
|
205 |
+
**Other**
|
206 |
+
|
207 |
+
- Various code improvements
|
208 |
+
- New filters for gallery, slider, and carousel
|
209 |
+
- Returned `su_cmpt()` and `su_compatibility_mode_prefix()` utils
|
210 |
+
|
211 |
+
|
212 |
+
### 5.0.7
|
213 |
+
|
214 |
+
**Security update**
|
215 |
+
|
216 |
+
- Fixed shortcode generator preview vulnerability. [Description](https://www.pluginvulnerabilities.com/2018/09/25/full-disclosure-of-vulnerability-in-wordpress-plugin-with-700000-active-installations/).
|
217 |
+
|
218 |
+
### 5.0.6
|
219 |
+
|
220 |
+
**Fixes**
|
221 |
+
|
222 |
+
- Added missing images for `su_audio`, `su_video`, `su_slider` and `su_carousel`
|
223 |
+
- Fixed Fatal error: Call to a member function get_page_permastruct() on null in link-template.php:357
|
224 |
+
- Added missing `su_get_icon()` utility function
|
225 |
+
- Added missing `su_scattr()` utility function
|
226 |
+
- Added missing `su_do_shortcode()` utility function
|
227 |
+
|
228 |
+
|
229 |
+
### 5.0.5
|
230 |
+
|
231 |
+
**Improvements**
|
232 |
+
|
233 |
+
- Improved compatibility with fitvid.js;
|
234 |
+
- Improved appearance of the `Show more` and `Show less` links of the `su_expand` shortcode;
|
235 |
+
- The new option `mute` for `su_youtube` and `su_youtube_advanced` shortcodes;
|
236 |
+
- Support for the `youtube-nocookie.com` domain in `su_youtube` and `su_youtube_advanced` shortcodes;
|
237 |
+
- Support for nested shortcodes in the `title` attribute of the `su_button` shortcode;
|
238 |
+
- The new option `dnt` (do not track) for the `su_vimeo` shortcode, [learn more](https://help.vimeo.com/hc/en-us/articles/360001494447-Using-Player-Parameters);
|
239 |
+
- The new option `mute` for the `su_vimeo` shortcode;
|
240 |
+
- https support for the `su_dailymotion` shortcode;
|
241 |
+
- New options `title` and `rel` for the `su_permalink` shortcode;
|
242 |
+
- The `su_post` shortcode now support slugs in the `post_id` attribute;
|
243 |
+
- The new option `zoom` for `su_gmap`.
|
244 |
+
|
245 |
+
**Changes**
|
246 |
+
|
247 |
+
- Shortcodes styles merged into a single stylesheet.
|
248 |
+
|
249 |
+
**Fixes**
|
250 |
+
|
251 |
+
- Fixed warning in `su_siblings` shortcode.
|
252 |
+
|
253 |
+
|
254 |
+
### 5.0.4
|
255 |
+
* Fixed: added missing FontAwesome icons
|
256 |
+
* Fixed: is_plugin_active call removed on frontend
|
257 |
+
* Fixed: nested shortcodes
|
258 |
+
* Fixed: issue with spoiler loaded through ajax
|
259 |
+
* Fixed: [scheduler] shortcode logic
|
260 |
+
|
261 |
+
### 5.0.3
|
262 |
+
* Changed: Inview.js library replaced with [jQuery.Inview](https://github.com/protonet/jquery.inview)
|
263 |
+
* Fixed: caching issue with [su_dummy_text]
|
264 |
+
* Fixed: PHP warning in [su_posts] shortcode when specified template does not exist
|
265 |
+
* Updated: Font Awesome to version 4.7.0
|
266 |
+
* Added: responsive styles for [su_pullquote]
|
267 |
+
|
268 |
+
### 5.0.2
|
269 |
+
* Fixed: an issue where RTL stylesheet won't displayed if custom CSS field is empty
|
270 |
+
* Fixed: icon sizes at 'Dashboard - Available Shortcodes' page
|
271 |
+
* Fixed: [expand] shortcode now works when loaded through AJAX
|
272 |
+
* Fixed: border-radius on [box] shortcode
|
273 |
+
* Fixed: compatibility with 'Plugin Organizer'
|
274 |
+
* Updated: OwlCarousel jQuery plugin
|
275 |
+
* Added: new attribute 'responsive' for table shortcode: [su_table responsive="no|yes"]
|
276 |
+
* Added: new attribute 'playsinline' for youtube_advanced shortcode: [su_youtube_advanced playsinline="no|yes"]
|
277 |
+
|
278 |
+
### 5.0.1
|
279 |
+
* Fixed: serious security vulnerability, which allows attacker to run any code using filter in meta, post, or user shortcodes. Thanks to Robert L Mathews.
|
280 |
+
* Fixed: changed admin menu position (it was replacing 'Settings' menu on some installations)
|
281 |
+
* Fixed: shortcodes prefix field now accepts special characters
|
282 |
+
* Fixed: old bug when unwanted code parts was added with shortcode
|
283 |
+
* Fixed: bug, where backslashes were removed from custom CSS code
|
284 |
+
* Added: new attribute 'ID' for [button] shortcode
|
285 |
+
* Added: new filter 'su/slides_query', which can be used to modify posts query for slider, carousel and custom_gallery shortcodes
|
286 |
+
* Added: new filter 'su/assets/custom_css/template' to filter custom css output
|
287 |
+
* Minor fixes
|
288 |
+
|
289 |
+
### 5.0.0
|
290 |
+
* Read [this blog post](https://vanokhin.com/whats-new-in-shortcodes-ultimate-5/) to learn more about update
|
291 |
+
* New project website [getshortcodes.com](https://getshortcodes.com/)
|
292 |
+
* New documentation [getshortcodes.com/docs](https://getshortcodes.com/docs/)
|
293 |
+
* Added: 'Available shortcodes' admin menu
|
294 |
+
* Removed: 'Examples' admin menu
|
295 |
+
* Removed: 'Cheatsheet' admin menu
|
296 |
+
* Fixed: [feed] shortcode (now it uses SimplePie)
|
297 |
+
* Changed default content for [tabs], [row] and [accordion] shortcodes
|
298 |
+
* Fixed: [user] shortcode works when user is not logged in
|
299 |
+
* Changed: Security improvement. Plugin will now strip all HTML tags from Custom CSS code
|
300 |
+
* Minor improvements and fixes
|
301 |
+
|
302 |
+
### 4.10.2
|
303 |
+
* Improved: compatibility with PHP7 ([user] and [post] shortcodes)
|
304 |
+
* Fixed: [slider] and [custom_gallery] markup (skipped whitespaces among link attributes)
|
305 |
+
* Removed: user capability check in [permalink]
|
306 |
+
|
307 |
+
### 4.10.1
|
308 |
+
* Fixed: lightbox javascript
|
309 |
+
|
310 |
+
### 4.10.0
|
311 |
+
* Fixed: security vulnerability at 'Examples' admin page (insecure call of file_get_contents() at inc/core/tools.php:774)
|
312 |
+
* Fixed: added access check to permalink shortcode. [Pull request #20](https://github.com/gndev/shortcodes-ultimate/pull/20).
|
313 |
+
* Added: PHP7 compatibility. Checked with [php7cc](https://github.com/sstalle/php7cc) and [PHP Compatibility Checker](https://wordpress.org/plugins/php-compatibility-checker/). [Pull request #45](https://github.com/gndev/shortcodes-ultimate/pull/45).
|
314 |
+
* Added: https support for Google Maps. [Pull request #40](https://github.com/gndev/shortcodes-ultimate/pull/40).
|
315 |
+
* Added: https support for Youtube. [Pull request #39](https://github.com/gndev/shortcodes-ultimate/pull/39).
|
316 |
+
|
317 |
+
### 4.9.9
|
318 |
+
* Fixed: vote popup at plugins page
|
319 |
+
* Minor improvements, fixes
|
320 |
+
|
321 |
+
### 4.9.8.1
|
322 |
+
* Fixed: compatibility with WordPress 4.3+
|
323 |
+
* Added: lightbox captions for slider, carousel and custom_gallery. Commit by [Valentino Pistis](https://github.com/vpistis)
|
324 |
+
* Changed: text domain from 'su' to 'shortcodes-ultimate'
|
325 |
+
|
326 |
+
### 4.9.8
|
327 |
+
* Added: Spanish translation
|
328 |
+
* Updated: Font Awesome updated to 4.4.0
|
329 |
+
* Fixed: buttons line-height on narrow screens
|
330 |
+
* Fixed: nested spoilers
|
331 |
+
|
332 |
+
### 4.9.7
|
333 |
+
* Added: [document] is now compatible with https
|
334 |
+
* Fixed: carousel items width calculation
|
335 |
+
* Added: new attribute for [button title=""], [forum topic](https://wordpress.org/support/topic/how-add-title-tag-to-a-button)
|
336 |
+
* Fixed: stripslashes for [button] content
|
337 |
+
|
338 |
+
### 4.9.6
|
339 |
+
* Fixed: Quick fix for disabled custom css since previous update
|
340 |
+
|
341 |
+
### 4.9.5
|
342 |
+
* Added: basic RTL support
|
343 |
+
* Fixed: JS error (blocking shortcodes settings) on WordPress 3.5
|
344 |
+
* Fixed: minor improvement for slider/gallery posts query. [Forum topic](https://wordpress.org/support/topic/slider-code-suggestion)
|
345 |
+
* Fixed: minor imrovements on [quote], fixed markup bug for long values in cite, thanks to [Anatoly Yumashev](http://systemo.biz/)
|
346 |
+
* Added: completely redesigned search feature. Now it's like a Google, but for shortcodes =)
|
347 |
+
* Added: Insert shortcode popup window hotkey. So now, you can open Insert shortcode window, choose shortcode and insert it with just one click
|
348 |
+
* Updated: new demo video at plugin settings page (About tab)
|
349 |
+
* Updated: new plugin's banner and icon
|
350 |
+
|
351 |
+
### 4.9.4
|
352 |
+
* Updated: Japanese translation
|
353 |
+
* Updated: Polish translation
|
354 |
+
* Fixed: minor fixes in shortcode settings window
|
355 |
+
* Fixed: vulnerability in Examples preview. Added wp_nonce check. Thanks to [Kacper Szurek](http://security.szurek.pl/)
|
356 |
+
* Fixed: vulnerability at Custom CSS page. Added wp_nonce check. Thanks to [Ryan Satterfield](https://planetzuda.com/)
|
357 |
+
* Removed: skins directory creation
|
358 |
+
|
359 |
+
### 4.9.3
|
360 |
+
* Updated: owl-carousel.js
|
361 |
+
* Added: minor UI improvements
|
362 |
+
* Fixed: [vimeo] ssl issue (thanks to Adam)
|
363 |
+
* Fixed: multiple errors on cheatsheet page
|
364 |
+
* Fixed: errors when updating user profile, [forum topic](https://wordpress.org/support/topic/error-message-when-updating-users-in-wp-admin)
|
365 |
+
* Removed: global skin option at settings page
|
366 |
+
|
367 |
+
### 4.9.2
|
368 |
+
* Added: minor improvements for tabs/spoilers anchors (auto-removing extra # characters)
|
369 |
+
* Added: compatibility with TablePress's advanced editor
|
370 |
+
* Added: new option for tabs. You can now link any tab to any webpage [su_tab url="http://" target="blank"]
|
371 |
+
* Added: new option wmode for [youtube_advanced], [forum topic](http://wordpress.org/support/topic/youtube-player-option-request)
|
372 |
+
* Added: new shortcode [lightbox_content]
|
373 |
+
* Fixed: lightbox and galleries scripts, [forum topic](http://wordpress.org/support/topic/carousel-su-little-hack)
|
374 |
+
* Fixed: removed global function $.support.transition, [forum topic](http://wordpress.org/support/topic/transition-check-returns-string-instead-of-object)
|
375 |
+
* Updated: Russian language
|
376 |
+
* Updated: Japanese language
|
377 |
+
* Updated: FontAwesome, 4.1.0
|
378 |
+
* Updated: Magnific Popup, 0.9.9
|
379 |
+
|
380 |
+
### 4.9.1
|
381 |
+
* Added: New shortcode [scheduler]
|
382 |
+
* Added: New shortcode [expand]
|
383 |
+
* Added: New options for [divider]
|
384 |
+
* Added: New option `rel` for [button]
|
385 |
+
* Fixed: animations script has been changed. CSS animations will be skipped in non-supported browsers, [forum topic](http://wordpress.org/support/topic/disable-animations-on-non-supported-devicesbrowsers)
|
386 |
+
* Fixed: templates/default-loop.php - removed extra n character in comments number, [forum topic](http://wordpress.org/support/topic/minor-bug-in-templatesdefault-loopphp)
|
387 |
+
* Fixed: large DB query on sites with many users, [forum topic](http://wordpress.org/support/topic/installing-sc-ultimate-on-site-with-30000-wp-users)
|
388 |
+
|
389 |
+
### 4.9.0
|
390 |
+
* New shortcode [qrcode] allows you to generate colorful and responsive QR codes!
|
391 |
+
* Improved shortcode search. Just type shortcode name and hit Enter
|
392 |
+
* Updated Animate.css (animations library)
|
393 |
+
* Updated ACE editor (custom CSS editor)
|
394 |
+
* Responsive CSS for [tabs]
|
395 |
+
* Highly decreased plugin size
|
396 |
+
|
397 |
+
### 4.8
|
398 |
+
* Minor UI fixes (compatibility with page builders)
|
399 |
+
* Czech translation by [Punc00](http://nuze.cz/)
|
400 |
+
* Added: full compatibility with multiple editors on same page - [fourm topic](http://wordpress.org/support/topic/enhance-compatibility-with-other-plugins)
|
401 |
+
* Fixed: extra CSS class for [menu] - [forum topic](http://wordpress.org/support/topic/extra-css-class-not-working-on-menu-shortcode-video-included)
|
402 |
+
* Fixed: Swiper click event, Swiper has been updated - [forum topic](http://wordpress.org/support/topic/carousel-links-not-working)
|
403 |
+
* Fixed: [spoiler]'s content is now hidden until the page is loaded
|
404 |
+
* New dashboard page: Cheatsheet
|
405 |
+
* Minor [spoiler] fix, for hidden spoiler content
|
406 |
+
* Updated Japanese translation
|
407 |
+
|
408 |
+
### 4.7
|
409 |
+
* Long-awaited feature: slider, carousel and custom_gallery links can now be open with lightbox
|
410 |
+
* Long-awaited feature: custom links in slider, carousel and custom_gallery shortcodes
|
411 |
+
* Fixed https bug in FontAwesome enqueue
|
412 |
+
* Fixed bug with multiple users queries - [forum topic](http://wordpress.org/support/topic/plugin-making-700-sql-calls)
|
413 |
+
* New Ghost style for [button]
|
414 |
+
* Minor UI fixes (for WP 3.9+)
|
415 |
+
* New shortcode [dailymotion]
|
416 |
+
* YouTube (advanced) can now use https protocol
|
417 |
+
* Additional help notes in Shortcode Generator
|
418 |
+
* Slovak language
|
419 |
+
|
420 |
+
### 4.6
|
421 |
+
* Auto-save for shortcodes settings. Now you don't need to adjust it again and again
|
422 |
+
* New premium add-on - [Extra Shortcodes](http://gndev.info/shortcodes-ultimate/extra/)
|
423 |
+
* Minor UX improvements
|
424 |
+
* New locale - VI
|
425 |
+
* Fixed bug with tax_term IDs in [posts] shortcode, [forum topic](http://wordpress.org/support/topic/posts-tax_term-category-number)
|
426 |
+
* Fixed bug with service title, [forum topic](http://wordpress.org/support/topic/service-shortcode-not-wrapping-properly-on-mobile-browser)
|
427 |
+
* Fixed bug with animations names in shortcode generator, [forum topic](http://wordpress.org/support/topic/animations-2)
|
428 |
+
* Updated settings pages capabilities
|
429 |
+
* Added some hooks
|
430 |
+
* Updated .pot file
|
431 |
+
* Font-Awesome is now loaded from bootstrap CDN. [Technical details](http://stackoverflow.com/questions/20032426/fontawesome-doesnt-display-in-firefox).
|
432 |
+
* New review - [Shortcodes Ultimate: Ultimatize your written content](http://wisdmlabs.com/blog/how-to-style-wordpress-themes-with-shortcodes-ultimate/)
|
433 |
+
* New review - [Add 40+ New Layout Features To WordPress with Shortcodes Ultimate](http://www.makeuseof.com/tag/add-40-new-layout-features-wordpress-shortcodes-ultimate/)
|
434 |
+
* New review - [Show Me the Shortcode](http://thewpchick.com/show-shortcode/) + Video
|
435 |
+
* Updated readme.txt
|
436 |
+
* Compatibility with recent version of [SiteOrigin page builder](siteorigin.com/page-builder/) - it's free!
|
437 |
+
* Compatibility with recent version of [Visual Composer](http://vc.wpbakery.com/)
|
438 |
+
* Compatibility with recent version of [Elegant Themes page builder](http://www.elegantthemes.com/gallery/elegant-builder/)
|
439 |
+
|
440 |
+
### 4.5
|
441 |
+
* Updated some examples
|
442 |
+
* Removed import functions. Old versions of plugin (like 3.9.5) is not supported anymore
|
443 |
+
* Updated custom formatting filter
|
444 |
+
* Updated Japanese translation
|
445 |
+
* Added NL translation
|
446 |
+
* Minor fixes
|
447 |
+
* Presets. Now you need to adjust the shortcodes only once
|
448 |
+
* New WP filters for shortcodes attributes
|
449 |
+
* New option for compatibility mode prefix
|
450 |
+
* Compatibility mode is now enabled by default
|
451 |
+
* Font-awesome updated to 4.0.3
|
452 |
+
* New shortcode [meta]
|
453 |
+
* New shortcode [user]
|
454 |
+
* New shortcode [post]
|
455 |
+
* New attribute limit for [slider], [carousel] and [custom_gallery]
|
456 |
+
* Minor UX improvements
|
457 |
+
|
458 |
+
### 4.4
|
459 |
+
* __IMPORTANT__: new galleries mechanism. Your created galleries will work but will not be visible in admin panel. Now, you're able to create galleries right in "Insert shortcode" window. Also, you can now create galleries from posts, categories or even custom taxonomies.
|
460 |
+
* Removed all default links (default youtube videos)
|
461 |
+
* Updated admin page framework Sunrise
|
462 |
+
* Minor admin panel fixes
|
463 |
+
* Fixed file_get_contents() (disabled http wrappers) issue at the examples page
|
464 |
+
* Added classes Shortcodes_Ultimate_Generator, Shortcodes_Ultimate_Shortcodes and Shortcodes_Ultimate_Data
|
465 |
+
* Removed unused classes MediaUpload and ImageMeta
|
466 |
+
* New shortocde [dummy_image]
|
467 |
+
* New shortocde [dummy_text]
|
468 |
+
* New shortocde [animate]
|
469 |
+
* New shortocde [youtube_advanced]
|
470 |
+
* New admin page - Examples
|
471 |
+
* New admin page - Add-ons
|
472 |
+
* Font Awesome updated to version 4
|
473 |
+
* New attr [spoiler icon=""]
|
474 |
+
* Fixed issue with date format in [posts]
|
475 |
+
* New slider control for shortcode generator
|
476 |
+
* Small fixes
|
477 |
+
|
478 |
+
### 4.3
|
479 |
+
* New text-shadow picker for [button]
|
480 |
+
* Anchor navigation for spoilers and tabs - [forum topic](http://wordpress.org/support/topic/hyperlinks-to-spoilers-and-tabs)
|
481 |
+
* Small fixes
|
482 |
+
* IMPORTANT: removed old list icons. These icons replaced with new font-awesome icons
|
483 |
+
* New icon picker for [service], [button] and [list]
|
484 |
+
* Media manager is now works on widgets page
|
485 |
+
* Shortcodes inside of [button]
|
486 |
+
* Fixed fatal error in [media]
|
487 |
+
* New media manager added for galleries manager
|
488 |
+
* New media manager added to the file fields in Generator
|
489 |
+
* Z-index for visual composer - [forum topic](http://wordpress.org/support/topic/compatible-with-visual-composer)
|
490 |
+
* New attr for [button] onclick
|
491 |
+
* Fixed settings page
|
492 |
+
* Fixed [video] player
|
493 |
+
|
494 |
+
### 4.2
|
495 |
+
* Font Awesome icons (in Generator)
|
496 |
+
* Fixed warning in footer - [forum topic](http://wordpress.org/support/topic/bug-showing-in-online-site-after-updating-the-plugin)
|
497 |
+
* Removed warning at settings page - [forum topic](http://wordpress.org/support/topic/warning-on-settings-page)
|
498 |
+
* Removed another warning (undefined index) - [forum topic](http://wordpress.org/support/topic/undefined-index-with-wp_debug-true)
|
499 |
+
* Changed syntax for shortcodes inside of attributes - [documentation](http://gndev.info/kb/how-to-use-another-shortcodes-inside-of-attributes/)
|
500 |
+
* Small performance improvemets
|
501 |
+
* Aded font-awesome.css. Will be completely included in closest versions
|
502 |
+
* Added default taxonomy value for [posts]
|
503 |
+
* Added default post_type value for [posts]
|
504 |
+
* Added ability to use shortcodes inside of attributes
|
505 |
+
* Translated into Japanese
|
506 |
+
* Fixed [button wide=yes]
|
507 |
+
* Fixed media query for [column]
|
508 |
+
* Added new attr [column center=yes]
|
509 |
+
* Improved js code for spoilers and tabs
|
510 |
+
* Improved js code for generator
|
511 |
+
* Added pot file
|
512 |
+
* Fixed [button] css code
|
513 |
+
* Updated [accordion], [spoiler] and [tabs] js code
|
514 |
+
* Fixed [tooltip]
|
515 |
+
* Updated Greek translation
|
516 |
+
* Fixed [lightbox]
|
517 |
+
* Disabled wp_footer check
|
518 |
+
* Fixed wp_footer notice, again
|
519 |
+
* Small fix for tooltips
|
520 |
+
* Fixed wp_footer notice
|
521 |
+
* Greek translation
|
522 |
+
* Added compatibility mode prefix for spoilers inside of accordion
|
523 |
+
* Updated qTip plugin
|
524 |
+
* Added shortcode [tooltip]
|
525 |
+
* Added new attribute. [tab disabled="yes"]. Now, any tab can be disabled. [Forum topic](http://wordpress.org/support/topic/tabs-how-to-disable-one-of-the-tabs)
|
526 |
+
* Added [accordion] scrolling. [Forum topic](http://wordpress.org/support/topic/accordion-usability-issue)
|
527 |
+
* Added wp_footer check. User will be noticed if current theme doen't includes wp_footer
|
528 |
+
* Updated caching mechanism. Cache will be reseted when you add or remove terms
|
529 |
+
* Updated galleries mechanism. Removed some conflicts
|
530 |
+
* Fixed spoiler background for style=fancy
|
531 |
+
* Additional access check option for Shortcode Generator
|
532 |
+
|
533 |
+
### 4.1
|
534 |
+
* [5 metro skins](http://gndev.info/shortcodes-ultimate/metro-skins/)
|
535 |
+
* New screencast - [How to create image gallery](http://www.youtube.com/watch?v=kCWyO2F7jTw)
|
536 |
+
* New attribute "center" for [button]. Buttons can now be centered on the page
|
537 |
+
* Updated [frame]. Now it can contain other shortcodes
|
538 |
+
* Updated caching mechanism. Cache now will be reseted on plugin activation
|
539 |
+
* Fixed many PHP warnings when debug mode enabled
|
540 |
+
* Added backward compatibility for [media]. Shortcode has basic support for youtube and vimeo videos
|
541 |
+
* Fixed bug with hidden single [tab]
|
542 |
+
* Added attribute "active" for tabs container. This option allows you to select tab number that will be open by default
|
543 |
+
* Fixd button style 3D
|
544 |
+
* Added backward compatibility for [frame]
|
545 |
+
* Fixed [column] margins
|
546 |
+
* Added backward compatibility for [tabs]. Now it accepts style=3 and vertical attributes
|
547 |
+
* Added backward compatibility for [spoiler]. Now it accepts 0 and 1 as values for attribute open. Also, it now accepts style attribute (1, 2, default, fancy, simple)
|
548 |
+
* Added custom CSS import from previous versions. Styles will be imported automatically and prepended to the existing CSS-code
|
549 |
+
* Added backward compatibility for [highlight]. Now it accepts bg and background attributes
|
550 |
+
* Added backward compatibility for [label]. Now it accepts style and type attributes
|
551 |
+
* Added backward compatibility for [dropcap]. Now it accepts 1, 2 and 3 as style values
|
552 |
+
* Added backward compatibility for [permalink]. Now it accepts p and id attributes
|
553 |
+
* Added backward compatibility for [button]. Need to test
|
554 |
+
* Added backward compatibility for [members]. Now it accepts style and login attributes
|
555 |
+
* Added backward compatibility for [box]. Now it accepts color and box_color attributes
|
556 |
+
* Added backward compatibility for [note]. Now it accepts color and note_color attributes
|
557 |
+
* Added backward compatibility for [column]. Now it accepts attribute last and can be not wrapped with [row]
|
558 |
+
* Added backward compatibility for [document]. Now it accepts file and url attributes
|
559 |
+
|
560 |
+
### 4.0
|
561 |
+
* [Official plugin page](http://gndev.info/shortcodes-ultimate/)
|
562 |
+
* [Premium add-on for creating custom shortcodes](http://gndev.info/shortcodes-ultimate/maker/)
|
563 |
+
* Plugin based on [Sunrise Plugin Framework](https://github.com/gndev/sunrise)
|
564 |
+
* [GitHub repo](https://github.com/gndev/shortcodes-ultimate). Now you can easily fork and modify best plugin in the world (:
|
565 |
+
* Brand new Shortcode Generator, [demo video](http://www.youtube.com/watch?v=DR2c266yWEA)
|
566 |
+
* [Shortcodes API](http://gndev.info/kb/shortcodes-ultimate-api-overview/)
|
567 |
+
* Completely reorganized code. Added and removed some shortcodes
|
568 |
+
* For security maniacs: timthumb.php replaced by native WordPress mechanism
|
569 |
+
* For speed-up maniacs: completely rewritten assets mechanism. Now css and js files included on page depend on used shortcodes
|
570 |
+
* Added new shortcode [posts]. This is awesome and flexible mechanism to display your content in many different ways
|
571 |
+
* Now you can create your own custom skins for shortcodes
|
572 |
+
* Columns, google maps, google document viewer, youtube player, vimeo player and custom audio player is now fully responsive
|
573 |
+
|
574 |
+
### 3.9
|
575 |
+
* More screencasts
|
576 |
+
* Special widget for shortcodes
|
577 |
+
* Small fixes
|
578 |
+
* Hebrew translation
|
579 |
+
* [Awesome tutorial by Digital Cascade TV](http://www.youtube.com/watch?v=IjmaXz-b55I)
|
580 |
+
* Partners section on settings page
|
581 |
+
* Generator select improved with [Chosen](http://harvesthq.github.com/chosen/)
|
582 |
+
* Farbtastic color picker
|
583 |
+
|
584 |
+
### 3.8 (security release)
|
585 |
+
* 2 new translations (Sk, Lt)
|
586 |
+
* Donate button in control panel
|
587 |
+
* Updated timthumb.php (version 2.8.10)
|
588 |
+
* Added 2 useful screencasts
|
589 |
+
|
590 |
+
### 3.7
|
591 |
+
* Complete support for nested shortcodes. Check the FAQ page.
|
592 |
+
* New shortcode [label]
|
593 |
+
* New style for buttons [button style="5"]
|
594 |
+
* Fixed images ordering for [custom_gallery], [jcarousel] and [nivo_slider]
|
595 |
+
|
596 |
+
### 3.6
|
597 |
+
* Descriptions for [custom_gallery]
|
598 |
+
* Custom options for jwPlayer
|
599 |
+
* Fixed size option for sliders and gallery
|
600 |
+
|
601 |
+
### 3.5
|
602 |
+
* New shortcode [accordion] for muliple spoilers
|
603 |
+
* Improved spoiler shortcode (check settings page)
|
604 |
+
* Multiple tabs bugfix
|
605 |
+
* Authors can also use shortcode generator
|
606 |
+
* Nested shortcodes: spoiler, column, tabs, box, note
|
607 |
+
|
608 |
+
### 3.4
|
609 |
+
* Belarusian translation
|
610 |
+
* New shortcode [dropcap]
|
611 |
+
|
612 |
+
### 3.3
|
613 |
+
* Changed: [nivo_slider] and [jcarousel] (see docs in console)
|
614 |
+
* New shortcode: [custom_gallery]
|
615 |
+
* New parameter: [members login="0|1"]
|
616 |
+
* New shortcode: guests
|
617 |
+
* German translation
|
618 |
+
|
619 |
+
### 3.0
|
620 |
+
* Button for WYSIWIG editor (search it near Upload/Insert buttons)
|
621 |
+
* New shortcode: private (private notes for editors)
|
622 |
+
* Patched and secure timthumb.php
|
623 |
+
|
624 |
+
### 2.7
|
625 |
+
* French translation
|
626 |
+
* Fixed for work with new jQuery 1.6 in WP 3.2
|
627 |
+
|
628 |
+
### 2.5
|
629 |
+
* Theme integration
|
630 |
+
|
631 |
+
### 2.4
|
632 |
+
* New shortcode: jcarousel
|
633 |
+
|
634 |
+
### 2.3
|
635 |
+
* New admin page: Demo
|
636 |
+
|
637 |
+
### 2.2
|
638 |
+
* New shortcode: document
|
639 |
+
* New shortcode: members
|
640 |
+
* New shortcode: feed
|
641 |
+
* New attr: link="caption" for [nivo_slider]
|
642 |
+
* New attr: p for [subpages]
|
643 |
+
* New tabs style (style=3)
|
644 |
+
|
645 |
+
### 2.1
|
646 |
+
* New option: disable any script
|
647 |
+
* New option: disable any stylesheet
|
648 |
+
* New attribute for column shortcode - style
|
649 |
+
* New attribute for spoiler shortcode - style
|
650 |
+
|
651 |
+
### 2.0
|
652 |
+
* New shortcode: menu
|
653 |
+
* New shortcode: subpages
|
654 |
+
* New shortcode: siblings
|
655 |
+
* Some admin fixes
|
656 |
+
* New button attribute - class
|
657 |
+
* New button attribute - target
|
658 |
+
* Different tabs styles (1 old + 1 new)
|
659 |
+
|
660 |
+
### 1.9
|
661 |
+
* New shortcode: permalink
|
662 |
+
* New shortcode: bloginfo
|
663 |
+
|
664 |
+
### 1.8
|
665 |
+
* Some small additions
|
666 |
+
* Ajax admin page
|
667 |
+
* No-js compatibility
|
668 |
+
* Multiple tabs support
|
669 |
+
|
670 |
+
### 1.7
|
671 |
+
* Improved settings page design
|
672 |
+
* Added shortcode nivo_slider
|
673 |
+
* Added shortcode photoshop
|
674 |
+
|
675 |
+
### 1.6
|
676 |
+
* New admin panel
|
677 |
+
* Custom CSS editor with syntax hughlight
|
678 |
+
* Small fixes
|
679 |
+
* Added donation forms
|
680 |
+
|
681 |
+
### 1.5
|
682 |
+
* Added option "Compatibility mode"
|
683 |
+
* Added new button styles
|
684 |
+
* Added new list styles
|
685 |
+
* Added new shortcode media
|
686 |
+
* Added new shortcode table
|
687 |
+
|
688 |
+
### 1.4
|
689 |
+
* Added shortcode "Fancy link"
|
690 |
+
|
691 |
+
### 1.3
|
692 |
+
* Some fixes
|
693 |
+
|
694 |
+
### 1.2
|
695 |
+
* Localization support
|
696 |
+
|
697 |
+
### 1.1
|
698 |
+
* Added options page
|
699 |
+
* Fixed options saving
|
700 |
+
|
701 |
+
### 1.0
|
702 |
+
* Initial release
|
credits.txt
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
- Dmitry Semenov - [Magnific Popup jQuery plugin](http://dimsemenov.com/plugins/magnific-popup/)
|
2 |
+
- Craig Thompson - [qTip jQuery plugin](http://qtip2.com/)
|
3 |
+
- Vladimir Kharlampidi - [Swiper jQuery plugin](http://www.idangero.us/sliders/swiper/)
|
4 |
+
- David DeSandro - [Flickity – Touch, responsive, flickable carousels](https://flickity.metafizzy.co/)
|
5 |
+
- [Fork Awesome & Dave Gandy](https://github.com/ForkAwesome/Fork-Awesome)
|
6 |
+
- James Smith - [Simple Slider jQuery plugin](http://loopj.com/jquery-simple-slider/)
|
7 |
+
- pt_br locale: [Ibidem Translations](http://www.ibidem-translations.com/)
|
8 |
+
- fr_fr locale: [Nicolas Leclerc](http://etic-studio.fr/)
|
9 |
+
- el_gr locale: [Kleanthis Manolopoulos](mailto:akis_manolopoulos_at_hotmail_dot_com)
|
10 |
+
- sk_sk locale: [Patrik Žec (PATWIST)](http://patwist.com/)
|
11 |
+
- cs_cz locale: [Punc00](http://nuze.cz/)
|
12 |
+
- sv_se locale: [Javier Marcilla](http://ninjaseo.es/)
|
13 |
+
- [External resources](https://getshortcodes.com/docs/external-resources/)
|
inc/core/generator-views.php
CHANGED
@@ -49,7 +49,9 @@ class Su_Generator_Views {
|
|
49 |
$types = get_post_types( array(), 'objects', 'or' );
|
50 |
|
51 |
// Prepare empty array for values
|
52 |
-
$field['values'] = array(
|
|
|
|
|
53 |
|
54 |
// Fill the array
|
55 |
foreach( $types as $type ) {
|
49 |
$types = get_post_types( array(), 'objects', 'or' );
|
50 |
|
51 |
// Prepare empty array for values
|
52 |
+
$field['values'] = array(
|
53 |
+
'any' => _x( 'Any post type', 'shortcodes-ultimate' ),
|
54 |
+
);
|
55 |
|
56 |
// Fill the array
|
57 |
foreach( $types as $type ) {
|
includes/config/addons.php
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
<?php
|
2 |
|
3 |
return apply_filters(
|
4 |
'su/data/addons',
|
1 |
+
<?php defined( 'ABSPATH' ) || exit;
|
2 |
|
3 |
return apply_filters(
|
4 |
'su/data/addons',
|
includes/config/animations.php
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
<?php
|
2 |
|
3 |
return apply_filters(
|
4 |
'su/data/animations',
|
1 |
+
<?php defined( 'ABSPATH' ) || exit;
|
2 |
|
3 |
return apply_filters(
|
4 |
'su/data/animations',
|
includes/config/borders.php
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
<?php
|
2 |
|
3 |
return apply_filters(
|
4 |
'su/data/borders',
|
1 |
+
<?php defined( 'ABSPATH' ) || exit;
|
2 |
|
3 |
return apply_filters(
|
4 |
'su/data/borders',
|
includes/config/crop-ratios.php
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
<?php
|
2 |
|
3 |
return apply_filters(
|
4 |
'su/config/crop_ratios',
|
1 |
+
<?php defined( 'ABSPATH' ) || exit;
|
2 |
|
3 |
return apply_filters(
|
4 |
'su/config/crop_ratios',
|
includes/config/default-settings.php
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
<?php
|
2 |
|
3 |
return apply_filters(
|
4 |
'su/config/default_settings',
|
1 |
+
<?php defined( 'ABSPATH' ) || exit;
|
2 |
|
3 |
return apply_filters(
|
4 |
'su/config/default_settings',
|
includes/config/groups.php
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
<?php
|
2 |
|
3 |
return apply_filters(
|
4 |
'su/data/groups',
|
1 |
+
<?php defined( 'ABSPATH' ) || exit;
|
2 |
|
3 |
return apply_filters(
|
4 |
'su/data/groups',
|
includes/config/icons.php
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
-
<?php
|
2 |
|
3 |
return apply_filters( 'su/data/icons', array( 'glass', 'music', 'search', 'envelope-o', 'heart', 'star', 'star-o', 'user', 'film', 'th-large', 'th', 'th-list', 'check', 'remove', 'close', 'times', 'search-plus', 'search-minus', 'power-off', 'signal', 'gear', 'cog', 'trash-o', 'home', 'file-o', 'clock-o', 'road', 'download', 'arrow-circle-o-down', 'arrow-circle-o-up', 'inbox', 'play-circle-o', 'rotate-right', 'repeat', 'refresh', 'list-alt', 'lock', 'flag', 'headphones', 'volume-off', 'volume-down', 'volume-up', 'qrcode', 'barcode', 'tag', 'tags', 'book', 'bookmark', 'print', 'camera', 'font', 'bold', 'italic', 'text-height', 'text-width', 'align-left', 'align-center', 'align-right', 'align-justify', 'list', 'dedent', 'outdent', 'indent', 'video-camera', 'photo', 'image', 'picture-o', 'pencil', 'map-marker', 'adjust', 'tint', 'edit', 'pencil-square-o', 'share-square-o', 'check-square-o', 'arrows', 'step-backward', 'fast-backward', 'backward', 'play', 'pause', 'stop', 'forward', 'fast-forward', 'step-forward', 'eject', 'chevron-left', 'chevron-right', 'plus-circle', 'minus-circle', 'times-circle', 'check-circle', 'question-circle', 'info-circle', 'crosshairs', 'times-circle-o', 'check-circle-o', 'ban', 'arrow-left', 'arrow-right', 'arrow-up', 'arrow-down', 'mail-forward', 'share', 'expand', 'compress', 'plus', 'minus', 'asterisk', 'exclamation-circle', 'gift', 'leaf', 'fire', 'eye', 'eye-slash', 'warning', 'exclamation-triangle', 'plane', 'calendar', 'random', 'comment', 'magnet', 'chevron-up', 'chevron-down', 'retweet', 'shopping-cart', 'folder', 'folder-open', 'arrows-v', 'arrows-h', 'bar-chart-o', 'bar-chart', 'twitter-square', 'facebook-square', 'camera-retro', 'key', 'gears', 'cogs', 'comments', 'thumbs-o-up', 'thumbs-o-down', 'star-half', 'heart-o', 'sign-out', 'linkedin-square', 'thumb-tack', 'external-link', 'sign-in', 'trophy', 'github-square', 'upload', 'lemon-o', 'phone', 'square-o', 'bookmark-o', 'phone-square', 'twitter', 'facebook-f', 'facebook', 'github', 'unlock', 'credit-card', 'feed', 'rss', 'hdd-o', 'bullhorn', 'bell', 'certificate', 'hand-o-right', 'hand-o-left', 'hand-o-up', 'hand-o-down', 'arrow-circle-left', 'arrow-circle-right', 'arrow-circle-up', 'arrow-circle-down', 'globe', 'globe-e', 'globe-w', 'wrench', 'tasks', 'filter', 'briefcase', 'arrows-alt', 'community', 'group', 'users', 'chain', 'link', 'cloud', 'flask', 'cut', 'scissors', 'copy', 'files-o', 'paperclip', 'save', 'floppy-o', 'square', 'navicon', 'reorder', 'bars', 'list-ul', 'list-ol', 'strikethrough', 'underline', 'table', 'magic', 'truck', 'pinterest', 'pinterest-square', 'google-plus-square', 'google-plus', 'money', 'caret-down', 'caret-up', 'caret-left', 'caret-right', 'columns', 'unsorted', 'sort', 'sort-down', 'sort-desc', 'sort-up', 'sort-asc', 'envelope', 'linkedin', 'rotate-left', 'undo', 'legal', 'gavel', 'dashboard', 'tachometer', 'comment-o', 'comments-o', 'flash', 'bolt', 'sitemap', 'umbrella', 'paste', 'clipboard', 'lightbulb-o', 'exchange', 'cloud-download', 'cloud-upload', 'user-md', 'stethoscope', 'suitcase', 'bell-o', 'coffee', 'cutlery', 'file-text-o', 'building-o', 'hospital-o', 'ambulance', 'medkit', 'fighter-jet', 'beer', 'h-square', 'plus-square', 'angle-double-left', 'angle-double-right', 'angle-double-up', 'angle-double-down', 'angle-left', 'angle-right', 'angle-up', 'angle-down', 'desktop', 'laptop', 'tablet', 'mobile-phone', 'mobile', 'circle-o', 'quote-left', 'quote-right', 'spinner', 'circle', 'mail-reply', 'reply', 'github-alt', 'folder-o', 'folder-open-o', 'smile-o', 'frown-o', 'meh-o', 'gamepad', 'keyboard-o', 'flag-o', 'flag-checkered', 'terminal', 'code', 'mail-reply-all', 'reply-all', 'star-half-empty', 'star-half-full', 'star-half-o', 'location-arrow', 'crop', 'code-fork', 'unlink', 'chain-broken', 'question', 'info', 'exclamation', 'superscript', 'subscript', 'eraser', 'puzzle-piece', 'microphone', 'microphone-slash', 'shield', 'calendar-o', 'fire-extinguisher', 'rocket', 'maxcdn', 'chevron-circle-left', 'chevron-circle-right', 'chevron-circle-up', 'chevron-circle-down', 'html5', 'css3', 'anchor', 'unlock-alt', 'bullseye', 'ellipsis-h', 'ellipsis-v', 'rss-square', 'play-circle', 'ticket', 'minus-square', 'minus-square-o', 'level-up', 'level-down', 'check-square', 'pencil-square', 'external-link-square', 'share-square', 'compass', 'toggle-down', 'caret-square-o-down', 'toggle-up', 'caret-square-o-up', 'toggle-right', 'caret-square-o-right', 'euro', 'eur', 'gbp', 'dollar', 'usd', 'rupee', 'inr', 'cny', 'rmb', 'yen', 'jpy', 'ruble', 'rouble', 'rub', 'won', 'krw', 'bitcoin', 'btc', 'file', 'file-text', 'sort-alpha-asc', 'sort-alpha-desc', 'sort-amount-asc', 'sort-amount-desc', 'sort-numeric-asc', 'sort-numeric-desc', 'thumbs-up', 'thumbs-down', 'youtube-square', 'youtube', 'xing', 'xing-square', 'youtube-play', 'dropbox', 'stack-overflow', 'instagram', 'flickr', 'adn', 'bitbucket', 'bitbucket-square', 'tumblr', 'tumblr-square', 'long-arrow-down', 'long-arrow-up', 'long-arrow-left', 'long-arrow-right', 'apple', 'windows', 'android', 'linux', 'dribbble', 'skype', 'foursquare', 'trello', 'female', 'male', 'gittip', 'gratipay', 'sun-o', 'moon-o', 'archive', 'bug', 'vk', 'weibo', 'renren', 'pagelines', 'stack-exchange', 'arrow-circle-o-right', 'arrow-circle-o-left', 'toggle-left', 'caret-square-o-left', 'dot-circle-o', 'wheelchair', 'vimeo-square', 'turkish-lira', 'try', 'plus-square-o', 'space-shuttle', 'slack', 'envelope-square', 'wordpress', 'openid', 'institution', 'bank', 'university', 'mortar-board', 'graduation-cap', 'yahoo', 'google', 'reddit', 'reddit-square', 'stumbleupon-circle', 'stumbleupon', 'delicious', 'digg', 'drupal', 'joomla', 'language', 'fax', 'building', 'child', 'paw', 'spoon', 'cube', 'cubes', 'behance', 'behance-square', 'steam', 'steam-square', 'recycle', 'automobile', 'car', 'cab', 'taxi', 'tree', 'spotify', 'deviantart', 'soundcloud', 'database', 'file-pdf-o', 'file-word-o', 'file-excel-o', 'file-powerpoint-o', 'file-photo-o', 'file-picture-o', 'file-image-o', 'file-zip-o', 'file-archive-o', 'file-sound-o', 'file-audio-o', 'file-movie-o', 'file-video-o', 'file-code-o', 'vine', 'codepen', 'jsfiddle', 'life-bouy', 'life-buoy', 'life-saver', 'support', 'life-ring', 'circle-o-notch', 'ra', 'resistance', 'rebel', 'ge', 'empire', 'git-square', 'git', 'y-combinator-square', 'yc-square', 'hacker-news', 'tencent-weibo', 'qq', 'wechat', 'weixin', 'send', 'paper-plane', 'send-o', 'paper-plane-o', 'history', 'circle-thin', 'header', 'paragraph', 'sliders', 'share-alt', 'share-alt-square', 'bomb', 'soccer-ball-o', 'futbol-o', 'tty', 'binoculars', 'plug', 'slideshare', 'twitch', 'yelp', 'newspaper-o', 'wifi', 'calculator', 'paypal', 'google-wallet', 'cc-visa', 'cc-mastercard', 'cc-discover', 'cc-amex', 'cc-paypal', 'cc-stripe', 'bell-slash', 'bell-slash-o', 'trash', 'copyright', 'at', 'eyedropper', 'paint-brush', 'birthday-cake', 'area-chart', 'pie-chart', 'line-chart', 'lastfm', 'lastfm-square', 'toggle-off', 'toggle-on', 'bicycle', 'bus', 'ioxhost', 'angellist', 'cc', 'shekel', 'sheqel', 'ils', 'meanpath', 'buysellads', 'connectdevelop', 'dashcube', 'forumbee', 'leanpub', 'sellsy', 'shirtsinbulk', 'simplybuilt', 'skyatlas', 'cart-plus', 'cart-arrow-down', 'diamond', 'ship', 'user-secret', 'motorcycle', 'street-view', 'heartbeat', 'venus', 'mars', 'mercury', 'intersex', 'transgender', 'transgender-alt', 'venus-double', 'mars-double', 'venus-mars', 'mars-stroke', 'mars-stroke-v', 'mars-stroke-h', 'neuter', 'genderless', 'facebook-official', 'pinterest-p', 'whatsapp', 'server', 'user-plus', 'user-times', 'hotel', 'bed', 'viacoin', 'train', 'subway', 'medium', 'medium-square', 'yc', 'y-combinator', 'optin-monster', 'opencart', 'expeditedssl', 'battery-4', 'battery', 'battery-full', 'battery-3', 'battery-three-quarters', 'battery-2', 'battery-half', 'battery-1', 'battery-quarter', 'battery-0', 'battery-empty', 'mouse-pointer', 'i-cursor', 'object-group', 'object-ungroup', 'sticky-note', 'sticky-note-o', 'cc-jcb', 'cc-diners-club', 'clone', 'balance-scale', 'hourglass-o', 'hourglass-1', 'hourglass-start', 'hourglass-2', 'hourglass-half', 'hourglass-3', 'hourglass-end', 'hourglass', 'hand-grab-o', 'hand-rock-o', 'hand-stop-o', 'hand-paper-o', 'hand-scissors-o', 'hand-lizard-o', 'hand-spock-o', 'hand-pointer-o', 'hand-peace-o', 'trademark', 'registered', 'creative-commons', 'gg', 'gg-circle', 'tripadvisor', 'odnoklassniki', 'odnoklassniki-square', 'get-pocket', 'wikipedia-w', 'safari', 'chrome', 'firefox', 'opera', 'internet-explorer', 'tv', 'television', 'contao', '500px', 'amazon', 'calendar-plus-o', 'calendar-minus-o', 'calendar-times-o', 'calendar-check-o', 'industry', 'map-pin', 'map-signs', 'map-o', 'map', 'commenting', 'commenting-o', 'houzz', 'vimeo', 'black-tie', 'fonticons', 'reddit-alien', 'edge', 'credit-card-alt', 'codiepie', 'modx', 'fort-awesome', 'usb', 'product-hunt', 'mixcloud', 'scribd', 'pause-circle', 'pause-circle-o', 'stop-circle', 'stop-circle-o', 'shopping-bag', 'shopping-basket', 'hashtag', 'bluetooth', 'bluetooth-b', 'percent', 'gitlab', 'wpbeginner', 'wpforms', 'envira', 'universal-access', 'wheelchair-alt', 'question-circle-o', 'blind', 'audio-description', 'volume-control-phone', 'braille', 'assistive-listening-systems', 'asl-interpreting', 'american-sign-language-interpreting', 'deafness', 'hard-of-hearing', 'deaf', 'glide', 'glide-g', 'signing', 'sign-language', 'low-vision', 'viadeo', 'viadeo-square', 'snapchat', 'snapchat-ghost', 'snapchat-square', 'first-order', 'yoast', 'themeisle', 'google-plus-circle', 'google-plus-official', 'fa', 'font-awesome', 'handshake-o', 'envelope-open', 'envelope-open-o', 'linode', 'address-book', 'address-book-o', 'vcard', 'address-card', 'vcard-o', 'address-card-o', 'user-circle', 'user-circle-o', 'user-o', 'id-badge', 'drivers-license', 'id-card', 'drivers-license-o', 'id-card-o', 'quora', 'free-code-camp', 'telegram', 'thermometer-4', 'thermometer', 'thermometer-full', 'thermometer-3', 'thermometer-three-quarters', 'thermometer-2', 'thermometer-half', 'thermometer-1', 'thermometer-quarter', 'thermometer-0', 'thermometer-empty', 'shower', 'bathtub', 's15', 'bath', 'podcast', 'window-maximize', 'window-minimize', 'window-restore', 'times-rectangle', 'window-close', 'times-rectangle-o', 'window-close-o', 'bandcamp', 'grav', 'etsy', 'imdb', 'ravelry', 'eercast', 'microchip', 'snowflake-o', 'superpowers', 'wpexplorer', 'meetup', 'mastodon', 'mastodon-alt', 'fork-circle', 'fork-awesome', 'peertube', 'diaspora', 'friendica', 'gnu-social', 'liberapay-square', 'liberapay', 'ssb', 'scuttlebutt', 'hubzilla', 'social-home', 'artstation', 'discord', 'discord-alt', 'patreon', 'snowdrift', 'activitypub', 'ethereum', 'keybase', 'shaarli', 'shaarli-o', 'cut-key', 'key-modern', 'xmpp', 'archive-org', 'freedombox', 'facebook-messenger', 'debian', 'mastodon-square', 'tipeee', 'react', 'dogmazic', 'zotero', 'nodejs', 'nextcloud', 'nextcloud-square', 'hackaday', 'laravel', 'signalapp' ) );
|
1 |
+
<?php defined( 'ABSPATH' ) || exit;
|
2 |
|
3 |
return apply_filters( 'su/data/icons', array( 'glass', 'music', 'search', 'envelope-o', 'heart', 'star', 'star-o', 'user', 'film', 'th-large', 'th', 'th-list', 'check', 'remove', 'close', 'times', 'search-plus', 'search-minus', 'power-off', 'signal', 'gear', 'cog', 'trash-o', 'home', 'file-o', 'clock-o', 'road', 'download', 'arrow-circle-o-down', 'arrow-circle-o-up', 'inbox', 'play-circle-o', 'rotate-right', 'repeat', 'refresh', 'list-alt', 'lock', 'flag', 'headphones', 'volume-off', 'volume-down', 'volume-up', 'qrcode', 'barcode', 'tag', 'tags', 'book', 'bookmark', 'print', 'camera', 'font', 'bold', 'italic', 'text-height', 'text-width', 'align-left', 'align-center', 'align-right', 'align-justify', 'list', 'dedent', 'outdent', 'indent', 'video-camera', 'photo', 'image', 'picture-o', 'pencil', 'map-marker', 'adjust', 'tint', 'edit', 'pencil-square-o', 'share-square-o', 'check-square-o', 'arrows', 'step-backward', 'fast-backward', 'backward', 'play', 'pause', 'stop', 'forward', 'fast-forward', 'step-forward', 'eject', 'chevron-left', 'chevron-right', 'plus-circle', 'minus-circle', 'times-circle', 'check-circle', 'question-circle', 'info-circle', 'crosshairs', 'times-circle-o', 'check-circle-o', 'ban', 'arrow-left', 'arrow-right', 'arrow-up', 'arrow-down', 'mail-forward', 'share', 'expand', 'compress', 'plus', 'minus', 'asterisk', 'exclamation-circle', 'gift', 'leaf', 'fire', 'eye', 'eye-slash', 'warning', 'exclamation-triangle', 'plane', 'calendar', 'random', 'comment', 'magnet', 'chevron-up', 'chevron-down', 'retweet', 'shopping-cart', 'folder', 'folder-open', 'arrows-v', 'arrows-h', 'bar-chart-o', 'bar-chart', 'twitter-square', 'facebook-square', 'camera-retro', 'key', 'gears', 'cogs', 'comments', 'thumbs-o-up', 'thumbs-o-down', 'star-half', 'heart-o', 'sign-out', 'linkedin-square', 'thumb-tack', 'external-link', 'sign-in', 'trophy', 'github-square', 'upload', 'lemon-o', 'phone', 'square-o', 'bookmark-o', 'phone-square', 'twitter', 'facebook-f', 'facebook', 'github', 'unlock', 'credit-card', 'feed', 'rss', 'hdd-o', 'bullhorn', 'bell', 'certificate', 'hand-o-right', 'hand-o-left', 'hand-o-up', 'hand-o-down', 'arrow-circle-left', 'arrow-circle-right', 'arrow-circle-up', 'arrow-circle-down', 'globe', 'globe-e', 'globe-w', 'wrench', 'tasks', 'filter', 'briefcase', 'arrows-alt', 'community', 'group', 'users', 'chain', 'link', 'cloud', 'flask', 'cut', 'scissors', 'copy', 'files-o', 'paperclip', 'save', 'floppy-o', 'square', 'navicon', 'reorder', 'bars', 'list-ul', 'list-ol', 'strikethrough', 'underline', 'table', 'magic', 'truck', 'pinterest', 'pinterest-square', 'google-plus-square', 'google-plus', 'money', 'caret-down', 'caret-up', 'caret-left', 'caret-right', 'columns', 'unsorted', 'sort', 'sort-down', 'sort-desc', 'sort-up', 'sort-asc', 'envelope', 'linkedin', 'rotate-left', 'undo', 'legal', 'gavel', 'dashboard', 'tachometer', 'comment-o', 'comments-o', 'flash', 'bolt', 'sitemap', 'umbrella', 'paste', 'clipboard', 'lightbulb-o', 'exchange', 'cloud-download', 'cloud-upload', 'user-md', 'stethoscope', 'suitcase', 'bell-o', 'coffee', 'cutlery', 'file-text-o', 'building-o', 'hospital-o', 'ambulance', 'medkit', 'fighter-jet', 'beer', 'h-square', 'plus-square', 'angle-double-left', 'angle-double-right', 'angle-double-up', 'angle-double-down', 'angle-left', 'angle-right', 'angle-up', 'angle-down', 'desktop', 'laptop', 'tablet', 'mobile-phone', 'mobile', 'circle-o', 'quote-left', 'quote-right', 'spinner', 'circle', 'mail-reply', 'reply', 'github-alt', 'folder-o', 'folder-open-o', 'smile-o', 'frown-o', 'meh-o', 'gamepad', 'keyboard-o', 'flag-o', 'flag-checkered', 'terminal', 'code', 'mail-reply-all', 'reply-all', 'star-half-empty', 'star-half-full', 'star-half-o', 'location-arrow', 'crop', 'code-fork', 'unlink', 'chain-broken', 'question', 'info', 'exclamation', 'superscript', 'subscript', 'eraser', 'puzzle-piece', 'microphone', 'microphone-slash', 'shield', 'calendar-o', 'fire-extinguisher', 'rocket', 'maxcdn', 'chevron-circle-left', 'chevron-circle-right', 'chevron-circle-up', 'chevron-circle-down', 'html5', 'css3', 'anchor', 'unlock-alt', 'bullseye', 'ellipsis-h', 'ellipsis-v', 'rss-square', 'play-circle', 'ticket', 'minus-square', 'minus-square-o', 'level-up', 'level-down', 'check-square', 'pencil-square', 'external-link-square', 'share-square', 'compass', 'toggle-down', 'caret-square-o-down', 'toggle-up', 'caret-square-o-up', 'toggle-right', 'caret-square-o-right', 'euro', 'eur', 'gbp', 'dollar', 'usd', 'rupee', 'inr', 'cny', 'rmb', 'yen', 'jpy', 'ruble', 'rouble', 'rub', 'won', 'krw', 'bitcoin', 'btc', 'file', 'file-text', 'sort-alpha-asc', 'sort-alpha-desc', 'sort-amount-asc', 'sort-amount-desc', 'sort-numeric-asc', 'sort-numeric-desc', 'thumbs-up', 'thumbs-down', 'youtube-square', 'youtube', 'xing', 'xing-square', 'youtube-play', 'dropbox', 'stack-overflow', 'instagram', 'flickr', 'adn', 'bitbucket', 'bitbucket-square', 'tumblr', 'tumblr-square', 'long-arrow-down', 'long-arrow-up', 'long-arrow-left', 'long-arrow-right', 'apple', 'windows', 'android', 'linux', 'dribbble', 'skype', 'foursquare', 'trello', 'female', 'male', 'gittip', 'gratipay', 'sun-o', 'moon-o', 'archive', 'bug', 'vk', 'weibo', 'renren', 'pagelines', 'stack-exchange', 'arrow-circle-o-right', 'arrow-circle-o-left', 'toggle-left', 'caret-square-o-left', 'dot-circle-o', 'wheelchair', 'vimeo-square', 'turkish-lira', 'try', 'plus-square-o', 'space-shuttle', 'slack', 'envelope-square', 'wordpress', 'openid', 'institution', 'bank', 'university', 'mortar-board', 'graduation-cap', 'yahoo', 'google', 'reddit', 'reddit-square', 'stumbleupon-circle', 'stumbleupon', 'delicious', 'digg', 'drupal', 'joomla', 'language', 'fax', 'building', 'child', 'paw', 'spoon', 'cube', 'cubes', 'behance', 'behance-square', 'steam', 'steam-square', 'recycle', 'automobile', 'car', 'cab', 'taxi', 'tree', 'spotify', 'deviantart', 'soundcloud', 'database', 'file-pdf-o', 'file-word-o', 'file-excel-o', 'file-powerpoint-o', 'file-photo-o', 'file-picture-o', 'file-image-o', 'file-zip-o', 'file-archive-o', 'file-sound-o', 'file-audio-o', 'file-movie-o', 'file-video-o', 'file-code-o', 'vine', 'codepen', 'jsfiddle', 'life-bouy', 'life-buoy', 'life-saver', 'support', 'life-ring', 'circle-o-notch', 'ra', 'resistance', 'rebel', 'ge', 'empire', 'git-square', 'git', 'y-combinator-square', 'yc-square', 'hacker-news', 'tencent-weibo', 'qq', 'wechat', 'weixin', 'send', 'paper-plane', 'send-o', 'paper-plane-o', 'history', 'circle-thin', 'header', 'paragraph', 'sliders', 'share-alt', 'share-alt-square', 'bomb', 'soccer-ball-o', 'futbol-o', 'tty', 'binoculars', 'plug', 'slideshare', 'twitch', 'yelp', 'newspaper-o', 'wifi', 'calculator', 'paypal', 'google-wallet', 'cc-visa', 'cc-mastercard', 'cc-discover', 'cc-amex', 'cc-paypal', 'cc-stripe', 'bell-slash', 'bell-slash-o', 'trash', 'copyright', 'at', 'eyedropper', 'paint-brush', 'birthday-cake', 'area-chart', 'pie-chart', 'line-chart', 'lastfm', 'lastfm-square', 'toggle-off', 'toggle-on', 'bicycle', 'bus', 'ioxhost', 'angellist', 'cc', 'shekel', 'sheqel', 'ils', 'meanpath', 'buysellads', 'connectdevelop', 'dashcube', 'forumbee', 'leanpub', 'sellsy', 'shirtsinbulk', 'simplybuilt', 'skyatlas', 'cart-plus', 'cart-arrow-down', 'diamond', 'ship', 'user-secret', 'motorcycle', 'street-view', 'heartbeat', 'venus', 'mars', 'mercury', 'intersex', 'transgender', 'transgender-alt', 'venus-double', 'mars-double', 'venus-mars', 'mars-stroke', 'mars-stroke-v', 'mars-stroke-h', 'neuter', 'genderless', 'facebook-official', 'pinterest-p', 'whatsapp', 'server', 'user-plus', 'user-times', 'hotel', 'bed', 'viacoin', 'train', 'subway', 'medium', 'medium-square', 'yc', 'y-combinator', 'optin-monster', 'opencart', 'expeditedssl', 'battery-4', 'battery', 'battery-full', 'battery-3', 'battery-three-quarters', 'battery-2', 'battery-half', 'battery-1', 'battery-quarter', 'battery-0', 'battery-empty', 'mouse-pointer', 'i-cursor', 'object-group', 'object-ungroup', 'sticky-note', 'sticky-note-o', 'cc-jcb', 'cc-diners-club', 'clone', 'balance-scale', 'hourglass-o', 'hourglass-1', 'hourglass-start', 'hourglass-2', 'hourglass-half', 'hourglass-3', 'hourglass-end', 'hourglass', 'hand-grab-o', 'hand-rock-o', 'hand-stop-o', 'hand-paper-o', 'hand-scissors-o', 'hand-lizard-o', 'hand-spock-o', 'hand-pointer-o', 'hand-peace-o', 'trademark', 'registered', 'creative-commons', 'gg', 'gg-circle', 'tripadvisor', 'odnoklassniki', 'odnoklassniki-square', 'get-pocket', 'wikipedia-w', 'safari', 'chrome', 'firefox', 'opera', 'internet-explorer', 'tv', 'television', 'contao', '500px', 'amazon', 'calendar-plus-o', 'calendar-minus-o', 'calendar-times-o', 'calendar-check-o', 'industry', 'map-pin', 'map-signs', 'map-o', 'map', 'commenting', 'commenting-o', 'houzz', 'vimeo', 'black-tie', 'fonticons', 'reddit-alien', 'edge', 'credit-card-alt', 'codiepie', 'modx', 'fort-awesome', 'usb', 'product-hunt', 'mixcloud', 'scribd', 'pause-circle', 'pause-circle-o', 'stop-circle', 'stop-circle-o', 'shopping-bag', 'shopping-basket', 'hashtag', 'bluetooth', 'bluetooth-b', 'percent', 'gitlab', 'wpbeginner', 'wpforms', 'envira', 'universal-access', 'wheelchair-alt', 'question-circle-o', 'blind', 'audio-description', 'volume-control-phone', 'braille', 'assistive-listening-systems', 'asl-interpreting', 'american-sign-language-interpreting', 'deafness', 'hard-of-hearing', 'deaf', 'glide', 'glide-g', 'signing', 'sign-language', 'low-vision', 'viadeo', 'viadeo-square', 'snapchat', 'snapchat-ghost', 'snapchat-square', 'first-order', 'yoast', 'themeisle', 'google-plus-circle', 'google-plus-official', 'fa', 'font-awesome', 'handshake-o', 'envelope-open', 'envelope-open-o', 'linode', 'address-book', 'address-book-o', 'vcard', 'address-card', 'vcard-o', 'address-card-o', 'user-circle', 'user-circle-o', 'user-o', 'id-badge', 'drivers-license', 'id-card', 'drivers-license-o', 'id-card-o', 'quora', 'free-code-camp', 'telegram', 'thermometer-4', 'thermometer', 'thermometer-full', 'thermometer-3', 'thermometer-three-quarters', 'thermometer-2', 'thermometer-half', 'thermometer-1', 'thermometer-quarter', 'thermometer-0', 'thermometer-empty', 'shower', 'bathtub', 's15', 'bath', 'podcast', 'window-maximize', 'window-minimize', 'window-restore', 'times-rectangle', 'window-close', 'times-rectangle-o', 'window-close-o', 'bandcamp', 'grav', 'etsy', 'imdb', 'ravelry', 'eercast', 'microchip', 'snowflake-o', 'superpowers', 'wpexplorer', 'meetup', 'mastodon', 'mastodon-alt', 'fork-circle', 'fork-awesome', 'peertube', 'diaspora', 'friendica', 'gnu-social', 'liberapay-square', 'liberapay', 'ssb', 'scuttlebutt', 'hubzilla', 'social-home', 'artstation', 'discord', 'discord-alt', 'patreon', 'snowdrift', 'activitypub', 'ethereum', 'keybase', 'shaarli', 'shaarli-o', 'cut-key', 'key-modern', 'xmpp', 'archive-org', 'freedombox', 'facebook-messenger', 'debian', 'mastodon-square', 'tipeee', 'react', 'dogmazic', 'zotero', 'nodejs', 'nextcloud', 'nextcloud-square', 'hackaday', 'laravel', 'signalapp' ) );
|
includes/config/supported-blocks.php
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
<?php
|
2 |
|
3 |
return apply_filters(
|
4 |
'su/config/supported_blocks',
|
1 |
+
<?php defined( 'ABSPATH' ) || exit;
|
2 |
|
3 |
return apply_filters(
|
4 |
'su/config/supported_blocks',
|
includes/css/shortcodes.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.su-u-clearfix::after{content:'';display:table;clear:both}.su-u-trim>:first-child{margin-top:0}.su-u-trim>:last-child{margin-bottom:0}.su-u-responsive-media-yes{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.su-u-responsive-media-yes .fluid-width-video-wrapper,.su-u-responsive-media-yes .video-holder{position:static!important}.su-u-responsive-media-yes embed,.su-u-responsive-media-yes iframe,.su-u-responsive-media-yes object{position:absolute;top:0;left:0;width:100%;height:100%}.su-u-overflow-hidden{overflow:hidden}.su-accordion{margin-bottom:1.5em}.su-accordion .su-spoiler{margin-bottom:.5em}.su-audio{position:relative;width:100%;height:30px;margin-bottom:1.5em;background:#7c8781;background:-webkit-gradient(linear,left top,left bottom,from(#7c8781),to(#0a0809));background:linear-gradient(to bottom,#7c8781 0,#0a0809 100%);border-radius:3px}.su-audio .jp-pause,.su-audio .jp-play{position:absolute;left:0;top:0;display:block;width:30px;height:30px;border-top-left-radius:3px;border-bottom-left-radius:3px;cursor:pointer;border-right:1px solid #454947;background-image:url(../images/player/default.png);background-repeat:no-repeat}.su-audio .jp-play{background-position:0 0}.su-audio .jp-pause{background-position:-30px 0}.su-audio .jp-current-time,.su-audio .jp-duration{position:absolute;top:0;display:block;height:30px;line-height:30px;font-size:10px;color:#eee;text-shadow:0 -1px 0 #000}.su-audio .jp-current-time{left:45px}.su-audio .jp-duration{right:10px}.su-audio .jp-play-bar,.su-audio .jp-seek-bar{position:absolute;top:0;left:0;height:10px;border-radius:3px;cursor:pointer}.su-audio .jp-progress{position:absolute;top:10px;left:85px;right:50px;height:10px;background:#333;box-shadow:0 0 5px #000 inset;border-radius:3px}.su-audio .jp-seek-bar{background:#0b0b0b;background:-webkit-gradient(linear,left top,left bottom,from(#0b0b0b),to(#666));background:linear-gradient(to bottom,#0b0b0b 0,#666 100%)}.su-audio .jp-play-bar{background:#6db3f2;background:-webkit-gradient(linear,left top,left bottom,from(#6db3f2),color-stop(50%,#54a3ee),color-stop(51%,#3690f0),to(#1e69de));background:linear-gradient(to bottom,#6db3f2 0,#54a3ee 50%,#3690f0 51%,#1e69de 100%)}.su-box{margin:0 0 1.5em;border-width:2px;border-style:solid}.su-box-title{display:block;padding:.5em 1em;font-weight:700;font-size:1.1em}.su-box-content{background-color:#fff;color:#444;padding:1em}.su-box-style-soft .su-box-title{background-image:url(../images/styles/style-soft.png);background-position:0 0;background-repeat:repeat-x}.su-box-style-glass .su-box-title{background-image:url(../images/styles/style-glass.png);background-position:0 50%;background-repeat:repeat-x}.su-box-style-bubbles .su-box-title{background-image:url(../images/styles/style-bubbles.png);background-position:0 50%;background-repeat:repeat-x}.su-box-style-noise .su-box-title{background-image:url(../images/styles/style-noise.png);background-position:0 0;background-repeat:repeat-x}.su-button{display:inline-block!important;text-align:center;text-decoration:none!important;box-sizing:content-box!important;-webkit-transition:all .2s;transition:all .2s}.su-button-wide{display:block!important;margin:1em 0}.su-button-center{text-align:center}.su-button span{display:block!important;text-decoration:none!important;box-sizing:content-box!important;-webkit-transition:all .2s;transition:all .2s}.su-button img{border:none!important;vertical-align:middle!important;margin:-.2em .4em 0 -.3em!important;box-shadow:none!important}.su-button i{display:inline-block;width:1em;height:1em;margin:0 .5em 0 0!important;text-align:center;line-height:1em}.su-button.su-button-float-icon img{margin:0 .5em!important}.su-button small{display:block;margin:-.2em 0 0;color:inherit;text-align:center;font-style:normal;font-size:.8em;line-height:1;opacity:.7}.su-button-style-default{border-width:1px;border-style:solid}.su-button-style-default:hover{opacity:.7}.su-button-style-default span{border-top-width:1px;border-bottom-width:1px;border-top-style:solid;border-bottom-style:solid}.su-button-style-flat,.su-button-style-flat span{border:none}.su-button-style-flat span{position:relative}.su-button-style-flat:hover span{top:1px}.su-button-style-ghost{background:0 0!important}.su-button-style-ghost span{border-width:3px;border-style:solid}.su-button-style-ghost:hover span{border-color:inherit!important}.su-button-style-soft span{background:0 -20px url(../images/styles/style-soft.png) repeat-x}.su-button-style-soft:hover span{background:0 0 url(../images/styles/style-soft.png) repeat-x}.su-button-style-glass span{background:0 50% url(../images/styles/style-glass.png) repeat-x}.su-button-style-glass:hover span{background:100% 50% url(../images/styles/style-glass.png) repeat-x}.su-button-style-bubbles span{background:0 50% url(../images/styles/style-bubbles.png) no-repeat}.su-button-style-bubbles:hover span{background:-710px 50% url(../images/styles/style-bubbles.png) no-repeat}.su-button-style-noise span{background:0 0 url(../images/styles/style-noise.png) repeat-x}.su-button-style-noise:hover span{background:0 0 url(../images/styles/style-noise.png) repeat-x}.su-button-style-stroked span{margin:1px;border:1px dashed #fff!important}.su-button-style-stroked:hover span{opacity:.7}.su-button-style-3d{border-bottom-style:solid;border-bottom-width:6px}.su-button-style-3d span{border-bottom-style:solid;border-bottom-width:1px}.su-button-style-3d:hover{position:relative;top:3px;border-bottom-width:3px}.su-carousel{position:relative;margin-bottom:1.5em;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.su-carousel-centered{margin:0 auto 1.5em}.su-carousel-slides{position:relative;width:100%;-webkit-transition-property:-webkit-transform,left,top;-webkit-transition-duration:0s;-webkit-transform:translate3d(0,0,0);-webkit-transition-timing-function:ease;-moz-transition-property:-moz-transform,left,top;-moz-transition-duration:0s;-moz-transform:translate3d(0,0,0);-moz-transition-timing-function:ease;-o-transition-property:-o-transform,left,top;-o-transition-duration:0s;-o-transform:translate3d(0,0,0);-o-transition-timing-function:ease;-o-transform:translate(0,0);-ms-transition-property:-ms-transform,left,top;-ms-transition-duration:0s;-ms-transform:translate3d(0,0,0);-ms-transition-timing-function:ease;-webkit-transition-property:left,top,-webkit-transform;transition-property:left,top,-webkit-transform;transition-property:transform,left,top;transition-property:transform,left,top,-webkit-transform;transition-duration:0s;transform:translate3d(0,0,0);transition-timing-function:ease}.swiper-free-mode>.su-carousel-slides{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.su-carousel-slide{position:relative;float:left}.su-carousel-slide>a,.su-carousel-slide>a>img,.su-carousel-slide>img{position:relative;display:block;width:100%;height:100%;text-decoration:none;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.su-carousel-responsive-yes .su-carousel-slide>a,.su-carousel-responsive-yes .su-carousel-slide>a>img,.su-carousel-responsive-yes .su-carousel-slide>img{height:auto}.su-carousel-pages-no .su-carousel-pagination{display:none}.swiper-wp8-horizontal{-ms-touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x}.su-carousel .su-carousel-slide a{padding:0 5px}.su-carousel .su-carousel-slide img{padding:3px;border:1px solid #ccc;background:#fff;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px}.su-carousel .su-carousel-slide-title{position:absolute;left:9px;right:9px;bottom:4px;display:block;padding:2px 3px;color:#fff;line-height:1.2;font-size:11px;background:#000;background:rgba(0,0,0,.5);box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;transition:opacity 1s;-o-transition:opacity 1s;-moz-transition:opacity 1s;-webkit-transition:opacity 1s}.su-carousel .su-carousel-next,.su-carousel .su-carousel-prev{position:absolute;top:50%;display:block;width:40px;height:40px;margin-top:-20px;background:#000 0 0 url(../images/swiper/default.png) no-repeat;background-color:rgba(0,0,0,.5);cursor:pointer;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;opacity:0;-webkit-transition:all .2s;transition:all .2s}.su-carousel .su-carousel-prev{right:20px;margin-right:40px;background-position:-40px 0}.su-carousel .su-carousel-next{left:20px;margin-left:40px;background-position:0 0}.su-carousel:hover .su-carousel-next,.su-carousel:hover .su-carousel-prev{margin-left:0;margin-right:0;opacity:.7}.su-carousel .su-carousel-next:hover,.su-carousel .su-carousel-prev:hover{opacity:1}.su-carousel .su-carousel-pagination{position:absolute;left:15%;right:15%;top:50%;width:70%;height:0;margin-top:-7px;text-align:center;cursor:default;opacity:0;-webkit-transition:all .2s;transition:all .2s}.su-carousel:hover .su-carousel-pagination{bottom:20px;opacity:1}.su-carousel .su-carousel-pagination span{display:inline-block;width:14px;height:14px;margin:0;background:#000 0 -999px url(../images/swiper/default.png) no-repeat;background-color:rgba(0,0,0,.5);cursor:pointer;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;-webkit-transition:all .2s;transition:all .2s}.su-carousel:hover .su-carousel-pagination span{margin:0 3px}.su-carousel .su-carousel-pagination span.swiper-visible-switch{background-color:#fff;background-color:rgba(255,255,255,.5)}.su-carousel .su-carousel-pagination span.swiper-active-switch,.su-carousel .su-carousel-pagination span:hover{background-position:0 -40px}.su-row{clear:both;zoom:1;margin-bottom:1.5em}.su-row:after,.su-row:before{display:table;content:''}.su-row:after{clear:both}.su-column{display:block;margin:0 4% 0 0;float:left;box-sizing:border-box}.su-column-last{margin-right:0}.su-row .su-column{margin:0 0 0 4%}.su-row .su-column.su-column-size-1-1{margin-left:0;margin-right:0}.su-row .su-column:first-child{margin-left:0}.su-row .su-column.su-column-centered{margin-right:auto;margin-left:auto;float:none}.su-column embed,.su-column iframe,.su-column img,.su-column object{max-width:100%}.su-column-size-1-1{width:100%}.su-column-size-1-2{width:48%}.su-column-size-1-3{width:30.66%}.su-column-size-2-3{width:65.33%}.su-column-size-1-4{width:22%}.su-column-size-3-4{width:74%}.su-column-size-1-5{width:16.8%}.su-column-size-2-5{width:37.6%}.su-column-size-3-5{width:58.4%}.su-column-size-4-5{width:79.2%}.su-column-size-1-6{width:13.33%}.su-column-size-5-6{width:82.66%}.su-custom-gallery{margin-bottom:1.5em}.su-custom-gallery:after,.su-custom-gallery:before{content:'';display:table}.su-custom-gallery:after{clear:both}.su-custom-gallery-slide{position:relative;float:left;margin:.5em;overflow:hidden}.su-custom-gallery-slide a{display:block;width:100%}.su-custom-gallery-slide img{display:block;margin:0;padding:3px;border:1px solid #ccc;background:#fff;box-sizing:border-box;border-radius:5px;box-shadow:none;-webkit-transition:all .2s;transition:all .2s}.su-custom-gallery-slide:hover img{background:#eee;border:1px solid #aaa}.su-custom-gallery-slide span{position:absolute;left:4px;bottom:4px;right:4px;display:block;padding:2px 4px;font-size:12px;color:#fff;background:#000;background:rgba(0,0,0,.5);line-height:1.3;opacity:0;-webkit-transition:all .2s;transition:all .2s}.su-custom-gallery-slide:hover span{opacity:1}.su-custom-gallery-title-never span{display:none}.su-custom-gallery-title-always span{opacity:1}.su-dailymotion{margin:0 0 1.5em}.su-dailymotion iframe{border:none!important}.su-divider{clear:both;border:none;text-align:right;line-height:1}.su-divider a{display:inline-block;font-size:.8em;text-decoration:none;outline:0;padding-bottom:5px}.su-divider-style-default{border-bottom-style:solid}.su-divider-style-dotted{border-bottom-style:dotted}.su-divider-style-dashed{border-bottom-style:dashed}.su-divider-style-double{border-bottom-style:double}.su-document{margin:0 0 1.5em}.su-document iframe{border:none!important}.su-dropcap{float:left;display:inline-block;width:2em;height:2em;margin:.2em .5em .2em 0;line-height:2em;text-align:center;overflow:hidden;text-transform:uppercase}.su-dropcap-style-default{color:#fff;background:#45484d;background:-webkit-gradient(linear,left top,left bottom,from(#45484d),to(black));background:linear-gradient(to bottom,#45484d 0,#000 100%);text-shadow:-1px -1px 0 #000;border-radius:50%}.su-dropcap-style-flat{background:#444;color:#fff}.su-dropcap-style-light{color:#333;border-radius:50%;background:#fff;background:-webkit-gradient(linear,left top,left bottom,from(white),to(#eaeaea));background:linear-gradient(to bottom,#fff 0,#eaeaea 100%)}.su-dropcap-style-simple{width:1em;height:1em;line-height:1em;text-align:left}.su-expand{margin:0 0 1.5em}.su-expand-content{overflow:hidden}.su-expand-link{margin-top:.5em;cursor:pointer}.su-expand-link:hover{opacity:.7}.su-expand-link a,.su-expand-link a:active,.su-expand-link a:focus,.su-expand-link a:hover,.su-expand-link a:visited{display:inline;text-decoration:none;box-shadow:none;background:0 0;border:none}.su-expand-link-style-underlined .su-expand-link span{text-decoration:underline}.su-expand-link-style-dotted .su-expand-link span{border-bottom:1px dotted #333}.su-expand-link-style-dashed .su-expand-link span{border-bottom:1px dashed #333}.su-expand-link-style-button .su-expand-link a{display:inline-block;margin-top:.2em;padding:.2em .4em;border:2px solid #333}.su-expand-link-more{display:none}.su-expand-link-less{display:block}.su-expand-collapsed .su-expand-link-more{display:block}.su-expand-collapsed .su-expand-link-less{display:none}.su-expand-link i{display:inline-block;margin:0 .3em 0 0;vertical-align:middle;color:inherit}.su-expand-link img{display:inline-block;width:1em;height:1em;margin:0 .3em 0 0;vertical-align:middle}.su-frame,.su-frame-inner{display:block}.su-frame-align-left{float:left;margin:0 1em 1em 0}.su-frame-align-center{float:none;margin:1em auto}.su-frame-align-right{float:right;margin:0 0 1em 1em}.su-frame img{display:block!important;float:none!important;padding:0!important;margin:0!important;border:none!important;box-shadow:none!important}.su-frame-style-default{padding:2px;border:1px solid #999;background:#fff;box-shadow:1px 1px 4px #ccc}.su-frame-style-default .su-frame-inner{padding:2px;border:4px solid #eee}.su-gmap{margin:0 0 1.5em}.su-gmap iframe{border:none!important}.su-guests{margin-bottom:1.5em}.su-heading-style-default{padding:2px 0;border-top:1px solid #999;border-bottom:1px solid #999}.su-heading-style-default .su-heading-inner{padding:1em .5em;border-top:4px solid #eee;border-bottom:4px solid #eee}.su-heading.su-heading-align-left{text-align:left}.su-heading.su-heading-align-left .su-heading-inner{padding-left:.2em}.su-heading.su-heading-align-right{text-align:right}.su-heading.su-heading-align-right .su-heading-inner{padding-right:.2em}.su-heading.su-heading-align-center{text-align:center}.su-highlight{display:inline;padding:1px 0}.su-image-carousel{width:100%;margin:1.5em 0}.su-image-carousel:first-child{margin-top:0}.su-image-carousel:last-child{margin-bottom:0}.su-image-carousel-item{width:100%;box-sizing:border-box}.su-image-carousel .su-image-carousel-item-content{position:relative}.su-image-carousel .su-image-carousel-item-content a,.su-image-carousel .su-image-carousel-item-content a:active,.su-image-carousel .su-image-carousel-item-content a:focus,.su-image-carousel .su-image-carousel-item-content a:hover,.su-image-carousel .su-image-carousel-item-content a:visited,.su-image-carousel .su-image-carousel-item-content img{display:block;width:100%;height:100%;margin:0;padding:0;box-sizing:border-box;box-shadow:none;text-decoration:none;border:none;border-radius:0}.su-image-carousel .su-image-carousel-item-content a::after,.su-image-carousel .su-image-carousel-item-content a::before,.su-image-carousel .su-image-carousel-item-content img::after,.su-image-carousel .su-image-carousel-item-content img::before{display:none}.su-image-carousel .su-image-carousel-item-content span{position:absolute;display:block;font-size:.9em;max-height:60%;overflow:auto;line-height:1.3;word-wrap:break-word}.su-image-carousel .su-image-carousel-item-content span:empty{display:none}.su-image-carousel-columns-2 .su-image-carousel-item{width:50%}.su-image-carousel-columns-2.su-image-carousel-has-spacing .su-image-carousel-item{width:48.5%;margin-right:3%}.su-image-carousel-columns-3 .su-image-carousel-item{width:33.33333%}.su-image-carousel-columns-3.su-image-carousel-has-spacing .su-image-carousel-item{width:31.4%;margin-right:2.9%}.su-image-carousel-columns-4 .su-image-carousel-item{width:25%}.su-image-carousel-columns-4.su-image-carousel-has-spacing .su-image-carousel-item{width:22.9%;margin-right:2.8%}.su-image-carousel-columns-5 .su-image-carousel-item{width:20%}.su-image-carousel-columns-5.su-image-carousel-has-spacing .su-image-carousel-item{width:18%;margin-right:2.5%}.su-image-carousel-columns-6 .su-image-carousel-item{width:16.66667%}.su-image-carousel-columns-6.su-image-carousel-has-spacing .su-image-carousel-item{width:14.5%;margin-right:2.6%}.su-image-carousel-columns-7 .su-image-carousel-item{width:14.28571%}.su-image-carousel-columns-7.su-image-carousel-has-spacing .su-image-carousel-item{width:12.4%;margin-right:2.2%}.su-image-carousel-columns-8 .su-image-carousel-item{width:12.5%}.su-image-carousel-columns-8.su-image-carousel-has-spacing .su-image-carousel-item{width:10.75%;margin-right:2%}.su-image-carousel-crop .su-image-carousel-item-content::before{float:left;width:1px;margin-left:-1px;height:0;content:''}.su-image-carousel-crop .su-image-carousel-item-content::after{content:'';display:table;clear:both}.su-image-carousel-crop .su-image-carousel-item-content img{position:absolute;left:0;top:0;right:0;bottom:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.su-image-carousel-crop-16-9 .su-image-carousel-item-content::before{padding-top:56.25%}.su-image-carousel-crop-16-10 .su-image-carousel-item-content::before{padding-top:62.5%}.su-image-carousel-crop-21-9 .su-image-carousel-item-content::before{padding-top:42.85714%}.su-image-carousel-crop-5-4 .su-image-carousel-item-content::before{padding-top:80%}.su-image-carousel-crop-4-3 .su-image-carousel-item-content::before{padding-top:75%}.su-image-carousel-crop-3-2 .su-image-carousel-item-content::before{padding-top:66.66667%}.su-image-carousel-crop-2-1 .su-image-carousel-item-content::before{padding-top:50%}.su-image-carousel-crop-1-1 .su-image-carousel-item-content::before{padding-top:100%}.su-image-carousel-crop-1-2 .su-image-carousel-item-content::before{padding-top:200%}.su-image-carousel-crop-2-3 .su-image-carousel-item-content::before{padding-top:150%}.su-image-carousel-crop-3-4 .su-image-carousel-item-content::before{padding-top:133.33333%}.su-image-carousel-crop-4-5 .su-image-carousel-item-content::before{padding-top:125%}.su-image-carousel-crop-9-21 .su-image-carousel-item-content::before{padding-top:233.33333%}.su-image-carousel-crop-10-16 .su-image-carousel-item-content::before{padding-top:160%}.su-image-carousel-crop-9-16 .su-image-carousel-item-content::before{padding-top:177.77778%}.su-image-carousel-align-left{float:left;margin-right:1.5em;margin-top:0}.su-image-carousel-align-right{float:right;margin-left:1.5em;margin-top:0}.su-image-carousel-align-center{margin-right:auto;margin-left:auto}.su-image-carousel-align-full{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw!important;width:100vw!important}.su-image-carousel button.flickity-prev-next-button{position:absolute;top:50%;display:block;width:44px;height:44px;margin:-22px 0 0;padding:0;opacity:0;outline:0;border-radius:50%;-webkit-transform:none;transform:none;-webkit-transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,transform .2s ease;transition:opacity .2s ease,transform .2s ease,-webkit-transform .2s ease}.su-image-carousel:hover button.flickity-prev-next-button{opacity:.5}.su-image-carousel button.flickity-prev-next-button:focus,.su-image-carousel button.flickity-prev-next-button:hover{opacity:1;box-shadow:none}.su-image-carousel button.flickity-prev-next-button:focus{-webkit-transform:scale(1.05);transform:scale(1.05)}.su-image-carousel button.flickity-prev-next-button[disabled]{display:none}.su-image-carousel button.flickity-prev-next-button.previous{left:20px}.su-image-carousel button.flickity-prev-next-button.next{right:20px}.su-image-carousel>ol.flickity-page-dots{position:absolute;top:50%;left:50%;bottom:auto;width:auto;margin:0;padding:0;list-style:none;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);pointer-events:none;opacity:0;-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.su-image-carousel>ol.flickity-page-dots>li.dot{position:relative;width:20px;height:20px;display:inline-block;margin:5px;padding:0;list-style:none;pointer-events:all;border-radius:50%;opacity:.5;-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.su-image-carousel>ol.flickity-page-dots>li.dot:hover{opacity:1}.su-image-carousel>ol.flickity-page-dots>li.dot::before{position:absolute;top:50%;left:50%;display:none;width:10px;height:10px;margin:0;padding:0;content:'';border-radius:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.su-image-carousel>ol.flickity-page-dots>li.dot.is-selected::before{display:block}.su-image-carousel:hover ol.flickity-page-dots{opacity:1}.su-image-carousel-controls-style-dark button.flickity-prev-next-button{background:#000;color:#fff}.su-image-carousel-controls-style-dark ol.flickity-page-dots li.dot{background:#000}.su-image-carousel-controls-style-dark ol.flickity-page-dots li.dot::before{background:#fff}.su-image-carousel-controls-style-light button.flickity-prev-next-button{background:#fff;color:#000}.su-image-carousel-controls-style-light ol.flickity-page-dots li.dot{background:#fff}.su-image-carousel-controls-style-light ol.flickity-page-dots li.dot::before{background:#000}.su-image-carousel-slides-style-default .su-image-carousel-item-content{margin:1px}.su-image-carousel-slides-style-default .su-image-carousel-item-content img{padding:3px;background:#fff;border:1px solid #ccc;border-radius:7px}.su-image-carousel-slides-style-default .su-image-carousel-item-content span{bottom:4px;right:4px;left:4px;padding:.5em .7em;background:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.7)),to(transparent));background:linear-gradient(to top,rgba(0,0,0,.7),transparent);text-shadow:0 2px 5px #000;color:#fff;border-bottom-right-radius:2px;border-bottom-left-radius:2px}.su-image-carousel-slides-style-minimal .su-image-carousel-item-content{margin:1px}.su-image-carousel-slides-style-minimal .su-image-carousel-item-content span{right:0;bottom:0;left:0;padding:.7em;background:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.7)),to(transparent));background:linear-gradient(to top,rgba(0,0,0,.7),transparent);text-shadow:0 2px 5px #000;color:#fff}.su-image-carousel-slides-style-photo .su-image-carousel-item-content{padding:7px}.su-image-carousel-slides-style-photo .su-image-carousel-item-content img{border:5px solid #fff;border-radius:7px;box-shadow:0 2px 5px rgba(0,0,0,.5)}.su-image-carousel-slides-style-photo .su-image-carousel-item-content span{right:12px;bottom:12px;left:12px;padding:.3em .5em;background:#fff;color:#000;font-size:.9em}.su-image-carousel-slides-style-photo.su-image-carousel-crop .su-image-carousel-item-content img{top:7px;right:7px;left:7px;bottom:7px;width:calc(100% - 14px);height:calc(100% - 14px)}.su-image-carousel-mfp.mfp-bg{z-index:102000!important}.su-image-carousel-mfp.mfp-wrap{z-index:102001!important}.su-image-carousel-mfp.mfp-wrap .mfp-preloader{z-index:102002!important}.su-image-carousel-mfp.mfp-wrap .mfp-content{z-index:102003!important}.su-image-carousel-mfp.mfp-wrap button.mfp-arrow,.su-image-carousel-mfp.mfp-wrap button.mfp-close{z-index:102004!important}.su-image-carousel-has-outline .su-image-carousel-item-content a:focus img,.su-image-carousel-has-outline button.flickity-prev-next-button:focus{outline-width:2px;outline-style:solid;outline-color:Highlight}.su-label{display:inline;margin-right:.3em;padding:.1em .3em;font-size:.8em;height:.8em;line-height:.8em;color:#fff;border-radius:3px}.su-label-type-default{background:#999}.su-label-type-success{background:#090}.su-label-type-warning{background:#f90}.su-label-type-important{background:#f03}.su-label-type-black{background:#111}.su-label-type-info{background:#09c}.su-lightbox-content{position:relative;margin:0 auto}#su-generator .su-lightbox-content,.mfp-content .su-lightbox-content{display:block!important}.su-lightbox-content-preview{width:100%;min-height:300px;background:#444;overflow:hidden}.su-lightbox-content h1,.su-lightbox-content h2,.su-lightbox-content h3,.su-lightbox-content h4,.su-lightbox-content h5,.su-lightbox-content h6{color:inherit}.su-lightbox{cursor:pointer}.su-list{margin-bottom:1.5em}.su-list ul{margin:0!important;padding:0!important;list-style:none!important}.su-list ul li{position:relative;display:block!important;margin:0!important;padding:4px 0 4px 2em!important;list-style-type:none!important;line-height:1.3em}.su-list ul li>img{position:absolute;left:0;top:4px;width:1.3em;height:1.3em;padding:0;margin:0;border:none}.su-list ul li>i{position:absolute;left:0;top:4px;width:1.3em;height:1.3em;line-height:1.3em;text-align:center}.su-members{margin-bottom:1.5em;padding:1em;border-width:1px 0;border-style:solid;text-align:center}.su-members a{text-decoration:underline;color:inherit}.su-note{margin:0 0 1.5em;border-width:1px;border-style:solid}.su-note-inner{padding:1em;border-width:1px;border-style:solid}.su-posts-default-loop .su-post{margin-bottom:2.5em;line-height:1.5}.su-posts-default-loop .su-post:after{content:'';display:table;clear:both}.su-posts-default-loop .su-post-thumbnail{float:left;display:block;width:100px;height:100px;margin-right:1em}.su-posts-default-loop .su-post-thumbnail img{max-width:100px;max-height:100px}.su-posts-default-loop h2.su-post-title{clear:none;margin:0 0 .3em;font-size:1.2em;font-weight:700}.su-posts-default-loop .su-post-meta{margin-bottom:.7em;font-size:.8em;opacity:.6}.su-posts-default-loop .su-post-excerpt{margin-bottom:.5em}.su-posts-default-loop .su-post-excerpt p:last-child{margin-bottom:0}.su-posts-default-loop .su-post-comments-link{font-size:.9em}.su-posts-teaser-loop .su-post{margin-bottom:1.5em;line-height:1.2}.su-posts-teaser-loop .su-post:after{content:'';display:table;clear:both}.su-posts-teaser-loop .su-post-thumbnail{float:left;display:block;width:56px;height:56px;margin:0 1em 0 0}.su-posts-teaser-loop .su-post-thumbnail img{display:block;margin:0;padding:2px;border:1px solid #ccc;border-radius:5px;max-width:100%;max-height:100%}.su-posts-teaser-loop h2.su-post-title{display:block;margin:0;padding:0;border:none;font-size:.9em;font-weight:400;clear:none}.su-posts-single-post .su-post{margin-bottom:2.5em;line-height:1.5}.su-posts-single-post .su-post:after{content:'';display:table;clear:both}.su-posts-single-post h1.su-post-title{clear:none;margin:0 0 .3em;font-size:1.2em;font-weight:700}.su-posts-single-post .su-post-meta{margin-bottom:.7em;font-size:.8em;opacity:.6}.su-posts-single-post .su-post-content{margin-bottom:.5em}.su-posts-single-post .su-post-content p:last-child{margin-bottom:0}.su-private{margin:0 0 1.5em}.su-pullquote{display:block;width:30%;padding:.5em 1em}.su-pullquote-align-left{margin:.5em 1.5em 1em 0;padding-left:0;float:left;border-right:5px solid #eee}.su-pullquote-align-right{margin:.5em 0 1em 1.5em;padding-right:0;float:right;border-left:5px solid #eee}.su-qrcode{display:inline-block}.su-qrcode-align-left{float:left;margin:0 .5em .5em 0}.su-qrcode-align-center{display:block;clear:both;margin:1em auto;text-align:center}.su-qrcode-align-right{float:right;margin:0 0 .5em .5em}.su-qrcode a,.su-qrcode a:active,.su-qrcode a:focus,.su-qrcode a:hover{background:0 0;outline:0;display:inline;text-decoration:none}.su-qrcode-clickable a:hover{opacity:.7}.su-qrcode img{max-width:100%}.su-quote-style-default{position:relative;margin-bottom:1.5em;padding:.5em 3em;font-style:italic}.su-quote-style-default:after,.su-quote-style-default:before{position:absolute;display:block;width:20px;height:20px;background-image:url(../images/quote.png);content:''}.su-quote-style-default:before{top:0;left:0;background-position:0 0}.su-quote-style-default:after{right:0;bottom:0;background-position:-20px 0}.su-quote-style-default .su-quote-cite{display:block;text-align:right;font-style:normal}.su-quote-style-default .su-quote-cite:before{content:'\2014\0000a0'}.su-quote-style-default .su-quote-cite a{text-decoration:underline}.su-screenr{margin:0 0 1.5em}.su-screenr iframe{border:none!important}.su-service{position:relative;margin:0 0 1.5em}.su-service-title{display:block;margin-bottom:.5em;color:#333;font-weight:700;font-size:1.1em}.su-service-title img{position:absolute;top:0;left:0;display:block!important;margin:0!important;padding:0!important;border:none!important;box-shadow:none!important}.su-service-title i{position:absolute;top:0;left:0;display:block!important;width:1em;height:1em;text-align:center;line-height:1em}.su-service-content{line-height:1.4}.su-slider{position:relative;margin-bottom:1.5em;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.su-slider-centered{margin:0 auto 1.5em}.su-slider-slides{position:relative;width:100%;-webkit-transition-property:-webkit-transform,left,top;-webkit-transition-duration:0s;-webkit-transform:translate3d(0,0,0);-webkit-transition-timing-function:ease;-moz-transition-property:-moz-transform,left,top;-moz-transition-duration:0s;-moz-transform:translate3d(0,0,0);-moz-transition-timing-function:ease;-o-transition-property:-o-transform,left,top;-o-transition-duration:0s;-o-transform:translate3d(0,0,0);-o-transition-timing-function:ease;-o-transform:translate(0,0);-ms-transition-property:-ms-transform,left,top;-ms-transition-duration:0s;-ms-transform:translate3d(0,0,0);-ms-transition-timing-function:ease;-webkit-transition-property:left,top,-webkit-transform;transition-property:left,top,-webkit-transform;transition-property:transform,left,top;transition-property:transform,left,top,-webkit-transform;transition-duration:0s;transform:translate3d(0,0,0);transition-timing-function:ease}.swiper-free-mode>.su-slider-slides{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.su-slider-slide{position:relative;float:left}.su-slider-slide>a,.su-slider-slide>a>img,.su-slider-slide>img{position:relative;display:block;width:100%;height:100%;text-decoration:none}.su-slider-responsive-yes .su-slider-slide>a,.su-slider-responsive-yes .su-slider-slide>a>img,.su-slider-responsive-yes .su-slider-slide>img{height:auto}.su-slider-pages-no .su-slider-pagination{display:none}.swiper-wp8-horizontal{-ms-touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x}.su-slider-slide-title{position:absolute;left:20px;bottom:20px;display:block;max-width:90%;padding:5px 10px;color:#fff;line-height:1.3;background:#000;background:rgba(0,0,0,.5);border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;opacity:0;transition:opacity 1s;-o-transition:opacity 1s;-moz-transition:opacity 1s;-webkit-transition:opacity 1s}.su-slider-slide-visible .su-slider-slide-title{opacity:1}.su-slider-next,.su-slider-prev{position:absolute;top:50%;display:block;width:40px;height:40px;margin-top:-20px!important;background:#000 0 0 url(../images/swiper/default.png) no-repeat;background-color:rgba(0,0,0,.5);cursor:pointer;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;opacity:0;-webkit-transition:all .2s;transition:all .2s}.su-slider-prev{right:10px;margin-right:30px;background-position:-40px 0}.su-slider-next{left:10px;margin-left:30px;background-position:0 0}.su-slider:hover .su-slider-next,.su-slider:hover .su-slider-prev{margin-left:0;margin-right:0;opacity:.7}.su-slider .su-slider-next:hover,.su-slider .su-slider-prev:hover{opacity:1}.su-slider-pagination{position:absolute;left:15%;right:15%;top:50%;width:70%;height:0;margin-top:-7px;text-align:center;cursor:default;opacity:0;-webkit-transition:all .2s;transition:all .2s}.su-slider:hover .su-slider-pagination{bottom:20px;opacity:1}.su-slider-pagination span{display:inline-block;width:14px;height:14px;margin:0;background:#000 0 -999px url(../images/swiper/default.png) no-repeat;background-color:rgba(0,0,0,.5);cursor:pointer;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;-webkit-transition:all .2s;transition:all .2s}.su-slider:hover .su-slider-pagination span{margin:0 3px}.su-slider .su-slider-pagination span.swiper-visible-switch{background-color:#fff;background-color:rgba(255,255,255,.5)}.su-slider-pagination span.swiper-active-switch,.su-slider-pagination span:hover{background-position:0 -40px}.su-spacer{display:block;height:0;clear:both;overflow:hidden}.su-spacer-5{height:5px}.su-spacer-10{height:10px}.su-spacer-20{height:20px}.su-spacer-30{height:30px}.su-spacer-40{height:40px}.su-spoiler{margin-bottom:1.5em}.su-spoiler .su-spoiler:last-child{margin-bottom:0}.su-spoiler-title{position:relative;cursor:pointer;min-height:20px;line-height:20px;padding:7px 7px 7px 34px;font-weight:700;font-size:13px}.su-spoiler-title:focus{outline:currentColor thin dotted}.su-spoiler-icon{position:absolute;left:7px;top:7px;display:block;width:20px;height:20px;line-height:21px;text-align:center;font-size:14px;font-family:ShortcodesUltimateIcons;font-weight:400;font-style:normal;-webkit-font-smoothing:antialiased}.su-spoiler-content{padding:14px;-webkit-transition:padding-top .2s;transition:padding-top .2s;-ie-transition:padding-top .2s}.su-spoiler.su-spoiler-closed>.su-spoiler-content{height:0;margin:0;padding:0;overflow:hidden;border:none;opacity:0;pointer-events:none}.su-spoiler.su-spoiler-closed>.su-spoiler-content iframe{display:none}.su-spoiler-icon-plus .su-spoiler-icon:before{content:'\f068'}.su-spoiler-icon-plus.su-spoiler-closed .su-spoiler-icon:before{content:'\f067'}.su-spoiler-icon-plus-circle .su-spoiler-icon:before{content:'\f056'}.su-spoiler-icon-plus-circle.su-spoiler-closed .su-spoiler-icon:before{content:'\f055'}.su-spoiler-icon-plus-square-1 .su-spoiler-icon:before{content:'\f146'}.su-spoiler-icon-plus-square-1.su-spoiler-closed .su-spoiler-icon:before{content:'\f0fe'}.su-spoiler-icon-plus-square-2 .su-spoiler-icon:before{content:'\f147'}.su-spoiler-icon-plus-square-2.su-spoiler-closed .su-spoiler-icon:before{content:'\f196'}.su-spoiler-icon-arrow .su-spoiler-icon:before{content:'\f063'}.su-spoiler-icon-arrow.su-spoiler-closed .su-spoiler-icon:before{content:'\f061'}.su-spoiler-icon-arrow-circle-1 .su-spoiler-icon:before{content:'\f0ab'}.su-spoiler-icon-arrow-circle-1.su-spoiler-closed .su-spoiler-icon:before{content:'\f0a9'}.su-spoiler-icon-arrow-circle-2 .su-spoiler-icon:before{content:'\f01a'}.su-spoiler-icon-arrow-circle-2.su-spoiler-closed .su-spoiler-icon:before{content:'\f18e'}.su-spoiler-icon-chevron .su-spoiler-icon:before{content:'\f078'}.su-spoiler-icon-chevron.su-spoiler-closed .su-spoiler-icon:before{content:'\f054'}.su-spoiler-icon-chevron-circle .su-spoiler-icon:before{content:'\f13a'}.su-spoiler-icon-chevron-circle.su-spoiler-closed .su-spoiler-icon:before{content:'\f138'}.su-spoiler-icon-caret .su-spoiler-icon:before{content:'\f0d7'}.su-spoiler-icon-caret.su-spoiler-closed .su-spoiler-icon:before{content:'\f0da'}.su-spoiler-icon-caret-square .su-spoiler-icon:before{content:'\f150'}.su-spoiler-icon-caret-square.su-spoiler-closed .su-spoiler-icon:before{content:'\f152'}.su-spoiler-icon-folder-1 .su-spoiler-icon:before{content:'\f07c'}.su-spoiler-icon-folder-1.su-spoiler-closed .su-spoiler-icon:before{content:'\f07b'}.su-spoiler-icon-folder-2 .su-spoiler-icon:before{content:'\f115'}.su-spoiler-icon-folder-2.su-spoiler-closed .su-spoiler-icon:before{content:'\f114'}.su-spoiler-style-default>.su-spoiler-title{padding-left:27px;padding-right:0}.su-spoiler-style-default>.su-spoiler-title>.su-spoiler-icon{left:0}.su-spoiler-style-default>.su-spoiler-content{padding:1em 0 1em 27px}.su-spoiler-style-fancy{border:1px solid #ccc;border-radius:10px;background:#fff;color:#333}.su-spoiler-style-fancy>.su-spoiler-title{border-bottom:1px solid #ccc;border-radius:10px;background:#f0f0f0;font-size:.9em}.su-spoiler-style-fancy.su-spoiler-closed>.su-spoiler-title{border:none}.su-spoiler-style-fancy>.su-spoiler-content{border-radius:10px}.su-spoiler-style-simple{border-top:1px solid #ccc;border-bottom:1px solid #ccc}.su-spoiler-style-simple>.su-spoiler-title{padding:5px 10px;background:#f0f0f0;color:#333;font-size:.9em}.su-spoiler-style-simple>.su-spoiler-title>.su-spoiler-icon{display:none}.su-spoiler-style-simple>.su-spoiler-content{padding:1em 10px;background:#fff;color:#333}.su-table{width:100%;margin-bottom:1.5em}.su-table table{width:100%!important;margin:0!important;border-collapse:collapse!important;font-size:1em!important;border:1px solid #ccc!important;table-layout:auto!important}.su-table table th{text-align:center!important;padding:1em!important;font-size:1em!important;font-weight:700!important;color:#333!important;border:1px solid #ccc!important;background:#f0f0f0!important}.su-table table td{padding:.5em 1em!important;border:1px solid #ccc!important;background:#fff!important}.su-table-responsive{overflow-x:auto}.su-table-responsive table{width:auto!important;min-width:100%!important}.su-table-responsive table td,.su-table-responsive table th{word-break:initial!important}.su-table-alternate table tr:nth-child(even) td{background-color:#f7f7f7!important}.su-table-fixed table{table-layout:fixed!important}.su-tabs{margin:0 0 1.5em;padding:3px;border-radius:3px;background:#eee}.su-tabs-nav span{display:inline-block;margin-right:3px;padding:10px 15px;min-height:40px;border-top-left-radius:3px;border-top-right-radius:3px;color:#333;font-size:13px;line-height:20px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.su-tabs-nav span:hover{background:#f5f5f5}.su-tabs-nav span.su-tabs-current{background:#fff;cursor:default}.su-tabs-nav span:focus{outline:currentColor thin dotted}.su-tabs-nav span.su-tabs-disabled{opacity:.5;cursor:default}.su-tabs-pane{padding:15px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background:#fff;color:#333;font-size:13px}.su-tabs-pane:not(.su-tabs-pane-open){overflow:hidden!important;padding:0!important;min-height:0!important;height:0!important;border:none!important}.su-tabs-nav,.su-tabs-nav span,.su-tabs-pane,.su-tabs-panes{box-sizing:border-box!important}.su-tabs-vertical{display:-webkit-box;display:flex}.su-tabs-vertical .su-tabs-nav{width:30%}.su-tabs-vertical .su-tabs-nav>span{display:block;margin-right:0;border-radius:0;border-top-left-radius:3px;border-bottom-left-radius:3px}.su-tabs-vertical .su-tabs-panes{width:70%}.su-tabs-vertical .su-tabs-panes .su-tabs-pane{height:100%;border-radius:0;border-top-right-radius:3px;border-bottom-right-radius:3px}.qtip.su-qtip{max-width:480px!important}.su-tooltip{display:inline-block}.su-qtip-size-1{font-size:.8em!important}.su-qtip-size-2{font-size:.9em!important}.su-qtip-size-3{font-size:1em!important}.su-qtip-size-4{font-size:1.1em!important}.su-qtip-size-5{font-size:1.2em!important}.su-qtip-size-6{font-size:1.3em!important}.su-tooltip-content{display:none}.su-tooltip-content>:last-child{margin-bottom:0}.qtip-content .su-tooltip-content embed,.qtip-content .su-tooltip-content iframe,.qtip-content .su-tooltip-content img,.qtip-content .su-tooltip-content object{max-width:430px}.qtip-content .su-tooltip-content .su-u-responsive-media-yes{width:430px}.su-video{position:relative;margin-bottom:1.5em;overflow:hidden}.su-video .jp-title{position:absolute;top:-100px;left:0;width:100%;height:30px;padding:0 1em;line-height:30px;font-size:.9em;background:#000;background:rgba(0,0,0,.5);color:#fff;-webkit-transition:top .2s;transition:top .2s}.su-video:hover .jp-title{top:0}.su-video .jp-start{position:absolute;left:0;top:0;width:100%;height:100%;cursor:pointer;opacity:.5;-webkit-transition:opacity .2s;transition:opacity .2s;background:50% 50% url(../images/player/default-start.png) no-repeat}.su-video:hover .jp-start{opacity:.8}.su-video.jp-video-full{position:fixed;left:0;top:0;width:100%;height:100%}.su-video.jp-video-full .jp-jplayer{position:fixed!important;left:0;top:0;overflow:hidden}.su-video .jp-gui{position:relative;height:30px;background:#7c8781;background:-webkit-gradient(linear,left top,left bottom,from(#7c8781),to(#0a0809));background:linear-gradient(to bottom,#7c8781 0,#0a0809 100%);border-bottom-right-radius:3px;border-bottom-left-radius:3px}.su-video.jp-video-full .jp-gui{position:fixed;left:0;bottom:0;width:100%}.su-video-controls-no .jp-gui{position:absolute!important;bottom:-100px;left:0;right:0;-webkit-transition:bottom .2s;transition:bottom .2s}.su-video-controls-no:hover .jp-gui{bottom:0}.su-video img{border-radius:0!important;border:none!important;margin:0!important;padding:0!important}.su-video .jp-gui .jp-pause,.su-video .jp-gui .jp-play{position:absolute;left:0;top:0;display:block;width:30px;height:30px;border-right:1px solid #454947;cursor:pointer}.su-video .jp-gui .jp-play{background:0 0 url(../images/player/default.png) no-repeat}.su-video .jp-gui .jp-pause{background:-30px 0 url(../images/player/default.png) no-repeat}.su-video .jp-full-screen,.su-video .jp-restore-screen{position:absolute;top:0;right:0;display:block;width:30px;height:30px;border-left:1px solid #454947;cursor:pointer}.su-video .jp-full-screen{background:0 -30px url(../images/player/default.png) no-repeat}.su-video .jp-restore-screen{background:-30px -30px url(../images/player/default.png) no-repeat}.su-video .jp-progress{position:absolute;top:10px;left:90px;right:90px;height:10px;background:#333;border-radius:3px;box-shadow:0 0 5px #000 inset}.su-video .jp-play-bar,.su-video .jp-seek-bar{position:absolute;top:0;left:0;height:100%;cursor:pointer;border-radius:3px}.su-video .jp-seek-bar{background:#0b0b0b;background:-webkit-gradient(linear,left top,left bottom,from(#0b0b0b),to(#666));background:linear-gradient(to bottom,#0b0b0b 0,#666 100%)}.su-video .jp-play-bar{background:#6db3f2;background:-webkit-gradient(linear,left top,left bottom,from(#6db3f2),color-stop(50%,#54a3ee),color-stop(51%,#3690f0),to(#1e69de));background:linear-gradient(to bottom,#6db3f2 0,#54a3ee 50%,#3690f0 51%,#1e69de 100%)}.su-video .jp-current-time,.su-video .jp-duration{position:absolute;top:0;display:block;height:30px;line-height:30px;color:#f5f5f5;font-size:10px}.su-video .jp-current-time{left:50px}.su-video .jp-duration{right:50px}.su-vimeo{margin:0 0 1.5em}.su-vimeo iframe{border:none!important}.su-youtube{margin:0 0 1.5em}.su-youtube iframe{border:none!important}@media screen and (max-width:768px){.su-button span{padding-top:.25em!important;padding-bottom:.25em!important;line-height:1.2!important}.su-button small{margin-top:.2em!important}.su-image-carousel-adaptive .su-image-carousel-item{width:100%!important;margin-right:0!important}}@media only screen and (max-width:768px){.su-row .su-column{width:100%;margin:0 0 1.5em;float:none}.su-row .su-column:last-child{margin-bottom:0}.su-tabs-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.su-tabs-vertical .su-tabs-nav,.su-tabs-vertical .su-tabs-panes{width:100%}.su-tabs-vertical .su-tabs-nav .su-tabs-pane,.su-tabs-vertical .su-tabs-nav>span,.su-tabs-vertical .su-tabs-panes .su-tabs-pane,.su-tabs-vertical .su-tabs-panes>span{border-radius:3px}.su-tabs-mobile-stack .su-tabs-nav span{display:block}.su-tabs-mobile-scroll .su-tabs-nav{display:-webkit-box;display:flex;-webkit-box-align:end;align-items:flex-end;white-space:nowrap;overflow-x:auto}}@media screen and (max-width:48em){.su-pullquote{width:auto}.su-pullquote-align-left,.su-pullquote-align-right{float:none;margin:1.5em 0;padding:.5em 1em}}@media only screen{[class*=su-column]+[class*=su-column]:last-child{float:right}}@media (-webkit-min-device-pixel-ratio:0){.su-image-carousel-has-outline .su-image-carousel-item-content a:focus,.su-image-carousel-has-outline button.flickity-prev-next-button:focus{outline-color:-webkit-focus-ring-color;outline-style:auto}}
|
1 |
+
.su-u-clearfix::after{content:'';display:table;clear:both}.su-u-trim>:first-child{margin-top:0}.su-u-trim>:last-child{margin-bottom:0}.su-u-responsive-media-yes{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.su-u-responsive-media-yes .fluid-width-video-wrapper,.su-u-responsive-media-yes .video-holder{position:static!important}.su-u-responsive-media-yes embed,.su-u-responsive-media-yes iframe,.su-u-responsive-media-yes object{position:absolute;top:0;left:0;width:100%;height:100%}.su-u-overflow-hidden{overflow:hidden}.su-accordion{margin-bottom:1.5em}.su-accordion .su-spoiler{margin-bottom:.5em}.su-audio{position:relative;width:100%;height:30px;margin-bottom:1.5em;background:#7c8781;background:-webkit-gradient(linear,left top,left bottom,from(#7c8781),to(#0a0809));background:linear-gradient(to bottom,#7c8781 0,#0a0809 100%);border-radius:3px}.su-audio .jp-pause,.su-audio .jp-play{position:absolute;left:0;top:0;display:block;width:30px;height:30px;border-top-left-radius:3px;border-bottom-left-radius:3px;cursor:pointer;border-right:1px solid #454947;background-image:url(../images/player/default.png);background-repeat:no-repeat}.su-audio .jp-play{background-position:0 0}.su-audio .jp-pause{background-position:-30px 0}.su-audio .jp-current-time,.su-audio .jp-duration{position:absolute;top:0;display:block;height:30px;line-height:30px;font-size:10px;color:#eee;text-shadow:0 -1px 0 #000}.su-audio .jp-current-time{left:45px}.su-audio .jp-duration{right:10px}.su-audio .jp-play-bar,.su-audio .jp-seek-bar{position:absolute;top:0;left:0;height:10px;border-radius:3px;cursor:pointer}.su-audio .jp-progress{position:absolute;top:10px;left:85px;right:50px;height:10px;background:#333;box-shadow:0 0 5px #000 inset;border-radius:3px}.su-audio .jp-seek-bar{background:#0b0b0b;background:-webkit-gradient(linear,left top,left bottom,from(#0b0b0b),to(#666));background:linear-gradient(to bottom,#0b0b0b 0,#666 100%)}.su-audio .jp-play-bar{background:#6db3f2;background:-webkit-gradient(linear,left top,left bottom,from(#6db3f2),color-stop(50%,#54a3ee),color-stop(51%,#3690f0),to(#1e69de));background:linear-gradient(to bottom,#6db3f2 0,#54a3ee 50%,#3690f0 51%,#1e69de 100%)}.su-box{margin:0 0 1.5em;border-width:2px;border-style:solid}.su-box-title{display:block;padding:.5em 1em;font-weight:700;font-size:1.1em}.su-box-content{background-color:#fff;color:#444;padding:1em}.su-box-style-soft .su-box-title{background-image:url(../images/styles/style-soft.png);background-position:0 0;background-repeat:repeat-x}.su-box-style-glass .su-box-title{background-image:url(../images/styles/style-glass.png);background-position:0 50%;background-repeat:repeat-x}.su-box-style-bubbles .su-box-title{background-image:url(../images/styles/style-bubbles.png);background-position:0 50%;background-repeat:repeat-x}.su-box-style-noise .su-box-title{background-image:url(../images/styles/style-noise.png);background-position:0 0;background-repeat:repeat-x}.su-button{display:inline-block!important;text-align:center;text-decoration:none!important;box-sizing:content-box!important;-webkit-transition:all .2s;transition:all .2s}.su-button-wide{display:block!important;margin:1em 0}.su-button-center{text-align:center}.su-button span{display:block!important;text-decoration:none!important;box-sizing:content-box!important;-webkit-transition:all .2s;transition:all .2s}.su-button img{border:none!important;vertical-align:middle!important;margin:-.2em .4em 0 -.3em!important;box-shadow:none!important}.su-button i{display:inline-block;width:1em;height:1em;margin:0 .5em 0 0!important;text-align:center;line-height:1em}.su-button.su-button-float-icon img{margin:0 .5em!important}.su-button small{display:block;margin:-.2em 0 0;color:inherit;text-align:center;font-style:normal;font-size:.8em;line-height:1;opacity:.7}.su-button-style-default{border-width:1px;border-style:solid}.su-button-style-default:hover{opacity:.7}.su-button-style-default span{border-top-width:1px;border-bottom-width:1px;border-top-style:solid;border-bottom-style:solid}.su-button-style-flat,.su-button-style-flat span{border:none}.su-button-style-flat span{position:relative}.su-button-style-flat:hover span{top:1px}.su-button-style-ghost{background:0 0!important}.su-button-style-ghost span{border-width:3px;border-style:solid}.su-button-style-ghost:hover span{border-color:inherit!important}.su-button-style-soft span{background:0 -20px url(../images/styles/style-soft.png) repeat-x}.su-button-style-soft:hover span{background:0 0 url(../images/styles/style-soft.png) repeat-x}.su-button-style-glass span{background:0 50% url(../images/styles/style-glass.png) repeat-x}.su-button-style-glass:hover span{background:100% 50% url(../images/styles/style-glass.png) repeat-x}.su-button-style-bubbles span{background:0 50% url(../images/styles/style-bubbles.png) no-repeat}.su-button-style-bubbles:hover span{background:-710px 50% url(../images/styles/style-bubbles.png) no-repeat}.su-button-style-noise span{background:0 0 url(../images/styles/style-noise.png) repeat-x}.su-button-style-noise:hover span{background:0 0 url(../images/styles/style-noise.png) repeat-x}.su-button-style-stroked span{margin:1px;border:1px dashed #fff!important}.su-button-style-stroked:hover span{opacity:.7}.su-button-style-3d{border-bottom-style:solid;border-bottom-width:6px}.su-button-style-3d span{border-bottom-style:solid;border-bottom-width:1px}.su-button-style-3d:hover{position:relative;top:3px;border-bottom-width:3px}.su-carousel{position:relative;margin-bottom:1.5em;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.su-carousel-centered{margin:0 auto 1.5em}.su-carousel-slides{position:relative;width:100%;-webkit-transition-property:-webkit-transform,left,top;-webkit-transition-duration:0s;-webkit-transform:translate3d(0,0,0);-webkit-transition-timing-function:ease;-moz-transition-property:-moz-transform,left,top;-moz-transition-duration:0s;-moz-transform:translate3d(0,0,0);-moz-transition-timing-function:ease;-o-transition-property:-o-transform,left,top;-o-transition-duration:0s;-o-transform:translate3d(0,0,0);-o-transition-timing-function:ease;-o-transform:translate(0,0);-ms-transition-property:-ms-transform,left,top;-ms-transition-duration:0s;-ms-transform:translate3d(0,0,0);-ms-transition-timing-function:ease;-webkit-transition-property:left,top,-webkit-transform;transition-property:left,top,-webkit-transform;transition-property:transform,left,top;transition-property:transform,left,top,-webkit-transform;transition-duration:0s;transform:translate3d(0,0,0);transition-timing-function:ease}.swiper-free-mode>.su-carousel-slides{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.su-carousel-slide{position:relative;float:left}.su-carousel-slide>a,.su-carousel-slide>a>img,.su-carousel-slide>img{position:relative;display:block;width:100%;height:100%;text-decoration:none;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.su-carousel-responsive-yes .su-carousel-slide>a,.su-carousel-responsive-yes .su-carousel-slide>a>img,.su-carousel-responsive-yes .su-carousel-slide>img{height:auto}.su-carousel-pages-no .su-carousel-pagination{display:none}.swiper-wp8-horizontal{-ms-touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x}.su-carousel .su-carousel-slide a{padding:0 5px}.su-carousel .su-carousel-slide img{padding:3px;border:1px solid #ccc;background:#fff;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px}.su-carousel .su-carousel-slide-title{position:absolute;left:9px;right:9px;bottom:4px;display:block;padding:2px 3px;color:#fff;line-height:1.2;font-size:11px;background:#000;background:rgba(0,0,0,.5);box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;transition:opacity 1s;-o-transition:opacity 1s;-moz-transition:opacity 1s;-webkit-transition:opacity 1s}.su-carousel .su-carousel-next,.su-carousel .su-carousel-prev{position:absolute;top:50%;display:block;width:40px;height:40px;margin-top:-20px;background:#000 0 0 url(../images/swiper/default.png) no-repeat;background-color:rgba(0,0,0,.5);cursor:pointer;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;opacity:0;-webkit-transition:all .2s;transition:all .2s}.su-carousel .su-carousel-prev{right:20px;margin-right:40px;background-position:-40px 0}.su-carousel .su-carousel-next{left:20px;margin-left:40px;background-position:0 0}.su-carousel:hover .su-carousel-next,.su-carousel:hover .su-carousel-prev{margin-left:0;margin-right:0;opacity:.7}.su-carousel .su-carousel-next:hover,.su-carousel .su-carousel-prev:hover{opacity:1}.su-carousel .su-carousel-pagination{position:absolute;left:15%;right:15%;top:50%;width:70%;height:0;margin-top:-7px;text-align:center;cursor:default;opacity:0;-webkit-transition:all .2s;transition:all .2s}.su-carousel:hover .su-carousel-pagination{bottom:20px;opacity:1}.su-carousel .su-carousel-pagination span{display:inline-block;width:14px;height:14px;margin:0;background:#000 0 -999px url(../images/swiper/default.png) no-repeat;background-color:rgba(0,0,0,.5);cursor:pointer;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;-webkit-transition:all .2s;transition:all .2s}.su-carousel:hover .su-carousel-pagination span{margin:0 3px}.su-carousel .su-carousel-pagination span.swiper-visible-switch{background-color:#fff;background-color:rgba(255,255,255,.5)}.su-carousel .su-carousel-pagination span.swiper-active-switch,.su-carousel .su-carousel-pagination span:hover{background-position:0 -40px}.su-row{clear:both;zoom:1;margin-bottom:1.5em}.su-row:after,.su-row:before{display:table;content:''}.su-row:after{clear:both}.su-column{display:block;margin:0 4% 0 0;float:left;box-sizing:border-box}.su-column-last{margin-right:0}.su-row .su-column{margin:0 0 0 4%}.su-row .su-column.su-column-size-1-1{margin-left:0;margin-right:0}.su-row .su-column:first-child{margin-left:0}.su-row .su-column.su-column-centered{margin-right:auto;margin-left:auto;float:none}.su-column embed,.su-column iframe,.su-column img,.su-column object{max-width:100%}.su-column-size-1-1{width:100%}.su-column-size-1-2{width:48%}.su-column-size-1-3{width:30.66%}.su-column-size-2-3{width:65.33%}.su-column-size-1-4{width:22%}.su-column-size-3-4{width:74%}.su-column-size-1-5{width:16.8%}.su-column-size-2-5{width:37.6%}.su-column-size-3-5{width:58.4%}.su-column-size-4-5{width:79.2%}.su-column-size-1-6{width:13.33%}.su-column-size-5-6{width:82.66%}.su-custom-gallery{margin-bottom:1.5em}.su-custom-gallery:after,.su-custom-gallery:before{content:'';display:table}.su-custom-gallery:after{clear:both}.su-custom-gallery-slide{position:relative;float:left;margin:.5em;overflow:hidden}.su-custom-gallery-slide a{display:block;width:100%}.su-custom-gallery-slide img{display:block;margin:0;padding:3px;border:1px solid #ccc;background:#fff;box-sizing:border-box;border-radius:5px;box-shadow:none;-webkit-transition:all .2s;transition:all .2s}.su-custom-gallery-slide:hover img{background:#eee;border:1px solid #aaa}.su-custom-gallery-slide span{position:absolute;left:4px;bottom:4px;right:4px;display:block;padding:2px 4px;font-size:12px;color:#fff;background:#000;background:rgba(0,0,0,.5);line-height:1.3;opacity:0;-webkit-transition:all .2s;transition:all .2s}.su-custom-gallery-slide:hover span{opacity:1}.su-custom-gallery-title-never span{display:none}.su-custom-gallery-title-always span{opacity:1}.su-dailymotion{margin:0 0 1.5em}.su-dailymotion iframe{border:none!important}.su-display-posts-template-default .su-post{display:-webkit-box;display:flex;margin-bottom:1.75em}.su-display-posts-template-default .su-post-thumbnail{margin:0 1.25em 0 0;width:8.25em}.su-display-posts-template-default .su-post-thumbnail a{display:block!important;text-decoration:none!important}.su-display-posts-template-default .su-post-thumbnail img{display:block!important;margin:0!important;max-width:100%!important;height:auto!important;-o-object-fit:cover!important;object-fit:cover!important}.su-display-posts-template-default .su-post-body{-webkit-box-flex:1;flex:1}.su-display-posts-template-default h2.su-post-title{margin:0 0 1em!important;padding:0!important;border:none!important;font-size:1.35em!important}.su-display-posts-template-default h2.su-post-title::after,.su-display-posts-template-default h2.su-post-title::before{display:none}.su-display-posts-template-default .su-post-meta{margin:1em 0;font-size:.85em;opacity:.85}.su-display-posts-template-default .su-post-excerpt p{margin:1em 0}.su-display-posts-template-default .su-post-excerpt>:last-child{margin-bottom:0!important}.su-display-posts-template-default .su-post-comments-link{margin:1em 0 0}.su-display-posts-template-teasers .su-post{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;margin-bottom:1em}.su-display-posts-template-teasers .su-post-thumbnail{margin:0 1em 0 0;width:3.75em}.su-display-posts-template-teasers .su-post-thumbnail a{display:block!important;text-decoration:none!important}.su-display-posts-template-teasers .su-post-thumbnail img{display:block!important;margin:0!important;max-width:100%!important;height:auto!important;-o-object-fit:cover!important;object-fit:cover!important}.su-display-posts-template-teasers .su-post-body{-webkit-box-flex:1;flex:1}.su-display-posts-template-teasers h2.su-post-title{margin:0!important;padding:0!important;border:none!important;font-size:1.15em!important}.su-display-posts-template-teasers h2.su-post-title::after,.su-display-posts-template-teasers h2.su-post-title::before{display:none}.su-display-posts-template-single h2.su-post-title{margin:0 0 1em!important;padding:0!important;border:none!important;font-size:1.75em!important}.su-display-posts-template-single .su-post-meta{margin:1em 0;font-size:.85em;opacity:.85}.su-display-posts-pagination{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between}.su-display-posts-pagination-next{margin-left:auto}.su-divider{clear:both;border:none;text-align:right;line-height:1}.su-divider a{display:inline-block;font-size:.8em;text-decoration:none;outline:0;padding-bottom:5px}.su-divider-style-default{border-bottom-style:solid}.su-divider-style-dotted{border-bottom-style:dotted}.su-divider-style-dashed{border-bottom-style:dashed}.su-divider-style-double{border-bottom-style:double}.su-document{margin:0 0 1.5em}.su-document iframe{border:none!important}.su-dropcap{float:left;display:inline-block;width:2em;height:2em;margin:.2em .5em .2em 0;line-height:2em;text-align:center;overflow:hidden;text-transform:uppercase}.su-dropcap-style-default{color:#fff;background:#45484d;background:-webkit-gradient(linear,left top,left bottom,from(#45484d),to(black));background:linear-gradient(to bottom,#45484d 0,#000 100%);text-shadow:-1px -1px 0 #000;border-radius:50%}.su-dropcap-style-flat{background:#444;color:#fff}.su-dropcap-style-light{color:#333;border-radius:50%;background:#fff;background:-webkit-gradient(linear,left top,left bottom,from(white),to(#eaeaea));background:linear-gradient(to bottom,#fff 0,#eaeaea 100%)}.su-dropcap-style-simple{width:1em;height:1em;line-height:1em;text-align:left}.su-expand{margin:0 0 1.5em}.su-expand-content{overflow:hidden}.su-expand-link{margin-top:.5em;cursor:pointer}.su-expand-link:hover{opacity:.7}.su-expand-link a,.su-expand-link a:active,.su-expand-link a:focus,.su-expand-link a:hover,.su-expand-link a:visited{display:inline;text-decoration:none;box-shadow:none;background:0 0;border:none}.su-expand-link-style-underlined .su-expand-link span{text-decoration:underline}.su-expand-link-style-dotted .su-expand-link span{border-bottom:1px dotted #333}.su-expand-link-style-dashed .su-expand-link span{border-bottom:1px dashed #333}.su-expand-link-style-button .su-expand-link a{display:inline-block;margin-top:.2em;padding:.2em .4em;border:2px solid #333}.su-expand-link-more{display:none}.su-expand-link-less{display:block}.su-expand-collapsed .su-expand-link-more{display:block}.su-expand-collapsed .su-expand-link-less{display:none}.su-expand-link i{display:inline-block;margin:0 .3em 0 0;vertical-align:middle;color:inherit}.su-expand-link img{display:inline-block;width:1em;height:1em;margin:0 .3em 0 0;vertical-align:middle}.su-frame,.su-frame-inner{display:block}.su-frame-align-left{float:left;margin:0 1em 1em 0}.su-frame-align-center{float:none;margin:1em auto}.su-frame-align-right{float:right;margin:0 0 1em 1em}.su-frame img{display:block!important;float:none!important;padding:0!important;margin:0!important;border:none!important;box-shadow:none!important}.su-frame-style-default{padding:2px;border:1px solid #999;background:#fff;box-shadow:1px 1px 4px #ccc}.su-frame-style-default .su-frame-inner{padding:2px;border:4px solid #eee}.su-gmap{margin:0 0 1.5em}.su-gmap iframe{border:none!important}.su-guests{margin-bottom:1.5em}.su-heading-style-default{padding:2px 0;border-top:1px solid #999;border-bottom:1px solid #999}.su-heading-style-default .su-heading-inner{padding:1em .5em;border-top:4px solid #eee;border-bottom:4px solid #eee}.su-heading.su-heading-align-left{text-align:left}.su-heading.su-heading-align-left .su-heading-inner{padding-left:.2em}.su-heading.su-heading-align-right{text-align:right}.su-heading.su-heading-align-right .su-heading-inner{padding-right:.2em}.su-heading.su-heading-align-center{text-align:center}.su-highlight{display:inline;padding:1px 0}.su-image-carousel{width:100%;margin:1.5em 0}.su-image-carousel:first-child{margin-top:0}.su-image-carousel:last-child{margin-bottom:0}.su-image-carousel-item{width:100%;box-sizing:border-box}.su-image-carousel .su-image-carousel-item-content{position:relative}.su-image-carousel .su-image-carousel-item-content a,.su-image-carousel .su-image-carousel-item-content a:active,.su-image-carousel .su-image-carousel-item-content a:focus,.su-image-carousel .su-image-carousel-item-content a:hover,.su-image-carousel .su-image-carousel-item-content a:visited,.su-image-carousel .su-image-carousel-item-content img{display:block;width:100%;height:100%;margin:0;padding:0;box-sizing:border-box;box-shadow:none;text-decoration:none;border:none;border-radius:0}.su-image-carousel .su-image-carousel-item-content a::after,.su-image-carousel .su-image-carousel-item-content a::before,.su-image-carousel .su-image-carousel-item-content img::after,.su-image-carousel .su-image-carousel-item-content img::before{display:none}.su-image-carousel .su-image-carousel-item-content span{position:absolute;display:block;font-size:.9em;max-height:60%;overflow:auto;line-height:1.3;word-wrap:break-word}.su-image-carousel .su-image-carousel-item-content span:empty{display:none}.su-image-carousel-columns-2 .su-image-carousel-item{width:50%}.su-image-carousel-columns-2.su-image-carousel-has-spacing .su-image-carousel-item{width:48.5%;margin-right:3%}.su-image-carousel-columns-3 .su-image-carousel-item{width:33.33333%}.su-image-carousel-columns-3.su-image-carousel-has-spacing .su-image-carousel-item{width:31.4%;margin-right:2.9%}.su-image-carousel-columns-4 .su-image-carousel-item{width:25%}.su-image-carousel-columns-4.su-image-carousel-has-spacing .su-image-carousel-item{width:22.9%;margin-right:2.8%}.su-image-carousel-columns-5 .su-image-carousel-item{width:20%}.su-image-carousel-columns-5.su-image-carousel-has-spacing .su-image-carousel-item{width:18%;margin-right:2.5%}.su-image-carousel-columns-6 .su-image-carousel-item{width:16.66667%}.su-image-carousel-columns-6.su-image-carousel-has-spacing .su-image-carousel-item{width:14.5%;margin-right:2.6%}.su-image-carousel-columns-7 .su-image-carousel-item{width:14.28571%}.su-image-carousel-columns-7.su-image-carousel-has-spacing .su-image-carousel-item{width:12.4%;margin-right:2.2%}.su-image-carousel-columns-8 .su-image-carousel-item{width:12.5%}.su-image-carousel-columns-8.su-image-carousel-has-spacing .su-image-carousel-item{width:10.75%;margin-right:2%}.su-image-carousel-crop .su-image-carousel-item-content::before{float:left;width:1px;margin-left:-1px;height:0;content:''}.su-image-carousel-crop .su-image-carousel-item-content::after{content:'';display:table;clear:both}.su-image-carousel-crop .su-image-carousel-item-content img{position:absolute;left:0;top:0;right:0;bottom:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.su-image-carousel-crop-16-9 .su-image-carousel-item-content::before{padding-top:56.25%}.su-image-carousel-crop-16-10 .su-image-carousel-item-content::before{padding-top:62.5%}.su-image-carousel-crop-21-9 .su-image-carousel-item-content::before{padding-top:42.85714%}.su-image-carousel-crop-5-4 .su-image-carousel-item-content::before{padding-top:80%}.su-image-carousel-crop-4-3 .su-image-carousel-item-content::before{padding-top:75%}.su-image-carousel-crop-3-2 .su-image-carousel-item-content::before{padding-top:66.66667%}.su-image-carousel-crop-2-1 .su-image-carousel-item-content::before{padding-top:50%}.su-image-carousel-crop-1-1 .su-image-carousel-item-content::before{padding-top:100%}.su-image-carousel-crop-1-2 .su-image-carousel-item-content::before{padding-top:200%}.su-image-carousel-crop-2-3 .su-image-carousel-item-content::before{padding-top:150%}.su-image-carousel-crop-3-4 .su-image-carousel-item-content::before{padding-top:133.33333%}.su-image-carousel-crop-4-5 .su-image-carousel-item-content::before{padding-top:125%}.su-image-carousel-crop-9-21 .su-image-carousel-item-content::before{padding-top:233.33333%}.su-image-carousel-crop-10-16 .su-image-carousel-item-content::before{padding-top:160%}.su-image-carousel-crop-9-16 .su-image-carousel-item-content::before{padding-top:177.77778%}.su-image-carousel-align-left{float:left;margin-right:1.5em;margin-top:0}.su-image-carousel-align-right{float:right;margin-left:1.5em;margin-top:0}.su-image-carousel-align-center{margin-right:auto;margin-left:auto}.su-image-carousel-align-full{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw!important;width:100vw!important}.su-image-carousel button.flickity-prev-next-button{position:absolute;top:50%;display:block;width:44px;height:44px;margin:-22px 0 0;padding:0;opacity:0;outline:0;border-radius:50%;-webkit-transform:none;transform:none;-webkit-transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,transform .2s ease;transition:opacity .2s ease,transform .2s ease,-webkit-transform .2s ease}.su-image-carousel:hover button.flickity-prev-next-button{opacity:.5}.su-image-carousel button.flickity-prev-next-button:focus,.su-image-carousel button.flickity-prev-next-button:hover{opacity:1;box-shadow:none}.su-image-carousel button.flickity-prev-next-button:focus{-webkit-transform:scale(1.05);transform:scale(1.05)}.su-image-carousel button.flickity-prev-next-button[disabled]{display:none}.su-image-carousel button.flickity-prev-next-button.previous{left:20px}.su-image-carousel button.flickity-prev-next-button.next{right:20px}.su-image-carousel>ol.flickity-page-dots{position:absolute;top:50%;left:50%;bottom:auto;width:auto;margin:0;padding:0;list-style:none;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);pointer-events:none;opacity:0;-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.su-image-carousel>ol.flickity-page-dots>li.dot{position:relative;width:20px;height:20px;display:inline-block;margin:5px;padding:0;list-style:none;pointer-events:all;border-radius:50%;opacity:.5;-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.su-image-carousel>ol.flickity-page-dots>li.dot:hover{opacity:1}.su-image-carousel>ol.flickity-page-dots>li.dot::before{position:absolute;top:50%;left:50%;display:none;width:10px;height:10px;margin:0;padding:0;content:'';border-radius:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.su-image-carousel>ol.flickity-page-dots>li.dot.is-selected::before{display:block}.su-image-carousel:hover ol.flickity-page-dots{opacity:1}.su-image-carousel-controls-style-dark button.flickity-prev-next-button{background:#000;color:#fff}.su-image-carousel-controls-style-dark ol.flickity-page-dots li.dot{background:#000}.su-image-carousel-controls-style-dark ol.flickity-page-dots li.dot::before{background:#fff}.su-image-carousel-controls-style-light button.flickity-prev-next-button{background:#fff;color:#000}.su-image-carousel-controls-style-light ol.flickity-page-dots li.dot{background:#fff}.su-image-carousel-controls-style-light ol.flickity-page-dots li.dot::before{background:#000}.su-image-carousel-slides-style-default .su-image-carousel-item-content{margin:1px}.su-image-carousel-slides-style-default .su-image-carousel-item-content img{padding:3px;background:#fff;border:1px solid #ccc;border-radius:7px}.su-image-carousel-slides-style-default .su-image-carousel-item-content span{bottom:4px;right:4px;left:4px;padding:.5em .7em;background:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.7)),to(transparent));background:linear-gradient(to top,rgba(0,0,0,.7),transparent);text-shadow:0 2px 5px #000;color:#fff;border-bottom-right-radius:2px;border-bottom-left-radius:2px}.su-image-carousel-slides-style-minimal .su-image-carousel-item-content{margin:1px}.su-image-carousel-slides-style-minimal .su-image-carousel-item-content span{right:0;bottom:0;left:0;padding:.7em;background:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.7)),to(transparent));background:linear-gradient(to top,rgba(0,0,0,.7),transparent);text-shadow:0 2px 5px #000;color:#fff}.su-image-carousel-slides-style-photo .su-image-carousel-item-content{padding:7px}.su-image-carousel-slides-style-photo .su-image-carousel-item-content img{border:5px solid #fff;border-radius:7px;box-shadow:0 2px 5px rgba(0,0,0,.5)}.su-image-carousel-slides-style-photo .su-image-carousel-item-content span{right:12px;bottom:12px;left:12px;padding:.3em .5em;background:#fff;color:#000;font-size:.9em}.su-image-carousel-slides-style-photo.su-image-carousel-crop .su-image-carousel-item-content img{top:7px;right:7px;left:7px;bottom:7px;width:calc(100% - 14px);height:calc(100% - 14px)}.su-image-carousel-mfp.mfp-bg{z-index:102000!important}.su-image-carousel-mfp.mfp-wrap{z-index:102001!important}.su-image-carousel-mfp.mfp-wrap .mfp-preloader{z-index:102002!important}.su-image-carousel-mfp.mfp-wrap .mfp-content{z-index:102003!important}.su-image-carousel-mfp.mfp-wrap button.mfp-arrow,.su-image-carousel-mfp.mfp-wrap button.mfp-close{z-index:102004!important}.su-image-carousel-has-outline .su-image-carousel-item-content a:focus img,.su-image-carousel-has-outline button.flickity-prev-next-button:focus{outline-width:2px;outline-style:solid;outline-color:Highlight}.su-label{display:inline;margin-right:.3em;padding:.1em .3em;font-size:.8em;height:.8em;line-height:.8em;color:#fff;border-radius:3px}.su-label-type-default{background:#999}.su-label-type-success{background:#090}.su-label-type-warning{background:#f90}.su-label-type-important{background:#f03}.su-label-type-black{background:#111}.su-label-type-info{background:#09c}.su-lightbox-content{position:relative;margin:0 auto}#su-generator .su-lightbox-content,.mfp-content .su-lightbox-content{display:block!important}.su-lightbox-content-preview{width:100%;min-height:300px;background:#444;overflow:hidden}.su-lightbox-content h1,.su-lightbox-content h2,.su-lightbox-content h3,.su-lightbox-content h4,.su-lightbox-content h5,.su-lightbox-content h6{color:inherit}.su-lightbox{cursor:pointer}.su-list{margin-bottom:1.5em}.su-list ul{margin:0!important;padding:0!important;list-style:none!important}.su-list ul li{position:relative;display:block!important;margin:0!important;padding:4px 0 4px 2em!important;list-style-type:none!important;line-height:1.3em}.su-list ul li>img{position:absolute;left:0;top:4px;width:1.3em;height:1.3em;padding:0;margin:0;border:none}.su-list ul li>i{position:absolute;left:0;top:4px;width:1.3em;height:1.3em;line-height:1.3em;text-align:center}.su-members{margin-bottom:1.5em;padding:1em;border-width:1px 0;border-style:solid;text-align:center}.su-members a{text-decoration:underline;color:inherit}.su-note{margin:0 0 1.5em;border-width:1px;border-style:solid}.su-note-inner{padding:1em;border-width:1px;border-style:solid}.su-posts-default-loop .su-post{margin-bottom:2.5em;line-height:1.5}.su-posts-default-loop .su-post:after{content:'';display:table;clear:both}.su-posts-default-loop .su-post-thumbnail{float:left;display:block;width:100px;height:100px;margin-right:1em}.su-posts-default-loop .su-post-thumbnail img{max-width:100px;max-height:100px}.su-posts-default-loop h2.su-post-title{clear:none;margin:0 0 .3em;font-size:1.2em;font-weight:700}.su-posts-default-loop .su-post-meta{margin-bottom:.7em;font-size:.8em;opacity:.6}.su-posts-default-loop .su-post-excerpt{margin-bottom:.5em}.su-posts-default-loop .su-post-excerpt p:last-child{margin-bottom:0}.su-posts-default-loop .su-post-comments-link{font-size:.9em}.su-posts-teaser-loop .su-post{margin-bottom:1.5em;line-height:1.2}.su-posts-teaser-loop .su-post:after{content:'';display:table;clear:both}.su-posts-teaser-loop .su-post-thumbnail{float:left;display:block;width:56px;height:56px;margin:0 1em 0 0}.su-posts-teaser-loop .su-post-thumbnail img{display:block;margin:0;padding:2px;border:1px solid #ccc;border-radius:5px;max-width:100%;max-height:100%}.su-posts-teaser-loop h2.su-post-title{display:block;margin:0;padding:0;border:none;font-size:.9em;font-weight:400;clear:none}.su-posts-single-post .su-post{margin-bottom:2.5em;line-height:1.5}.su-posts-single-post .su-post:after{content:'';display:table;clear:both}.su-posts-single-post h1.su-post-title{clear:none;margin:0 0 .3em;font-size:1.2em;font-weight:700}.su-posts-single-post .su-post-meta{margin-bottom:.7em;font-size:.8em;opacity:.6}.su-posts-single-post .su-post-content{margin-bottom:.5em}.su-posts-single-post .su-post-content p:last-child{margin-bottom:0}.su-private{margin:0 0 1.5em}.su-pullquote{display:block;width:30%;padding:.5em 1em}.su-pullquote-align-left{margin:.5em 1.5em 1em 0;padding-left:0;float:left;border-right:5px solid #eee}.su-pullquote-align-right{margin:.5em 0 1em 1.5em;padding-right:0;float:right;border-left:5px solid #eee}.su-qrcode{display:inline-block}.su-qrcode-align-left{float:left;margin:0 .5em .5em 0}.su-qrcode-align-center{display:block;clear:both;margin:1em auto;text-align:center}.su-qrcode-align-right{float:right;margin:0 0 .5em .5em}.su-qrcode a,.su-qrcode a:active,.su-qrcode a:focus,.su-qrcode a:hover{background:0 0;outline:0;display:inline;text-decoration:none}.su-qrcode-clickable a:hover{opacity:.7}.su-qrcode img{max-width:100%}.su-quote-style-default{position:relative;margin-bottom:1.5em;padding:.5em 3em;font-style:italic}.su-quote-style-default:after,.su-quote-style-default:before{position:absolute;display:block;width:20px;height:20px;background-image:url(../images/quote.png);content:''}.su-quote-style-default:before{top:0;left:0;background-position:0 0}.su-quote-style-default:after{right:0;bottom:0;background-position:-20px 0}.su-quote-style-default .su-quote-cite{display:block;text-align:right;font-style:normal}.su-quote-style-default .su-quote-cite:before{content:'\2014\0000a0'}.su-quote-style-default .su-quote-cite a{text-decoration:underline}.su-screenr{margin:0 0 1.5em}.su-screenr iframe{border:none!important}.su-service{position:relative;margin:0 0 1.5em}.su-service-title{display:block;margin-bottom:.5em;color:#333;font-weight:700;font-size:1.1em}.su-service-title img{position:absolute;top:0;left:0;display:block!important;margin:0!important;padding:0!important;border:none!important;box-shadow:none!important}.su-service-title i{position:absolute;top:0;left:0;display:block!important;width:1em;height:1em;text-align:center;line-height:1em}.su-service-content{line-height:1.4}.su-slider{position:relative;margin-bottom:1.5em;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.su-slider-centered{margin:0 auto 1.5em}.su-slider-slides{position:relative;width:100%;-webkit-transition-property:-webkit-transform,left,top;-webkit-transition-duration:0s;-webkit-transform:translate3d(0,0,0);-webkit-transition-timing-function:ease;-moz-transition-property:-moz-transform,left,top;-moz-transition-duration:0s;-moz-transform:translate3d(0,0,0);-moz-transition-timing-function:ease;-o-transition-property:-o-transform,left,top;-o-transition-duration:0s;-o-transform:translate3d(0,0,0);-o-transition-timing-function:ease;-o-transform:translate(0,0);-ms-transition-property:-ms-transform,left,top;-ms-transition-duration:0s;-ms-transform:translate3d(0,0,0);-ms-transition-timing-function:ease;-webkit-transition-property:left,top,-webkit-transform;transition-property:left,top,-webkit-transform;transition-property:transform,left,top;transition-property:transform,left,top,-webkit-transform;transition-duration:0s;transform:translate3d(0,0,0);transition-timing-function:ease}.swiper-free-mode>.su-slider-slides{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.su-slider-slide{position:relative;float:left}.su-slider-slide>a,.su-slider-slide>a>img,.su-slider-slide>img{position:relative;display:block;width:100%;height:100%;text-decoration:none}.su-slider-responsive-yes .su-slider-slide>a,.su-slider-responsive-yes .su-slider-slide>a>img,.su-slider-responsive-yes .su-slider-slide>img{height:auto}.su-slider-pages-no .su-slider-pagination{display:none}.swiper-wp8-horizontal{-ms-touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x}.su-slider-slide-title{position:absolute;left:20px;bottom:20px;display:block;max-width:90%;padding:5px 10px;color:#fff;line-height:1.3;background:#000;background:rgba(0,0,0,.5);border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;opacity:0;transition:opacity 1s;-o-transition:opacity 1s;-moz-transition:opacity 1s;-webkit-transition:opacity 1s}.su-slider-slide-visible .su-slider-slide-title{opacity:1}.su-slider-next,.su-slider-prev{position:absolute;top:50%;display:block;width:40px;height:40px;margin-top:-20px!important;background:#000 0 0 url(../images/swiper/default.png) no-repeat;background-color:rgba(0,0,0,.5);cursor:pointer;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;opacity:0;-webkit-transition:all .2s;transition:all .2s}.su-slider-prev{right:10px;margin-right:30px;background-position:-40px 0}.su-slider-next{left:10px;margin-left:30px;background-position:0 0}.su-slider:hover .su-slider-next,.su-slider:hover .su-slider-prev{margin-left:0;margin-right:0;opacity:.7}.su-slider .su-slider-next:hover,.su-slider .su-slider-prev:hover{opacity:1}.su-slider-pagination{position:absolute;left:15%;right:15%;top:50%;width:70%;height:0;margin-top:-7px;text-align:center;cursor:default;opacity:0;-webkit-transition:all .2s;transition:all .2s}.su-slider:hover .su-slider-pagination{bottom:20px;opacity:1}.su-slider-pagination span{display:inline-block;width:14px;height:14px;margin:0;background:#000 0 -999px url(../images/swiper/default.png) no-repeat;background-color:rgba(0,0,0,.5);cursor:pointer;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;-webkit-transition:all .2s;transition:all .2s}.su-slider:hover .su-slider-pagination span{margin:0 3px}.su-slider .su-slider-pagination span.swiper-visible-switch{background-color:#fff;background-color:rgba(255,255,255,.5)}.su-slider-pagination span.swiper-active-switch,.su-slider-pagination span:hover{background-position:0 -40px}.su-spacer{display:block;height:0;clear:both;overflow:hidden}.su-spacer-5{height:5px}.su-spacer-10{height:10px}.su-spacer-20{height:20px}.su-spacer-30{height:30px}.su-spacer-40{height:40px}.su-spoiler{margin-bottom:1.5em}.su-spoiler .su-spoiler:last-child{margin-bottom:0}.su-spoiler-title{position:relative;cursor:pointer;min-height:20px;line-height:20px;padding:7px 7px 7px 34px;font-weight:700;font-size:13px}.su-spoiler-title:focus{outline:currentColor thin dotted}.su-spoiler-icon{position:absolute;left:7px;top:7px;display:block;width:20px;height:20px;line-height:21px;text-align:center;font-size:14px;font-family:ShortcodesUltimateIcons;font-weight:400;font-style:normal;-webkit-font-smoothing:antialiased}.su-spoiler-content{padding:14px;-webkit-transition:padding-top .2s;transition:padding-top .2s;-ie-transition:padding-top .2s}.su-spoiler.su-spoiler-closed>.su-spoiler-content{height:0;margin:0;padding:0;overflow:hidden;border:none;opacity:0;pointer-events:none}.su-spoiler.su-spoiler-closed>.su-spoiler-content iframe{display:none}.su-spoiler-icon-plus .su-spoiler-icon:before{content:'\f068'}.su-spoiler-icon-plus.su-spoiler-closed .su-spoiler-icon:before{content:'\f067'}.su-spoiler-icon-plus-circle .su-spoiler-icon:before{content:'\f056'}.su-spoiler-icon-plus-circle.su-spoiler-closed .su-spoiler-icon:before{content:'\f055'}.su-spoiler-icon-plus-square-1 .su-spoiler-icon:before{content:'\f146'}.su-spoiler-icon-plus-square-1.su-spoiler-closed .su-spoiler-icon:before{content:'\f0fe'}.su-spoiler-icon-plus-square-2 .su-spoiler-icon:before{content:'\f147'}.su-spoiler-icon-plus-square-2.su-spoiler-closed .su-spoiler-icon:before{content:'\f196'}.su-spoiler-icon-arrow .su-spoiler-icon:before{content:'\f063'}.su-spoiler-icon-arrow.su-spoiler-closed .su-spoiler-icon:before{content:'\f061'}.su-spoiler-icon-arrow-circle-1 .su-spoiler-icon:before{content:'\f0ab'}.su-spoiler-icon-arrow-circle-1.su-spoiler-closed .su-spoiler-icon:before{content:'\f0a9'}.su-spoiler-icon-arrow-circle-2 .su-spoiler-icon:before{content:'\f01a'}.su-spoiler-icon-arrow-circle-2.su-spoiler-closed .su-spoiler-icon:before{content:'\f18e'}.su-spoiler-icon-chevron .su-spoiler-icon:before{content:'\f078'}.su-spoiler-icon-chevron.su-spoiler-closed .su-spoiler-icon:before{content:'\f054'}.su-spoiler-icon-chevron-circle .su-spoiler-icon:before{content:'\f13a'}.su-spoiler-icon-chevron-circle.su-spoiler-closed .su-spoiler-icon:before{content:'\f138'}.su-spoiler-icon-caret .su-spoiler-icon:before{content:'\f0d7'}.su-spoiler-icon-caret.su-spoiler-closed .su-spoiler-icon:before{content:'\f0da'}.su-spoiler-icon-caret-square .su-spoiler-icon:before{content:'\f150'}.su-spoiler-icon-caret-square.su-spoiler-closed .su-spoiler-icon:before{content:'\f152'}.su-spoiler-icon-folder-1 .su-spoiler-icon:before{content:'\f07c'}.su-spoiler-icon-folder-1.su-spoiler-closed .su-spoiler-icon:before{content:'\f07b'}.su-spoiler-icon-folder-2 .su-spoiler-icon:before{content:'\f115'}.su-spoiler-icon-folder-2.su-spoiler-closed .su-spoiler-icon:before{content:'\f114'}.su-spoiler-style-default>.su-spoiler-title{padding-left:27px;padding-right:0}.su-spoiler-style-default>.su-spoiler-title>.su-spoiler-icon{left:0}.su-spoiler-style-default>.su-spoiler-content{padding:1em 0 1em 27px}.su-spoiler-style-fancy{border:1px solid #ccc;border-radius:10px;background:#fff;color:#333}.su-spoiler-style-fancy>.su-spoiler-title{border-bottom:1px solid #ccc;border-radius:10px;background:#f0f0f0;font-size:.9em}.su-spoiler-style-fancy.su-spoiler-closed>.su-spoiler-title{border:none}.su-spoiler-style-fancy>.su-spoiler-content{border-radius:10px}.su-spoiler-style-simple{border-top:1px solid #ccc;border-bottom:1px solid #ccc}.su-spoiler-style-simple>.su-spoiler-title{padding:5px 10px;background:#f0f0f0;color:#333;font-size:.9em}.su-spoiler-style-simple>.su-spoiler-title>.su-spoiler-icon{display:none}.su-spoiler-style-simple>.su-spoiler-content{padding:1em 10px;background:#fff;color:#333}.su-table{width:100%;margin-bottom:1.5em}.su-table table{width:100%!important;margin:0!important;border-collapse:collapse!important;font-size:1em!important;border:1px solid #ccc!important;table-layout:auto!important}.su-table table th{text-align:center!important;padding:1em!important;font-size:1em!important;font-weight:700!important;color:#333!important;border:1px solid #ccc!important;background:#f0f0f0!important}.su-table table td{padding:.5em 1em!important;border:1px solid #ccc!important;background:#fff!important}.su-table-responsive{overflow-x:auto}.su-table-responsive table{width:auto!important;min-width:100%!important}.su-table-responsive table td,.su-table-responsive table th{word-break:initial!important}.su-table-alternate table tr:nth-child(even) td{background-color:#f7f7f7!important}.su-table-fixed table{table-layout:fixed!important}.su-tabs{margin:0 0 1.5em;padding:3px;border-radius:3px;background:#eee}.su-tabs-nav span{display:inline-block;margin-right:3px;padding:10px 15px;min-height:40px;border-top-left-radius:3px;border-top-right-radius:3px;color:#333;font-size:13px;line-height:20px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.su-tabs-nav span:hover{background:#f5f5f5}.su-tabs-nav span.su-tabs-current{background:#fff;cursor:default}.su-tabs-nav span:focus{outline:currentColor thin dotted}.su-tabs-nav span.su-tabs-disabled{opacity:.5;cursor:default}.su-tabs-pane{padding:15px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background:#fff;color:#333;font-size:13px}.su-tabs-pane:not(.su-tabs-pane-open){overflow:hidden!important;padding:0!important;min-height:0!important;height:0!important;border:none!important}.su-tabs-nav,.su-tabs-nav span,.su-tabs-pane,.su-tabs-panes{box-sizing:border-box!important}.su-tabs-vertical{display:-webkit-box;display:flex}.su-tabs-vertical .su-tabs-nav{width:30%}.su-tabs-vertical .su-tabs-nav>span{display:block;margin-right:0;border-radius:0;border-top-left-radius:3px;border-bottom-left-radius:3px}.su-tabs-vertical .su-tabs-panes{width:70%}.su-tabs-vertical .su-tabs-panes .su-tabs-pane{height:100%;border-radius:0;border-top-right-radius:3px;border-bottom-right-radius:3px}.qtip.su-qtip{max-width:480px!important}.su-tooltip{display:inline-block}.su-qtip-size-1{font-size:.8em!important}.su-qtip-size-2{font-size:.9em!important}.su-qtip-size-3{font-size:1em!important}.su-qtip-size-4{font-size:1.1em!important}.su-qtip-size-5{font-size:1.2em!important}.su-qtip-size-6{font-size:1.3em!important}.su-tooltip-content{display:none}.su-tooltip-content>:last-child{margin-bottom:0}.qtip-content .su-tooltip-content embed,.qtip-content .su-tooltip-content iframe,.qtip-content .su-tooltip-content img,.qtip-content .su-tooltip-content object{max-width:430px}.qtip-content .su-tooltip-content .su-u-responsive-media-yes{width:430px}.su-video{position:relative;margin-bottom:1.5em;overflow:hidden}.su-video .jp-title{position:absolute;top:-100px;left:0;width:100%;height:30px;padding:0 1em;line-height:30px;font-size:.9em;background:#000;background:rgba(0,0,0,.5);color:#fff;-webkit-transition:top .2s;transition:top .2s}.su-video:hover .jp-title{top:0}.su-video .jp-start{position:absolute;left:0;top:0;width:100%;height:100%;cursor:pointer;opacity:.5;-webkit-transition:opacity .2s;transition:opacity .2s;background:50% 50% url(../images/player/default-start.png) no-repeat}.su-video:hover .jp-start{opacity:.8}.su-video.jp-video-full{position:fixed;left:0;top:0;width:100%;height:100%}.su-video.jp-video-full .jp-jplayer{position:fixed!important;left:0;top:0;overflow:hidden}.su-video .jp-gui{position:relative;height:30px;background:#7c8781;background:-webkit-gradient(linear,left top,left bottom,from(#7c8781),to(#0a0809));background:linear-gradient(to bottom,#7c8781 0,#0a0809 100%);border-bottom-right-radius:3px;border-bottom-left-radius:3px}.su-video.jp-video-full .jp-gui{position:fixed;left:0;bottom:0;width:100%}.su-video-controls-no .jp-gui{position:absolute!important;bottom:-100px;left:0;right:0;-webkit-transition:bottom .2s;transition:bottom .2s}.su-video-controls-no:hover .jp-gui{bottom:0}.su-video img{border-radius:0!important;border:none!important;margin:0!important;padding:0!important}.su-video .jp-gui .jp-pause,.su-video .jp-gui .jp-play{position:absolute;left:0;top:0;display:block;width:30px;height:30px;border-right:1px solid #454947;cursor:pointer}.su-video .jp-gui .jp-play{background:0 0 url(../images/player/default.png) no-repeat}.su-video .jp-gui .jp-pause{background:-30px 0 url(../images/player/default.png) no-repeat}.su-video .jp-full-screen,.su-video .jp-restore-screen{position:absolute;top:0;right:0;display:block;width:30px;height:30px;border-left:1px solid #454947;cursor:pointer}.su-video .jp-full-screen{background:0 -30px url(../images/player/default.png) no-repeat}.su-video .jp-restore-screen{background:-30px -30px url(../images/player/default.png) no-repeat}.su-video .jp-progress{position:absolute;top:10px;left:90px;right:90px;height:10px;background:#333;border-radius:3px;box-shadow:0 0 5px #000 inset}.su-video .jp-play-bar,.su-video .jp-seek-bar{position:absolute;top:0;left:0;height:100%;cursor:pointer;border-radius:3px}.su-video .jp-seek-bar{background:#0b0b0b;background:-webkit-gradient(linear,left top,left bottom,from(#0b0b0b),to(#666));background:linear-gradient(to bottom,#0b0b0b 0,#666 100%)}.su-video .jp-play-bar{background:#6db3f2;background:-webkit-gradient(linear,left top,left bottom,from(#6db3f2),color-stop(50%,#54a3ee),color-stop(51%,#3690f0),to(#1e69de));background:linear-gradient(to bottom,#6db3f2 0,#54a3ee 50%,#3690f0 51%,#1e69de 100%)}.su-video .jp-current-time,.su-video .jp-duration{position:absolute;top:0;display:block;height:30px;line-height:30px;color:#f5f5f5;font-size:10px}.su-video .jp-current-time{left:50px}.su-video .jp-duration{right:50px}.su-vimeo{margin:0 0 1.5em}.su-vimeo iframe{border:none!important}.su-youtube{margin:0 0 1.5em}.su-youtube iframe{border:none!important}@media screen and (max-width:768px){.su-button span{padding-top:.25em!important;padding-bottom:.25em!important;line-height:1.2!important}.su-button small{margin-top:.2em!important}.su-display-posts-template-default .su-post-thumbnail{width:4em}.su-display-posts-template-teasers .su-post-thumbnail{width:2.75em}.su-image-carousel-adaptive .su-image-carousel-item{width:100%!important;margin-right:0!important}}@media only screen and (max-width:768px){.su-row .su-column{width:100%;margin:0 0 1.5em;float:none}.su-row .su-column:last-child{margin-bottom:0}.su-tabs-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.su-tabs-vertical .su-tabs-nav,.su-tabs-vertical .su-tabs-panes{width:100%}.su-tabs-vertical .su-tabs-nav .su-tabs-pane,.su-tabs-vertical .su-tabs-nav>span,.su-tabs-vertical .su-tabs-panes .su-tabs-pane,.su-tabs-vertical .su-tabs-panes>span{border-radius:3px}.su-tabs-mobile-stack .su-tabs-nav span{display:block}.su-tabs-mobile-scroll .su-tabs-nav{display:-webkit-box;display:flex;-webkit-box-align:end;align-items:flex-end;white-space:nowrap;overflow-x:auto}}@media screen and (max-width:48em){.su-pullquote{width:auto}.su-pullquote-align-left,.su-pullquote-align-right{float:none;margin:1.5em 0;padding:.5em 1em}}@media only screen{[class*=su-column]+[class*=su-column]:last-child{float:right}}@media (-webkit-min-device-pixel-ratio:0){.su-image-carousel-has-outline .su-image-carousel-item-content a:focus,.su-image-carousel-has-outline button.flickity-prev-next-button:focus{outline-color:-webkit-focus-ring-color;outline-style:auto}}
|
includes/css/shortcodes.full.css
CHANGED
@@ -758,6 +758,146 @@
|
|
758 |
border: none !important;
|
759 |
}
|
760 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
761 |
.su-divider {
|
762 |
clear: both;
|
763 |
border: none;
|
758 |
border: none !important;
|
759 |
}
|
760 |
|
761 |
+
.su-display-posts-template-default .su-post {
|
762 |
+
display: -webkit-box;
|
763 |
+
display: flex;
|
764 |
+
margin-bottom: 1.75em;
|
765 |
+
}
|
766 |
+
|
767 |
+
.su-display-posts-template-default .su-post-thumbnail {
|
768 |
+
margin: 0 1.25em 0 0;
|
769 |
+
width: 8.25em;
|
770 |
+
}
|
771 |
+
|
772 |
+
.su-display-posts-template-default .su-post-thumbnail a {
|
773 |
+
display: block !important;
|
774 |
+
text-decoration: none !important;
|
775 |
+
}
|
776 |
+
|
777 |
+
.su-display-posts-template-default .su-post-thumbnail img {
|
778 |
+
display: block !important;
|
779 |
+
margin: 0 !important;
|
780 |
+
max-width: 100% !important;
|
781 |
+
height: auto !important;
|
782 |
+
-o-object-fit: cover !important;
|
783 |
+
object-fit: cover !important;
|
784 |
+
}
|
785 |
+
|
786 |
+
.su-display-posts-template-default .su-post-body {
|
787 |
+
-webkit-box-flex: 1;
|
788 |
+
flex: 1;
|
789 |
+
}
|
790 |
+
|
791 |
+
.su-display-posts-template-default h2.su-post-title {
|
792 |
+
margin: 0 0 1em !important;
|
793 |
+
padding: 0 !important;
|
794 |
+
border: none !important;
|
795 |
+
font-size: 1.35em !important;
|
796 |
+
}
|
797 |
+
|
798 |
+
.su-display-posts-template-default h2.su-post-title::before,
|
799 |
+
.su-display-posts-template-default h2.su-post-title::after {
|
800 |
+
display: none;
|
801 |
+
}
|
802 |
+
|
803 |
+
.su-display-posts-template-default .su-post-meta {
|
804 |
+
margin: 1em 0;
|
805 |
+
font-size: 0.85em;
|
806 |
+
opacity: 0.85;
|
807 |
+
}
|
808 |
+
|
809 |
+
.su-display-posts-template-default .su-post-excerpt p {
|
810 |
+
margin: 1em 0;
|
811 |
+
}
|
812 |
+
|
813 |
+
.su-display-posts-template-default .su-post-excerpt > :last-child {
|
814 |
+
margin-bottom: 0 !important;
|
815 |
+
}
|
816 |
+
|
817 |
+
.su-display-posts-template-default .su-post-comments-link {
|
818 |
+
margin: 1em 0 0;
|
819 |
+
}
|
820 |
+
|
821 |
+
@media screen and (max-width: 768px) {
|
822 |
+
.su-display-posts-template-default .su-post-thumbnail {
|
823 |
+
width: 4em;
|
824 |
+
}
|
825 |
+
}
|
826 |
+
|
827 |
+
.su-display-posts-template-teasers .su-post {
|
828 |
+
display: -webkit-box;
|
829 |
+
display: flex;
|
830 |
+
-webkit-box-align: center;
|
831 |
+
align-items: center;
|
832 |
+
margin-bottom: 1em;
|
833 |
+
}
|
834 |
+
|
835 |
+
.su-display-posts-template-teasers .su-post-thumbnail {
|
836 |
+
margin: 0 1em 0 0;
|
837 |
+
width: 3.75em;
|
838 |
+
}
|
839 |
+
|
840 |
+
.su-display-posts-template-teasers .su-post-thumbnail a {
|
841 |
+
display: block !important;
|
842 |
+
text-decoration: none !important;
|
843 |
+
}
|
844 |
+
|
845 |
+
.su-display-posts-template-teasers .su-post-thumbnail img {
|
846 |
+
display: block !important;
|
847 |
+
margin: 0 !important;
|
848 |
+
max-width: 100% !important;
|
849 |
+
height: auto !important;
|
850 |
+
-o-object-fit: cover !important;
|
851 |
+
object-fit: cover !important;
|
852 |
+
}
|
853 |
+
|
854 |
+
.su-display-posts-template-teasers .su-post-body {
|
855 |
+
-webkit-box-flex: 1;
|
856 |
+
flex: 1;
|
857 |
+
}
|
858 |
+
|
859 |
+
.su-display-posts-template-teasers h2.su-post-title {
|
860 |
+
margin: 0 !important;
|
861 |
+
padding: 0 !important;
|
862 |
+
border: none !important;
|
863 |
+
font-size: 1.15em !important;
|
864 |
+
}
|
865 |
+
|
866 |
+
.su-display-posts-template-teasers h2.su-post-title::before,
|
867 |
+
.su-display-posts-template-teasers h2.su-post-title::after {
|
868 |
+
display: none;
|
869 |
+
}
|
870 |
+
|
871 |
+
@media screen and (max-width: 768px) {
|
872 |
+
.su-display-posts-template-teasers .su-post-thumbnail {
|
873 |
+
width: 2.75em;
|
874 |
+
}
|
875 |
+
}
|
876 |
+
|
877 |
+
.su-display-posts-template-single h2.su-post-title {
|
878 |
+
margin: 0 0 1em !important;
|
879 |
+
padding: 0 !important;
|
880 |
+
border: none !important;
|
881 |
+
font-size: 1.75em !important;
|
882 |
+
}
|
883 |
+
|
884 |
+
.su-display-posts-template-single .su-post-meta {
|
885 |
+
margin: 1em 0;
|
886 |
+
font-size: 0.85em;
|
887 |
+
opacity: 0.85;
|
888 |
+
}
|
889 |
+
|
890 |
+
.su-display-posts-pagination {
|
891 |
+
display: -webkit-box;
|
892 |
+
display: flex;
|
893 |
+
-webkit-box-pack: justify;
|
894 |
+
justify-content: space-between;
|
895 |
+
}
|
896 |
+
|
897 |
+
.su-display-posts-pagination-next {
|
898 |
+
margin-left: auto;
|
899 |
+
}
|
900 |
+
|
901 |
.su-divider {
|
902 |
clear: both;
|
903 |
border: none;
|
includes/functions-galleries.php
CHANGED
@@ -1,169 +1,87 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
*
|
5 |
*
|
6 |
-
*
|
7 |
-
*
|
8 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
*/
|
10 |
-
function
|
11 |
-
|
12 |
-
$args = wp_parse_args(
|
13 |
-
$args,
|
14 |
-
array(
|
15 |
-
'source' => 'none',
|
16 |
-
'limit' => 20,
|
17 |
-
'gallery' => null,
|
18 |
-
'type' => '',
|
19 |
-
'link' => 'none',
|
20 |
-
)
|
21 |
-
);
|
22 |
-
|
23 |
-
if (
|
24 |
-
null !== $args['gallery'] ||
|
25 |
-
( 'none' === $args['source'] && get_option( 'su_option_galleries-432' ) )
|
26 |
-
) {
|
27 |
-
return su_get_slides_432( $args );
|
28 |
-
}
|
29 |
|
30 |
$slides = array();
|
|
|
31 |
|
32 |
-
|
33 |
-
|
34 |
-
if ( strpos( trim( $args['source'] ), $type . ':' ) === 0 ) {
|
35 |
-
$args['source'] = array(
|
36 |
-
'type' => $type,
|
37 |
-
'val' => (string) trim( str_replace( array( $type . ':', ' ' ), '', $args['source'] ), ',' ),
|
38 |
-
);
|
39 |
-
break;
|
40 |
-
}
|
41 |
-
|
42 |
-
}
|
43 |
-
|
44 |
-
if ( ! is_array( $args['source'] ) ) {
|
45 |
-
return $slides;
|
46 |
-
}
|
47 |
-
|
48 |
-
$query = array( 'posts_per_page' => $args['limit'] );
|
49 |
-
|
50 |
-
if ( 'media' === $args['source']['type'] ) {
|
51 |
-
|
52 |
-
$query['post_type'] = 'attachment';
|
53 |
-
$query['post_status'] = 'any';
|
54 |
-
$query['post__in'] = (array) explode( ',', $args['source']['val'] );
|
55 |
-
$query['orderby'] = 'post__in';
|
56 |
-
|
57 |
}
|
58 |
|
59 |
-
|
60 |
-
if ( 'posts' === $args['source']['type'] ) {
|
61 |
-
|
62 |
-
if ( 'recent' !== $args['source']['val'] ) {
|
63 |
|
64 |
-
|
65 |
-
$
|
66 |
-
$
|
67 |
|
|
|
|
|
68 |
}
|
69 |
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
$args['source']['val'] = explode( '/', $args['source']['val'] );
|
75 |
-
|
76 |
-
if (
|
77 |
-
! is_array( $args['source']['val'] ) ||
|
78 |
-
count( $args['source']['val'] ) !== 2
|
79 |
-
) {
|
80 |
-
return $slides;
|
81 |
-
}
|
82 |
|
83 |
-
$
|
84 |
-
|
85 |
-
|
86 |
-
'field' => 'id',
|
87 |
-
'terms' => (array) explode( ',', $args['source']['val'][1] ),
|
88 |
-
),
|
89 |
);
|
90 |
-
$query['post_type'] = 'any';
|
91 |
|
92 |
-
|
93 |
-
|
94 |
-
$query = apply_filters( 'su/slides_query', $query, $args );
|
95 |
-
$query = new WP_Query( $query );
|
96 |
-
|
97 |
-
if ( is_array( $query->posts ) ) {
|
98 |
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
if ( ! su_is_positive_number( $thumb ) ) {
|
106 |
-
continue;
|
107 |
-
}
|
108 |
|
109 |
-
|
110 |
-
'
|
111 |
-
|
112 |
-
'title' => get_the_title( $post->ID ),
|
113 |
-
);
|
114 |
|
115 |
-
|
116 |
-
$slide['link'] = $slide['image'];
|
117 |
-
} elseif ( 'custom' === $args['link'] ) {
|
118 |
-
$slide['link'] = get_post_meta( $post->ID, 'su_slide_link', true );
|
119 |
-
} elseif ( 'post' === $args['link'] ) {
|
120 |
$slide['link'] = get_permalink( $post->ID );
|
121 |
-
|
122 |
-
$slide['link'] = get_attachment_link( $thumb );
|
123 |
-
}
|
124 |
-
|
125 |
-
$slides[] = $slide;
|
126 |
-
|
127 |
-
}
|
128 |
-
|
129 |
-
}
|
130 |
-
|
131 |
-
return $slides;
|
132 |
-
|
133 |
-
}
|
134 |
-
|
135 |
-
/**
|
136 |
-
* Get slides data.
|
137 |
-
*
|
138 |
-
* Deprecated since 4.3.2.
|
139 |
-
*
|
140 |
-
* @since 5.0.5
|
141 |
-
* @param array $args Query args.
|
142 |
-
* @return array Slides collection.
|
143 |
-
*/
|
144 |
-
function su_get_slides_432( $args ) {
|
145 |
-
|
146 |
-
$args = wp_parse_args(
|
147 |
-
$args,
|
148 |
-
array(
|
149 |
-
'gallery' => 1,
|
150 |
-
)
|
151 |
-
);
|
152 |
|
153 |
-
|
|
|
|
|
154 |
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
|
159 |
-
|
160 |
|
161 |
-
|
162 |
-
return $slides;
|
163 |
-
}
|
164 |
|
165 |
-
if ( isset( $galleries[ $args['gallery'] ] ) ) {
|
166 |
-
$slides = $galleries[ $args['gallery'] ]['items'];
|
167 |
}
|
168 |
|
169 |
return $slides;
|
@@ -171,40 +89,18 @@ function su_get_slides_432( $args ) {
|
|
171 |
}
|
172 |
|
173 |
/**
|
174 |
-
*
|
175 |
-
*
|
176 |
-
* Example input:
|
177 |
*
|
178 |
-
*
|
179 |
-
*
|
180 |
-
*
|
181 |
-
* posts: recent
|
182 |
-
* taxonomy: book/3, 5
|
183 |
-
*
|
184 |
-
* Example output:
|
185 |
-
*
|
186 |
-
* [
|
187 |
-
* [
|
188 |
-
* 'attachment_id' => 1,
|
189 |
-
* 'link' => 'https://...',
|
190 |
-
* 'caption' => '...'
|
191 |
-
* ],
|
192 |
-
* ...
|
193 |
-
* ]
|
194 |
-
*
|
195 |
-
* @since 5.4.0
|
196 |
-
* @param string $source Images source string.
|
197 |
-
* @param array $args Additional parameters.
|
198 |
-
* @return array Array with parsed data on success, False otherwise.
|
199 |
*/
|
200 |
-
function
|
201 |
|
202 |
-
$
|
203 |
-
$query = array();
|
204 |
-
$source = su_parse_images_source( $source );
|
205 |
|
206 |
if ( ! $source ) {
|
207 |
-
return
|
208 |
}
|
209 |
|
210 |
if ( 'media' === $source['type'] ) {
|
@@ -214,7 +110,7 @@ function su_get_gallery_slides( $source, $args = array() ) {
|
|
214 |
$query['post_status'] = 'inherit';
|
215 |
|
216 |
if ( 'recent' === $source['ids'] ) {
|
217 |
-
$query['posts_per_page'] =
|
218 |
}
|
219 |
|
220 |
if ( 'recent' !== $source['ids'] ) {
|
@@ -230,16 +126,18 @@ function su_get_gallery_slides( $source, $args = array() ) {
|
|
230 |
if ( 'posts' === $source['type'] ) {
|
231 |
|
232 |
$query['post_type'] = 'any';
|
|
|
233 |
|
234 |
if ( 'recent' === $source['ids'] ) {
|
235 |
-
$query['posts_per_page'] =
|
236 |
}
|
237 |
|
238 |
-
if (
|
239 |
|
240 |
-
$query['
|
241 |
-
$query['
|
242 |
-
$query['
|
|
|
243 |
|
244 |
}
|
245 |
|
@@ -259,67 +157,24 @@ function su_get_gallery_slides( $source, $args = array() ) {
|
|
259 |
),
|
260 |
);
|
261 |
$query['post_type'] = 'any';
|
262 |
-
$query['posts_per_page'] =
|
263 |
-
|
264 |
-
}
|
265 |
-
|
266 |
-
$query = apply_filters( 'su/get_gallery_slides_query', $query, $source, $args );
|
267 |
-
$query = new WP_Query( $query );
|
268 |
-
|
269 |
-
if ( ! is_array( $query->posts ) ) {
|
270 |
-
return array();
|
271 |
-
}
|
272 |
-
|
273 |
-
foreach ( $query->posts as $post ) {
|
274 |
-
|
275 |
-
$attachment_id = 'attachment' === $post->post_type
|
276 |
-
? $post->ID
|
277 |
-
: get_post_thumbnail_id( $post->ID );
|
278 |
-
|
279 |
-
if ( ! is_numeric( $attachment_id ) ) {
|
280 |
-
continue;
|
281 |
-
}
|
282 |
-
|
283 |
-
$caption = 'attachment' === $post->post_type || 'yes' === $args['prefer_caption']
|
284 |
-
? wp_get_attachment_caption( $attachment_id )
|
285 |
-
: get_the_title( $post->ID );
|
286 |
-
|
287 |
-
$slide = array(
|
288 |
-
'attachment_id' => intval( $attachment_id ),
|
289 |
-
'caption' => trim( $caption ),
|
290 |
-
);
|
291 |
-
|
292 |
-
switch ( $args['link'] ) {
|
293 |
-
|
294 |
-
case 'image':
|
295 |
-
case 'lightbox':
|
296 |
-
$slide['link'] = wp_get_attachment_image_src( $attachment_id, 'full', false );
|
297 |
-
$slide['link'] = $slide['link'][0];
|
298 |
-
break;
|
299 |
-
|
300 |
-
case 'custom':
|
301 |
-
$slide['link'] = get_post_meta( $attachment_id, 'su_slide_link', true );
|
302 |
-
break;
|
303 |
|
304 |
-
|
305 |
-
$slide['link'] = get_permalink( $post->ID );
|
306 |
-
break;
|
307 |
-
|
308 |
-
case 'attachment':
|
309 |
-
$slide['link'] = get_attachment_link( $attachment_id );
|
310 |
-
break;
|
311 |
|
312 |
-
|
313 |
-
|
314 |
-
|
|
|
315 |
|
316 |
}
|
317 |
|
318 |
-
$slides[] = $slide;
|
319 |
-
|
320 |
}
|
321 |
|
322 |
-
|
|
|
|
|
|
|
323 |
|
324 |
}
|
325 |
|
@@ -337,7 +192,7 @@ function su_get_gallery_slides( $source, $args = array() ) {
|
|
337 |
* Output:
|
338 |
*
|
339 |
* [
|
340 |
-
* 'type' => '
|
341 |
* 'tax' => 'book',
|
342 |
* 'ids' => [ 1, 2, 3 ]
|
343 |
* ]
|
@@ -403,6 +258,21 @@ function su_get_image_sizes() {
|
|
403 |
|
404 |
}
|
405 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
406 |
/**
|
407 |
* Adds 'Slide Link' field at attachment page.
|
408 |
*
|
@@ -439,3 +309,173 @@ function su_slide_link_save( $post, $attachment ) {
|
|
439 |
return $post;
|
440 |
|
441 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* Helper function to get gallery slides.
|
5 |
*
|
6 |
+
* Example input:
|
7 |
+
*
|
8 |
+
* media: 1, 2, 3
|
9 |
+
* media: recent
|
10 |
+
* posts: 1, 2, 3
|
11 |
+
* posts: recent
|
12 |
+
* taxonomy: book/3, 5
|
13 |
+
*
|
14 |
+
* Example output:
|
15 |
+
*
|
16 |
+
* [
|
17 |
+
* [
|
18 |
+
* 'attachment_id' => 1,
|
19 |
+
* 'link' => 'https://...',
|
20 |
+
* 'caption' => '...'
|
21 |
+
* ],
|
22 |
+
* ...
|
23 |
+
* ]
|
24 |
+
*
|
25 |
+
* @since 5.4.0
|
26 |
+
* @param array $atts Shortcode atts.
|
27 |
+
* @return array Array with parsed data on success, False otherwise.
|
28 |
*/
|
29 |
+
function su_get_gallery_slides( $atts ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
|
31 |
$slides = array();
|
32 |
+
$posts = su_get_gallery_slides_posts( $atts );
|
33 |
|
34 |
+
if ( ! is_array( $posts ) ) {
|
35 |
+
return array();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
}
|
37 |
|
38 |
+
foreach ( $posts as $post ) {
|
|
|
|
|
|
|
39 |
|
40 |
+
$attachment_id = 'attachment' === $post->post_type
|
41 |
+
? $post->ID
|
42 |
+
: get_post_thumbnail_id( $post->ID );
|
43 |
|
44 |
+
if ( ! su_is_positive_number( $attachment_id ) ) {
|
45 |
+
continue;
|
46 |
}
|
47 |
|
48 |
+
$caption = 'attachment' === $post->post_type || 'yes' === $atts['prefer_caption']
|
49 |
+
? wp_get_attachment_caption( $attachment_id )
|
50 |
+
: get_the_title( $post->ID );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
|
52 |
+
$slide = array(
|
53 |
+
'attachment_id' => intval( $attachment_id ),
|
54 |
+
'caption' => trim( $caption ),
|
|
|
|
|
|
|
55 |
);
|
|
|
56 |
|
57 |
+
switch ( $atts['link'] ) {
|
|
|
|
|
|
|
|
|
|
|
58 |
|
59 |
+
case 'image':
|
60 |
+
case 'lightbox':
|
61 |
+
$slide['link'] = wp_get_attachment_image_src( $attachment_id, 'full', false );
|
62 |
+
$slide['link'] = $slide['link'][0];
|
63 |
+
break;
|
|
|
|
|
|
|
|
|
64 |
|
65 |
+
case 'custom':
|
66 |
+
$slide['link'] = get_post_meta( $attachment_id, 'su_slide_link', true );
|
67 |
+
break;
|
|
|
|
|
68 |
|
69 |
+
case 'post':
|
|
|
|
|
|
|
|
|
70 |
$slide['link'] = get_permalink( $post->ID );
|
71 |
+
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
|
73 |
+
case 'attachment':
|
74 |
+
$slide['link'] = get_attachment_link( $attachment_id );
|
75 |
+
break;
|
76 |
|
77 |
+
default:
|
78 |
+
$slide['link'] = '';
|
79 |
+
break;
|
80 |
|
81 |
+
}
|
82 |
|
83 |
+
$slides[] = $slide;
|
|
|
|
|
84 |
|
|
|
|
|
85 |
}
|
86 |
|
87 |
return $slides;
|
89 |
}
|
90 |
|
91 |
/**
|
92 |
+
* Auxilary function to query posts to be used in a gallery.
|
|
|
|
|
93 |
*
|
94 |
+
* @since 5.8.2
|
95 |
+
* @param array $atts Shortcode atts.
|
96 |
+
* @return WP_Query WP_Query instance.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
*/
|
98 |
+
function su_get_gallery_slides_posts( $atts ) {
|
99 |
|
100 |
+
$source = su_parse_images_source( $atts['source'] );
|
|
|
|
|
101 |
|
102 |
if ( ! $source ) {
|
103 |
+
return false;
|
104 |
}
|
105 |
|
106 |
if ( 'media' === $source['type'] ) {
|
110 |
$query['post_status'] = 'inherit';
|
111 |
|
112 |
if ( 'recent' === $source['ids'] ) {
|
113 |
+
$query['posts_per_page'] = $atts['limit'];
|
114 |
}
|
115 |
|
116 |
if ( 'recent' !== $source['ids'] ) {
|
126 |
if ( 'posts' === $source['type'] ) {
|
127 |
|
128 |
$query['post_type'] = 'any';
|
129 |
+
$query['meta_key'] = '_thumbnail_id';
|
130 |
|
131 |
if ( 'recent' === $source['ids'] ) {
|
132 |
+
$query['posts_per_page'] = $atts['limit'];
|
133 |
}
|
134 |
|
135 |
+
if ( is_array( $source['ids'] ) ) {
|
136 |
|
137 |
+
$query['ignore_sticky_posts'] = true;
|
138 |
+
$query['posts_per_page'] = count( $source['ids'] );
|
139 |
+
$query['post__in'] = $source['ids'];
|
140 |
+
$query['orderby'] = 'post__in';
|
141 |
|
142 |
}
|
143 |
|
157 |
),
|
158 |
);
|
159 |
$query['post_type'] = 'any';
|
160 |
+
$query['posts_per_page'] = $atts['limit'];
|
161 |
+
$query['meta_key'] = '_thumbnail_id';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
162 |
|
163 |
+
if ( su_is_media_taxonomy( $source['tax'] ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
164 |
|
165 |
+
$query['post_mime_type'] = 'image/jpeg,image/gif,image/jpg,image/png';
|
166 |
+
$query['post_type'] = 'attachment';
|
167 |
+
$query['post_status'] = 'inherit';
|
168 |
+
$query['meta_key'] = null;
|
169 |
|
170 |
}
|
171 |
|
|
|
|
|
172 |
}
|
173 |
|
174 |
+
$query = apply_filters( 'su/get_gallery_slides_query', $query, $source, $atts );
|
175 |
+
$query = new WP_Query( $query );
|
176 |
+
|
177 |
+
return isset( $query->posts ) ? $query->posts : array();
|
178 |
|
179 |
}
|
180 |
|
192 |
* Output:
|
193 |
*
|
194 |
* [
|
195 |
+
* 'type' => 'taxonomy',
|
196 |
* 'tax' => 'book',
|
197 |
* 'ids' => [ 1, 2, 3 ]
|
198 |
* ]
|
258 |
|
259 |
}
|
260 |
|
261 |
+
/**
|
262 |
+
* Helper function to determine if a given taxonomy is attached to the 'attachment' post type
|
263 |
+
*
|
264 |
+
* @since 5.8.2
|
265 |
+
* @param string $taxonomy Taxonomy to check
|
266 |
+
* @return bool True if a given taxonomy is a media category, False otherwise
|
267 |
+
*/
|
268 |
+
function su_is_media_taxonomy( $taxonomy ) {
|
269 |
+
|
270 |
+
$taxonomy = get_taxonomy( $taxonomy );
|
271 |
+
|
272 |
+
return isset( $taxonomy->object_type ) && in_array( 'attachment', $taxonomy->object_type, true );
|
273 |
+
|
274 |
+
}
|
275 |
+
|
276 |
/**
|
277 |
* Adds 'Slide Link' field at attachment page.
|
278 |
*
|
309 |
return $post;
|
310 |
|
311 |
}
|
312 |
+
|
313 |
+
/**
|
314 |
+
* Get slides data.
|
315 |
+
*
|
316 |
+
* @since 5.0.5
|
317 |
+
* @param array $args Query args.
|
318 |
+
* @return array Slides collection.
|
319 |
+
*/
|
320 |
+
function su_get_slides( $args ) {
|
321 |
+
|
322 |
+
$args = wp_parse_args(
|
323 |
+
$args,
|
324 |
+
array(
|
325 |
+
'source' => 'none',
|
326 |
+
'limit' => 20,
|
327 |
+
'gallery' => null,
|
328 |
+
'type' => '',
|
329 |
+
'link' => 'none',
|
330 |
+
)
|
331 |
+
);
|
332 |
+
|
333 |
+
if (
|
334 |
+
null !== $args['gallery'] ||
|
335 |
+
( 'none' === $args['source'] && get_option( 'su_option_galleries-432' ) )
|
336 |
+
) {
|
337 |
+
return su_get_slides_432( $args );
|
338 |
+
}
|
339 |
+
|
340 |
+
$slides = array();
|
341 |
+
|
342 |
+
foreach ( array( 'media', 'posts', 'category', 'taxonomy' ) as $type ) {
|
343 |
+
|
344 |
+
if ( strpos( trim( $args['source'] ), $type . ':' ) === 0 ) {
|
345 |
+
$args['source'] = array(
|
346 |
+
'type' => $type,
|
347 |
+
'val' => (string) trim( str_replace( array( $type . ':', ' ' ), '', $args['source'] ), ',' ),
|
348 |
+
);
|
349 |
+
break;
|
350 |
+
}
|
351 |
+
|
352 |
+
}
|
353 |
+
|
354 |
+
if ( ! is_array( $args['source'] ) ) {
|
355 |
+
return $slides;
|
356 |
+
}
|
357 |
+
|
358 |
+
$query = array( 'posts_per_page' => $args['limit'] );
|
359 |
+
|
360 |
+
if ( 'media' === $args['source']['type'] ) {
|
361 |
+
|
362 |
+
$query['post_type'] = 'attachment';
|
363 |
+
$query['post_status'] = 'any';
|
364 |
+
$query['post__in'] = (array) explode( ',', $args['source']['val'] );
|
365 |
+
$query['orderby'] = 'post__in';
|
366 |
+
|
367 |
+
}
|
368 |
+
|
369 |
+
// Source: posts
|
370 |
+
if ( 'posts' === $args['source']['type'] ) {
|
371 |
+
|
372 |
+
if ( 'recent' !== $args['source']['val'] ) {
|
373 |
+
|
374 |
+
$query['post__in'] = (array) explode( ',', $args['source']['val'] );
|
375 |
+
$query['orderby'] = 'post__in';
|
376 |
+
$query['post_type'] = 'any';
|
377 |
+
|
378 |
+
}
|
379 |
+
|
380 |
+
} elseif ( 'category' === $args['source']['type'] ) {
|
381 |
+
$query['category__in'] = (array) explode( ',', $args['source']['val'] );
|
382 |
+
} elseif ( 'taxonomy' === $args['source']['type'] ) {
|
383 |
+
|
384 |
+
$args['source']['val'] = explode( '/', $args['source']['val'] );
|
385 |
+
|
386 |
+
if (
|
387 |
+
! is_array( $args['source']['val'] ) ||
|
388 |
+
count( $args['source']['val'] ) !== 2
|
389 |
+
) {
|
390 |
+
return $slides;
|
391 |
+
}
|
392 |
+
|
393 |
+
$query['tax_query'] = array(
|
394 |
+
array(
|
395 |
+
'taxonomy' => $args['source']['val'][0],
|
396 |
+
'field' => 'id',
|
397 |
+
'terms' => (array) explode( ',', $args['source']['val'][1] ),
|
398 |
+
),
|
399 |
+
);
|
400 |
+
$query['post_type'] = 'any';
|
401 |
+
|
402 |
+
}
|
403 |
+
|
404 |
+
$query = apply_filters( 'su/slides_query', $query, $args );
|
405 |
+
$query = new WP_Query( $query );
|
406 |
+
|
407 |
+
if ( is_array( $query->posts ) ) {
|
408 |
+
|
409 |
+
foreach ( $query->posts as $post ) {
|
410 |
+
|
411 |
+
$thumb = 'media' === $args['source']['type'] || 'attachment' === $post->post_type
|
412 |
+
? $post->ID
|
413 |
+
: get_post_thumbnail_id( $post->ID );
|
414 |
+
|
415 |
+
if ( ! su_is_positive_number( $thumb ) ) {
|
416 |
+
continue;
|
417 |
+
}
|
418 |
+
|
419 |
+
$slide = array(
|
420 |
+
'image' => wp_get_attachment_url( $thumb ),
|
421 |
+
'link' => '',
|
422 |
+
'title' => get_the_title( $post->ID ),
|
423 |
+
);
|
424 |
+
|
425 |
+
if ( 'image' === $args['link'] || 'lightbox' === $args['link'] ) {
|
426 |
+
$slide['link'] = $slide['image'];
|
427 |
+
} elseif ( 'custom' === $args['link'] ) {
|
428 |
+
$slide['link'] = get_post_meta( $thumb, 'su_slide_link', true );
|
429 |
+
} elseif ( 'post' === $args['link'] ) {
|
430 |
+
$slide['link'] = get_permalink( $post->ID );
|
431 |
+
} elseif ( 'attachment' === $args['link'] ) {
|
432 |
+
$slide['link'] = get_attachment_link( $thumb );
|
433 |
+
}
|
434 |
+
|
435 |
+
$slides[] = $slide;
|
436 |
+
|
437 |
+
}
|
438 |
+
|
439 |
+
}
|
440 |
+
|
441 |
+
return $slides;
|
442 |
+
|
443 |
+
}
|
444 |
+
|
445 |
+
/**
|
446 |
+
* Get slides data.
|
447 |
+
*
|
448 |
+
* Deprecated since 4.3.2.
|
449 |
+
*
|
450 |
+
* @since 5.0.5
|
451 |
+
* @param array $args Query args.
|
452 |
+
* @return array Slides collection.
|
453 |
+
*/
|
454 |
+
function su_get_slides_432( $args ) {
|
455 |
+
|
456 |
+
$args = wp_parse_args(
|
457 |
+
$args,
|
458 |
+
array(
|
459 |
+
'gallery' => 1,
|
460 |
+
)
|
461 |
+
);
|
462 |
+
|
463 |
+
$slides = array();
|
464 |
+
|
465 |
+
$args['gallery'] = null === $args['gallery']
|
466 |
+
? 0
|
467 |
+
: $args['gallery'] - 1;
|
468 |
+
|
469 |
+
$galleries = get_option( 'su_option_galleries-432' );
|
470 |
+
|
471 |
+
if ( ! is_array( $galleries ) ) {
|
472 |
+
return $slides;
|
473 |
+
}
|
474 |
+
|
475 |
+
if ( isset( $galleries[ $args['gallery'] ] ) ) {
|
476 |
+
$slides = $galleries[ $args['gallery'] ]['items'];
|
477 |
+
}
|
478 |
+
|
479 |
+
return $slides;
|
480 |
+
|
481 |
+
}
|
includes/functions-helpers.php
CHANGED
@@ -221,7 +221,7 @@ function su_is_valid_template_name( $path ) {
|
|
221 |
foreach ( $allowed as $dir ) {
|
222 |
|
223 |
$dir = untrailingslashit( $dir );
|
224 |
-
$real = realpath( $dir
|
225 |
|
226 |
$dir = str_replace( '\\', '/', $dir );
|
227 |
$real = str_replace( '\\', '/', $real );
|
@@ -252,7 +252,7 @@ function su_set_file_extension( $path, $extension ) {
|
|
252 |
return path_join( $path_info['dirname'], $path_info['filename'] );
|
253 |
}
|
254 |
|
255 |
-
if ( $path_info['extension'] !== $extension ) {
|
256 |
$path .= ".{$extension}";
|
257 |
}
|
258 |
|
@@ -299,3 +299,29 @@ function su_is_positive_number( $value ) {
|
|
299 |
return (int) $value > 0;
|
300 |
|
301 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
221 |
foreach ( $allowed as $dir ) {
|
222 |
|
223 |
$dir = untrailingslashit( $dir );
|
224 |
+
$real = realpath( path_join( $dir, $path ) );
|
225 |
|
226 |
$dir = str_replace( '\\', '/', $dir );
|
227 |
$real = str_replace( '\\', '/', $real );
|
252 |
return path_join( $path_info['dirname'], $path_info['filename'] );
|
253 |
}
|
254 |
|
255 |
+
if ( empty( $path_info['extension'] ) || $path_info['extension'] !== $extension ) {
|
256 |
$path .= ".{$extension}";
|
257 |
}
|
258 |
|
299 |
return (int) $value > 0;
|
300 |
|
301 |
}
|
302 |
+
|
303 |
+
/**
|
304 |
+
* Helper function to join multiple path pieces into one.
|
305 |
+
*
|
306 |
+
* @return string Merged path pieces
|
307 |
+
*/
|
308 |
+
function su_join_paths() {
|
309 |
+
|
310 |
+
$is_absolute = func_get_arg( 0 ) !== ltrim( func_get_arg( 0 ), '\\/' );
|
311 |
+
|
312 |
+
$pieces = array_map(
|
313 |
+
function( $piece ) {
|
314 |
+
return trim( $piece, '\\/' );
|
315 |
+
},
|
316 |
+
func_get_args()
|
317 |
+
);
|
318 |
+
|
319 |
+
$path = implode( DIRECTORY_SEPARATOR, $pieces );
|
320 |
+
|
321 |
+
if ( $is_absolute ) {
|
322 |
+
$path = DIRECTORY_SEPARATOR . $path;
|
323 |
+
}
|
324 |
+
|
325 |
+
return $path;
|
326 |
+
|
327 |
+
}
|
includes/js/generator/index.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
!function s(o,i,u){function c(t,e){if(!i[t]){if(!o[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(l)return l(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var a=i[t]={exports:{}};o[t][0].call(a.exports,function(e){return c(o[t][1][e]||e)},a,a.exports,s,o,i,u)}return i[t].exports}for(var l="function"==typeof require&&require,e=0;e<u.length;e++)c(u[e]);return c}({1:[function(e,t,r){"use strict";function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var p,o,i,u,n,c,l,g,d,a,f,h;window.SUG={},window.SUG.App=(p=jQuery,o=p("#su-generator"),i=p("#su-generator-search"),u=p("#su-generator-filter"),n=u.children("a"),c=p("#su-generator-choices"),l=c.find("span"),g=p("#su-generator-settings"),d=p("#su-compatibility-mode-prefix"),a=p("#su-generator-result"),f=p("#su-generator-selected"),(h={state:{mceSelection:"",target:"",wpActiveEditor:null,context:"",insertArgs:"",preview:{timer:null,request:null}}}).el={body:p("body")},h.init=function(){var a;n.click(function(e){var t=p(this).data("filter");if("all"===t)l.css({opacity:1}).removeClass("su-generator-choice-first");else{var r=new RegExp(t,"gi");l.css({opacity:.2}),l.each(function(){null!==p(this).data("group").match(r)&&p(this).css({opacity:1}).removeClass("su-generator-choice-first")})}e.preventDefault()}),p("#su-generator").on("click",".su-generator-home",function(e){i.val(""),g.html("").hide(),o.removeClass("su-generator-narrow"),u.show(),c.show(),l.show(),h.state.mceSelection="",i.focus(),e.preventDefault()}),p("#su-generator").on("click",".su-generator-close",function(e){p.magnificPopup.close(),e.preventDefault()}),i.on({focus:function(){p(this).val(""),g.html("").hide(),o.removeClass("su-generator-narrow"),c.show(),l.css({opacity:1}).removeClass("su-generator-choice-first"),u.show()},blur:function(){},keyup:function(e){var t=p(".su-generator-choice-first:first"),n=p(this).val(),a=new RegExp(n,"gi"),s=0;13===e.keyCode&&0<t.length&&(e.preventDefault(),p(this).val("").blur(),t.trigger("click")),l.css({opacity:.2}).removeClass("su-generator-choice-first"),l.each(function(){var e=p(this).data(),t=e.shortcode,r=[t,e.name,e.desc,e.group].join(" ").match(a);null!==r&&(p(this).css({opacity:1}),n===t?(l.removeClass("su-generator-choice-first"),p(this).addClass("su-generator-choice-first"),s=999):r.length>s&&(l.removeClass("su-generator-choice-first"),p(this).addClass("su-generator-choice-first"),s=r.length))}),""===n&&l.removeClass("su-generator-choice-first")}}),l.on("click",function(e){var r=p(this).data("shortcode");p.ajax({type:"POST",url:ajaxurl,data:{action:"su_generator_settings",shortcode:r},beforeSend:function(){p("#su-generator-preview").hide(),c.hide(),g.addClass("su-generator-loading").show(),o.addClass("su-generator-narrow"),u.hide()},success:function(e){g.removeClass("su-generator-loading"),g.html(e);var t=p("#su-generator-content");void 0!==h.state.mceSelection&&""!==h.state.mceSelection&&"hidden"!==t.attr("type")&&t.val(h.state.mceSelection),p(".su-generator-range-picker").each(function(e){var t=p(this).find("input"),r=t.attr("min"),n=t.attr("max"),a=t.attr("step");t.simpleSlider({snap:!0,step:a,range:[r,n]}),t.show(),t.on("keyup blur",function(e){t.simpleSlider("setValue",t.val())})}),p(".su-generator-select-color").each(function(e){p(this).find(".su-generator-select-color-wheel").filter(":first").farbtastic(".su-generator-select-color-value:eq("+e+")"),p(this).find(".su-generator-select-color-value").focus(function(){p(".su-generator-select-color-wheel:eq("+e+")").show()}),p(this).find(".su-generator-select-color-value").blur(function(){p(".su-generator-select-color-wheel:eq("+e+")").hide()})}),p(".su-generator-isp").each(function(){function n(){var e="none",t="",r=i.val();if("media"===r){var n=[];u.find("span").each(function(e){n[e]=p(this).data("id")}),0<n.length&&(t=n.join(","))}else if("category"===r){var a=c.val()||[];0<a.length&&(t=a.join(","))}else if("taxonomy"===r){var s=l.val()||"",o=g.val()||[];"0"!==s&&0<o.length&&(e="taxonomy: "+s+"/"+o.join(","))}else e="0"===r?"none":r;""!==t&&(e=r+": "+t),d.val(e).trigger("change")}var t,r=p(this),i=r.find(".su-generator-isp-sources"),a=r.find(".su-generator-isp-source"),e=r.find(".su-generator-isp-add-media"),u=r.find(".su-generator-isp-images"),c=r.find(".su-generator-isp-categories"),l=r.find(".su-generator-isp-taxonomies"),g=p(".su-generator-isp-terms"),d=r.find(".su-generator-attr");i.on("change",function(e){var t=p(this).val();e.preventDefault(),a.removeClass("su-generator-isp-source-open"),-1===t.indexOf(":")&&r.find(".su-generator-isp-source-"+t).addClass("su-generator-isp-source-open"),n()}),u.on("click","span i",function(){p(this).parent("span").css("border-color","#f03").fadeOut(300,function(){p(this).remove(),n()})}),e.click(function(e){e.preventDefault(),void 0!==t&&t.close(),(t=wp.media.frames.su_media_frame_1=wp.media({title:SUGL10n.isp_media_title,library:{type:"image"},button:{text:SUGL10n.isp_media_insert},multiple:!0})).on("open",function(){p(".mfp-wrap").addClass("hidden")}),t.on("close",function(){p(".mfp-wrap").removeClass("hidden")}),t.on("select",function(){var e=t.state().get("selection").toJSON();u.find("em").remove(),p.each(e,function(e){u.append('<span data-id="'+this.id+'" title="'+this.title+'"><img src="'+this.url+'" alt="" /><i class="sui sui-times"></i></span>')}),n()}).open()}),u.sortable({revert:200,containment:r,tolerance:"pointer",stop:function(){n()}}),c.on("change",n),g.on("change",n),l.on("change",function(){var t=p(this).parents(".su-generator-isp-source"),e=p(this).val();if(g.hide().find("option").remove(),n(),"0"!==e)var r=p.ajax({url:ajaxurl,type:"post",dataType:"html",data:{action:"su_generator_get_terms",tax:e,class:"su-generator-isp-terms",multiple:!0,size:10},beforeSend:function(){"object"===s(r)&&r.abort(),g.html("").attr("disabled",!0).hide(),t.addClass("su-generator-loading")},success:function(e){g.html(e).attr("disabled",!1).show(),t.removeClass("su-generator-loading")}})})}),p(".su-generator-upload-button").each(function(){var t,e=p(this),r=p(this).parents(".su-generator-attr-container").find("input:text");e.on("click",function(e){e.preventDefault(),e.stopPropagation(),void 0!==t&&t.close(),(t=wp.media.frames.su_media_frame_2=wp.media({title:SUGL10n.upload_title,button:{text:SUGL10n.upload_insert},multiple:!1})).on("select",function(){var e=t.state().get("selection").first().toJSON();r.val(e.url).trigger("change")}),t.on("open",function(){p(".mfp-wrap").addClass("hidden")}),t.on("close",function(){p(".mfp-wrap").removeClass("hidden")}),t.open()})}),p(".su-generator-icon-picker-button").each(function(){var e=p(this),t=p(this).parents(".su-generator-attr-container"),n=t.find(".su-generator-attr"),a=t.find(".su-generator-icon-picker"),s=a.find("input:text");e.click(function(e){a.toggleClass("su-generator-icon-picker-visible"),s.val("").trigger("keyup"),a.hasClass("su-generator-icon-picker-loaded")||(p.ajax({type:"post",url:ajaxurl,data:{action:"su_generator_get_icons"},dataType:"html",beforeSend:function(){a.addClass("su-generator-loading"),a.addClass("su-generator-icon-picker-loaded")},success:function(e){a.append(e);var r=a.children("i");r.click(function(e){n.val("icon: "+p(this).attr("title")),a.removeClass("su-generator-icon-picker-visible"),n.trigger("change"),e.preventDefault()}),s.on({keyup:function(){var e=p(this).val(),t=new RegExp(e,"gi");r.hide(),r.each(function(){null!==p(this).attr("title").match(t)&&p(this).show()})},focus:function(){p(this).val(""),r.show()}}),a.removeClass("su-generator-loading")}}),e.preventDefault())})}),p(".su-generator-switch").click(function(e){var t=p(this).parent().children("input");"yes"===t.val()?t.val("no").trigger("change"):t.val("yes").trigger("change"),e.preventDefault()}),p(".su-generator-switch-value").on("change",function(){var e=p(this),t=e.parent().children(".su-generator-switch"),r=e.val();"yes"===r?t.removeClass("su-generator-switch-no").addClass("su-generator-switch-yes"):"no"===r&&t.removeClass("su-generator-switch-yes").addClass("su-generator-switch-no")}),p("select#su-generator-attr-taxonomy").on("change",function(){var e=p(this).val(),t=p("select#su-generator-attr-tax_term");window.su_generator_get_terms=p.ajax({type:"POST",url:ajaxurl,data:{action:"su_generator_get_terms",tax:e,noselect:!0},dataType:"html",beforeSend:function(){"object"===s(window.su_generator_get_terms)&&window.su_generator_get_terms.abort(),t.parent().addClass("su-generator-loading")},success:function(e){t.find("option").remove(),t.append(e),t.parent().removeClass("su-generator-loading")}})}),p(".su-generator-shadow-picker").each(function(e){var t=p(this),r=t.find(".su-generator-shadow-picker-field input"),n=t.find(".su-generator-sp-hoff"),a=t.find(".su-generator-sp-voff"),s=t.find(".su-generator-sp-blur"),o={cnt:t.find(".su-generator-shadow-picker-color"),value:t.find(".su-generator-shadow-picker-color-value"),wheel:t.find(".su-generator-shadow-picker-color-wheel")},i=t.find(".su-generator-attr");o.wheel.farbtastic(o.value),o.value.focus(function(){o.wheel.show()}),o.value.blur(function(){o.wheel.hide()}),r.on("change blur keyup",function(){i.val(n.val()+"px "+a.val()+"px "+s.val()+"px "+o.value.val()).trigger("change")}),i.on("keyup",function(){var e=p(this).val().split(" ");4===e.length&&(n.val(e[0].replace("px","")),a.val(e[1].replace("px","")),s.val(e[2].replace("px","")),o.value.val(e[3]),r.trigger("keyup"))})}),p(".su-generator-border-picker").each(function(e){var t=p(this),r=t.find(".su-generator-border-picker-field input, .su-generator-border-picker-field select"),n=t.find(".su-generator-bp-width"),a=t.find(".su-generator-bp-style"),s={cnt:t.find(".su-generator-border-picker-color"),value:t.find(".su-generator-border-picker-color-value"),wheel:t.find(".su-generator-border-picker-color-wheel")},o=t.find(".su-generator-attr");s.wheel.farbtastic(s.value),s.value.focus(function(){s.wheel.show()}),s.value.blur(function(){s.wheel.hide()}),r.on("change blur keyup",function(){o.val(n.val()+"px "+a.val()+" "+s.value.val()).trigger("change")}),o.on("keyup",function(){var e=p(this).val().split(" ");3===e.length&&(n.val(e[0].replace("px","")),a.val(e[1]),s.value.val(e[2]),r.trigger("keyup"))})}),g.find(".su-generator-attr").on("change keyup blur",function(){var e=p(this).parents(".su-generator-attr-container"),t=e.data("default");p(this).val()!=t?e.removeClass("su-generator-skip"):e.addClass("su-generator-skip")}),p(".su-generator-set-value").click(function(e){p(this).parents(".su-generator-attr-container").find("input").val(p(this).text()).trigger("change")}),f.val(r),p.ajax({type:"GET",url:ajaxurl,data:{action:"su_generator_get_preset",id:"last_used",shortcode:r},beforeSend:function(){},success:function(e){h.setSettings(e);var t=p("#su-generator-content");void 0!==h.state.mceSelection&&""!==h.state.mceSelection&&"hidden"!==t.attr("type")&&t.val(h.state.mceSelection)},dataType:"json"})},dataType:"html"})}),p("#su-generator").on("click",".su-generator-insert",h.insertShortcode),p("#su-generator").on("click",".su-generator-toggle-preview",function(e){var t=p("#su-generator-preview");p(this).hide(),t.addClass("su-generator-loading").show(),g.find("input, textarea, select").on("change keyup blur",function(){h.updatePreview()}),h.updatePreview(!0),e.preventDefault()}),p("#su-generator").on("mouseenter click",".su-generator-presets",function(){clearTimeout(a),p(".su-gp-popup").show()}),p("#su-generator").on("mouseleave",".su-generator-presets",function(){a=window.setTimeout(function(){p(".su-gp-popup").fadeOut(200)},600)}),p("#su-generator").on("click",".su-gp-new",function(e){p(this).parents(".su-generator-presets");var t=p(".su-gp-list"),r=(new Date).getTime(),n=prompt(SUGL10n.presets_prompt_msg,SUGL10n.presets_prompt_value);""!==n&&null!==n&&(t.find("b").hide(),t.append('<span data-id="'+r+'"><em>'+n+'</em><i class="sui sui-times"></i></span>'),h.addPreset(r,n))}),p("#su-generator").on("click",".su-gp-list span",function(e){var t=p(".su-generator-presets").data("shortcode"),r=p(this).data("id"),n=p(".su-generator-insert");p(".su-gp-popup").hide(),clearTimeout(a),p.ajax({type:"GET",url:ajaxurl,data:{action:"su_generator_get_preset",id:r,shortcode:t},beforeSend:function(){n.addClass("button-primary-disabled").attr("disabled",!0)},success:function(e){n.removeClass("button-primary-disabled").attr("disabled",!1),h.setSettings(e)},dataType:"json"}),e.preventDefault(),e.stopPropagation()}),p("#su-generator").on("click",".su-gp-list i",function(e){var t=p(this).parents(".su-gp-list"),r=p(this).parent("span"),n=r.data("id");r.remove(),t.find("span").length<1&&t.find("b").show(),h.removePreset(n),e.stopPropagation(),e.preventDefault()})},h.addPreset=function(e,t){var r=p(".su-generator-presets").data("shortcode"),n=h.getSettings();p.ajax({type:"POST",url:ajaxurl,data:{action:"su_generator_add_preset",id:e,name:t,shortcode:r,settings:n}})},h.removePreset=function(e){var t=p(".su-generator-presets").data("shortcode");p.ajax({type:"POST",url:ajaxurl,data:{action:"su_generator_remove_preset",id:e,shortcode:t}})},h.parseSettings=function(){var e="on"===p("#su-generator-option-skip").val()?"#su-generator-settings .su-generator-attr-container:not(.su-generator-skip) .su-generator-attr":"#su-generator-settings .su-generator-attr-container .su-generator-attr",t=f.val(),r=d.val(),n=p(e),a=p("textarea#su-generator-content"),s=a.length?a.val():"false",o=new String("");return o+="["+r+t,n.each(function(){var e=p(this),t="";null==(t=e.is("select")?e.find("option:selected").val():e.val())?t="":"array"==typeof t&&(t=t.join(",")),""!==t&&(o+=" "+p(this).attr("name")+'="'+p(this).val().toString().replace(/"/gi,"'")+'"')}),o+="]","false"!=s&&(o+=s+"[/"+r+t+"]"),o},h.getSettings=function(){f.val();var e=p("#su-generator-settings .su-generator-attr"),t=p("textarea#su-generator-content"),r=t.length?t.val():"false",a={};return e.each(function(e){var t=p(this),r="",n=t.attr("name");null==(r=t.is("select")?t.find("option:selected").val():t.val())&&(r=""),a[n]=r}),a.content=r.toString(),a},h.setSettings=function(r){var e=p("#su-generator-settings .su-generator-attr"),t=p("#su-generator-content");e.each(function(){var e=p(this),t=e.attr("name");r.hasOwnProperty(t)&&(e.val(r[t]),e.trigger("keyup").trigger("change").trigger("blur"))}),r.hasOwnProperty("content")&&t.val(r.content).trigger("keyup").trigger("change").trigger("blur"),h.updatePreview()},h.updatePreview=function(e){var t=p("#su-generator-preview"),r=h.parseSettings(),n=a.text();e=e||!1,t.is(":visible")&&(r===n&&!e||(window.clearTimeout(h.state.preview.timer),h.state.preview.timer=window.setTimeout(function(){h.state.preview.request=p.ajax({type:"POST",url:ajaxurl,cache:!1,data:{action:"su_generator_preview",shortcode:r},beforeSend:function(){h.state.preview.request&&h.state.preview.request.abort(),t.addClass("su-generator-loading").html("")},success:function(e){t.html(e).removeClass("su-generator-loading")},dataType:"html"})},300),a.text(r)))},h.insert=function(e,t){if("string"==typeof e&&"object"===s(t)){h.state.context=e;var r=(h.state.insertArgs=t).shortcode||"",n={type:"inline",alignTop:!0,closeOnBgClick:!1,mainClass:"su-generator-mfp",items:{src:"#su-generator"},callbacks:{}};n.callbacks.open=function(){r?l.filter('[data-shortcode="'.concat(r,'"]')).trigger("click"):window.setTimeout(function(){return i.focus()},200),"undefined"!=typeof tinyMCE&&null!=tinyMCE.activeEditor&&tinyMCE.activeEditor.hasOwnProperty("selection")&&(h.state.mceSelection=tinyMCE.activeEditor.selection.getContent({format:"text"}))},n.callbacks.close=function(){i.val(""),g.html("").hide(),o.removeClass("su-generator-narrow"),u.show(),c.show(),l.show(),h.state.mceSelection=""},p.magnificPopup.open(n)}},h.insertShortcode=function(){var e=h.parseSettings();if(h.addPreset("last_used",SUGL10n.last_used),p.magnificPopup.close(),a.text(e),"classic"===h.state.context)h.state.wpActiveEditor=window.wpActiveEditor,window.wpActiveEditor=h.state.insertArgs.editorID,window.wp.media.editor.insert(e),window.wpActiveEditor=h.state.wpActiveEditor;else if("block"===h.state.context){var t=h.state.insertArgs.props;if(t.attributes.hasOwnProperty("content"))t.setAttributes({content:t.attributes.content+e});else if("core/shortcode"===t.name){var r=t.attributes.hasOwnProperty("text")?t.attributes.text:"";t.setAttributes({text:r+e})}}},h.insertAtCaret=function(e,t){var r=e.selectionStart;e.selectionEnd,e.value=e.value.substring(0,r)+t+e.value.substring(r),e.focus(),e.selectionStart=r+t.length},{init:h.init,insert:h.insert}),jQuery(document).ready(window.SUG.App.init)},{}]},{},[1]);
|
2 |
//# sourceMappingURL=index.js.map
|
1 |
+
!function s(o,i,u){function c(t,e){if(!i[t]){if(!o[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(l)return l(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var a=i[t]={exports:{}};o[t][0].call(a.exports,function(e){return c(o[t][1][e]||e)},a,a.exports,s,o,i,u)}return i[t].exports}for(var l="function"==typeof require&&require,e=0;e<u.length;e++)c(u[e]);return c}({1:[function(e,t,r){"use strict";function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var p,o,i,u,n,c,l,g,d,a,f,h;window.SUG={},window.SUG.App=(p=jQuery,o=p("#su-generator"),i=p("#su-generator-search"),u=p("#su-generator-filter"),n=u.children("a"),c=p("#su-generator-choices"),l=c.find("span"),g=p("#su-generator-settings"),d=p("#su-compatibility-mode-prefix"),a=p("#su-generator-result"),f=p("#su-generator-selected"),(h={state:{mceSelection:"",target:"",wpActiveEditor:null,context:"",insertArgs:"",preview:{timer:null,request:null}}}).el={body:p("body")},h.init=function(){var a;n.click(function(e){var t=p(this).data("filter");if("all"===t)l.css({opacity:1}).removeClass("su-generator-choice-first");else{var r=new RegExp(t,"gi");l.css({opacity:.2}),l.each(function(){null!==p(this).data("group").match(r)&&p(this).css({opacity:1}).removeClass("su-generator-choice-first")})}e.preventDefault()}),p("#su-generator").on("click",".su-generator-home",function(e){i.val(""),g.html("").hide(),o.removeClass("su-generator-narrow"),u.show(),c.show(),l.show(),h.state.mceSelection="",i.focus(),e.preventDefault()}),p("#su-generator").on("click",".su-generator-close",function(e){p.magnificPopup.close(),e.preventDefault()}),i.on({focus:function(){p(this).val(""),g.html("").hide(),o.removeClass("su-generator-narrow"),c.show(),l.css({opacity:1}).removeClass("su-generator-choice-first"),u.show()},blur:function(){},keyup:function(e){var t=p(".su-generator-choice-first:first"),n=p(this).val(),a=new RegExp(n,"gi"),s=0;13===e.keyCode&&0<t.length&&(e.preventDefault(),p(this).val("").blur(),t.trigger("click")),l.css({opacity:.2}).removeClass("su-generator-choice-first"),l.each(function(){var e=p(this).data(),t=e.shortcode,r=[t,e.name,e.desc,e.group].join(" ").match(a);null!==r&&(p(this).css({opacity:1}),n===t?(l.removeClass("su-generator-choice-first"),p(this).addClass("su-generator-choice-first"),s=999):r.length>s&&(l.removeClass("su-generator-choice-first"),p(this).addClass("su-generator-choice-first"),s=r.length))}),""===n&&l.removeClass("su-generator-choice-first")}}),l.on("click",function(e){var r=p(this).data("shortcode");p.ajax({type:"POST",url:ajaxurl,data:{action:"su_generator_settings",shortcode:r},beforeSend:function(){p("#su-generator-preview").hide(),c.hide(),g.addClass("su-generator-loading").show(),o.addClass("su-generator-narrow"),u.hide()},success:function(e){g.removeClass("su-generator-loading"),g.html(e);var t=p("#su-generator-content");void 0!==h.state.mceSelection&&""!==h.state.mceSelection&&"hidden"!==t.attr("type")&&t.val(h.state.mceSelection),p(".su-generator-range-picker").each(function(e){var t=p(this).find("input"),r=t.attr("min"),n=t.attr("max"),a=t.attr("step");t.simpleSlider({snap:!0,step:a,range:[r,n]}),t.show(),t.on("keyup blur",function(e){t.simpleSlider("setValue",t.val())})}),p(".su-generator-select-color").each(function(e){p(this).find(".su-generator-select-color-wheel").filter(":first").farbtastic(".su-generator-select-color-value:eq("+e+")"),p(this).find(".su-generator-select-color-value").focus(function(){p(".su-generator-select-color-wheel:eq("+e+")").show()}),p(this).find(".su-generator-select-color-value").blur(function(){p(".su-generator-select-color-wheel:eq("+e+")").hide()})}),p(".su-generator-isp").each(function(){function n(){var e="none",t="",r=i.val();if("media"===r){var n=[];u.find("span").each(function(e){n[e]=p(this).data("id")}),0<n.length&&(t=n.join(","))}else if("category"===r){var a=c.val()||[];0<a.length&&(t=a.join(","))}else if("taxonomy"===r){var s=l.val()||"",o=g.val()||[];"0"!==s&&0<o.length&&(e="taxonomy: "+s+"/"+o.join(","))}else e="0"===r?"none":r;""!==t&&(e=r+": "+t),d.val(e).trigger("change")}var t,r=p(this),i=r.find(".su-generator-isp-sources"),a=r.find(".su-generator-isp-source"),e=r.find(".su-generator-isp-add-media"),u=r.find(".su-generator-isp-images"),c=r.find(".su-generator-isp-categories"),l=r.find(".su-generator-isp-taxonomies"),g=p(".su-generator-isp-terms"),d=r.find(".su-generator-attr");i.on("change",function(e){var t=p(this).val();e.preventDefault(),a.removeClass("su-generator-isp-source-open"),-1===t.indexOf(":")&&r.find(".su-generator-isp-source-"+t).addClass("su-generator-isp-source-open"),n()}),u.on("click","span i",function(){p(this).parent("span").css("border-color","#f03").fadeOut(300,function(){p(this).remove(),n()})}),e.click(function(e){e.preventDefault(),void 0!==t&&t.close(),(t=wp.media.frames.su_media_frame_1=wp.media({title:SUGL10n.isp_media_title,library:{type:"image"},button:{text:SUGL10n.isp_media_insert},multiple:!0})).on("open",function(){p(".mfp-wrap").addClass("hidden")}),t.on("close",function(){p(".mfp-wrap").removeClass("hidden")}),t.on("select",function(){var e=t.state().get("selection").toJSON();u.find("em").remove(),p.each(e,function(e){u.append('<span data-id="'+this.id+'" title="'+this.title+'"><img src="'+this.url+'" alt="" /><i class="sui sui-times"></i></span>')}),n()}).open()}),u.sortable({revert:200,containment:r,tolerance:"pointer",stop:function(){n()}}),c.on("change",n),g.on("change",n),l.on("change",function(){var t=p(this).parents(".su-generator-isp-source"),e=p(this).val();if(g.hide().find("option").remove(),n(),"0"!==e)var r=p.ajax({url:ajaxurl,type:"post",dataType:"html",data:{action:"su_generator_get_terms",tax:e,class:"su-generator-isp-terms",multiple:!0,size:10},beforeSend:function(){"object"===s(r)&&r.abort(),g.html("").attr("disabled",!0).hide(),t.addClass("su-generator-loading")},success:function(e){g.html(e).attr("disabled",!1).show(),t.removeClass("su-generator-loading")}})})}),p(".su-generator-upload-button").each(function(){var t,e=p(this),r=p(this).parents(".su-generator-attr-container").find("input:text");e.on("click",function(e){e.preventDefault(),e.stopPropagation(),void 0!==t&&t.close(),(t=wp.media.frames.su_media_frame_2=wp.media({title:SUGL10n.upload_title,button:{text:SUGL10n.upload_insert},multiple:!1})).on("select",function(){var e=t.state().get("selection").first().toJSON();r.val(e.url).trigger("change")}),t.on("open",function(){p(".mfp-wrap").addClass("hidden")}),t.on("close",function(){p(".mfp-wrap").removeClass("hidden")}),t.open()})}),p(".su-generator-icon-picker-button").each(function(){var e=p(this),t=p(this).parents(".su-generator-attr-container"),n=t.find(".su-generator-attr"),a=t.find(".su-generator-icon-picker"),s=a.find("input:text");e.click(function(e){a.toggleClass("su-generator-icon-picker-visible"),s.val("").trigger("keyup"),a.hasClass("su-generator-icon-picker-loaded")||(p.ajax({type:"post",url:ajaxurl,data:{action:"su_generator_get_icons"},dataType:"html",beforeSend:function(){a.addClass("su-generator-loading"),a.addClass("su-generator-icon-picker-loaded")},success:function(e){a.append(e);var r=a.children("i");r.click(function(e){n.val("icon: "+p(this).attr("title")),a.removeClass("su-generator-icon-picker-visible"),n.trigger("change"),e.preventDefault()}),s.on({keyup:function(){var e=p(this).val(),t=new RegExp(e,"gi");r.hide(),r.each(function(){null!==p(this).attr("title").match(t)&&p(this).show()})},focus:function(){p(this).val(""),r.show()}}),a.removeClass("su-generator-loading")}}),e.preventDefault())})}),p(".su-generator-switch").click(function(e){var t=p(this).parent().children("input");"yes"===t.val()?t.val("no").trigger("change"):t.val("yes").trigger("change"),e.preventDefault()}),p(".su-generator-switch-value").on("change",function(){var e=p(this),t=e.parent().children(".su-generator-switch"),r=e.val();"yes"===r?t.removeClass("su-generator-switch-no").addClass("su-generator-switch-yes"):"no"===r&&t.removeClass("su-generator-switch-yes").addClass("su-generator-switch-no")}),p("select#su-generator-attr-taxonomy_1").on("change",function(){var e=p(this).val(),t=p("select#su-generator-attr-tax_terms_1");window.su_generator_get_terms=p.ajax({type:"POST",url:ajaxurl,data:{action:"su_generator_get_terms",tax:e,noselect:!0},dataType:"html",beforeSend:function(){"object"===s(window.su_generator_get_terms)&&window.su_generator_get_terms.abort(),t.parent().addClass("su-generator-loading")},success:function(e){t.find("option").remove(),t.append(e),t.parent().removeClass("su-generator-loading")}})}),p(".su-generator-shadow-picker").each(function(e){var t=p(this),r=t.find(".su-generator-shadow-picker-field input"),n=t.find(".su-generator-sp-hoff"),a=t.find(".su-generator-sp-voff"),s=t.find(".su-generator-sp-blur"),o={cnt:t.find(".su-generator-shadow-picker-color"),value:t.find(".su-generator-shadow-picker-color-value"),wheel:t.find(".su-generator-shadow-picker-color-wheel")},i=t.find(".su-generator-attr");o.wheel.farbtastic(o.value),o.value.focus(function(){o.wheel.show()}),o.value.blur(function(){o.wheel.hide()}),r.on("change blur keyup",function(){i.val(n.val()+"px "+a.val()+"px "+s.val()+"px "+o.value.val()).trigger("change")}),i.on("keyup",function(){var e=p(this).val().split(" ");4===e.length&&(n.val(e[0].replace("px","")),a.val(e[1].replace("px","")),s.val(e[2].replace("px","")),o.value.val(e[3]),r.trigger("keyup"))})}),p(".su-generator-border-picker").each(function(e){var t=p(this),r=t.find(".su-generator-border-picker-field input, .su-generator-border-picker-field select"),n=t.find(".su-generator-bp-width"),a=t.find(".su-generator-bp-style"),s={cnt:t.find(".su-generator-border-picker-color"),value:t.find(".su-generator-border-picker-color-value"),wheel:t.find(".su-generator-border-picker-color-wheel")},o=t.find(".su-generator-attr");s.wheel.farbtastic(s.value),s.value.focus(function(){s.wheel.show()}),s.value.blur(function(){s.wheel.hide()}),r.on("change blur keyup",function(){o.val(n.val()+"px "+a.val()+" "+s.value.val()).trigger("change")}),o.on("keyup",function(){var e=p(this).val().split(" ");3===e.length&&(n.val(e[0].replace("px","")),a.val(e[1]),s.value.val(e[2]),r.trigger("keyup"))})}),g.find(".su-generator-attr").on("change keyup blur",function(){var e=p(this).parents(".su-generator-attr-container"),t=e.data("default");p(this).val()!=t?e.removeClass("su-generator-skip"):e.addClass("su-generator-skip")}),p(".su-generator-set-value").click(function(e){p(this).parents(".su-generator-attr-container").find("input").val(p(this).text()).trigger("change")}),f.val(r),p.ajax({type:"GET",url:ajaxurl,data:{action:"su_generator_get_preset",id:"last_used",shortcode:r},beforeSend:function(){},success:function(e){h.setSettings(e);var t=p("#su-generator-content");void 0!==h.state.mceSelection&&""!==h.state.mceSelection&&"hidden"!==t.attr("type")&&t.val(h.state.mceSelection)},dataType:"json"})},dataType:"html"})}),p("#su-generator").on("click",".su-generator-insert",h.insertShortcode),p("#su-generator").on("click",".su-generator-toggle-preview",function(e){var t=p("#su-generator-preview");p(this).hide(),t.addClass("su-generator-loading").show(),g.find("input, textarea, select").on("change keyup blur",function(){h.updatePreview()}),h.updatePreview(!0),e.preventDefault()}),p("#su-generator").on("mouseenter click",".su-generator-presets",function(){clearTimeout(a),p(".su-gp-popup").show()}),p("#su-generator").on("mouseleave",".su-generator-presets",function(){a=window.setTimeout(function(){p(".su-gp-popup").fadeOut(200)},600)}),p("#su-generator").on("click",".su-gp-new",function(e){p(this).parents(".su-generator-presets");var t=p(".su-gp-list"),r=(new Date).getTime(),n=prompt(SUGL10n.presets_prompt_msg,SUGL10n.presets_prompt_value);""!==n&&null!==n&&(t.find("b").hide(),t.append('<span data-id="'+r+'"><em>'+n+'</em><i class="sui sui-times"></i></span>'),h.addPreset(r,n))}),p("#su-generator").on("click",".su-gp-list span",function(e){var t=p(".su-generator-presets").data("shortcode"),r=p(this).data("id"),n=p(".su-generator-insert");p(".su-gp-popup").hide(),clearTimeout(a),p.ajax({type:"GET",url:ajaxurl,data:{action:"su_generator_get_preset",id:r,shortcode:t},beforeSend:function(){n.addClass("button-primary-disabled").attr("disabled",!0)},success:function(e){n.removeClass("button-primary-disabled").attr("disabled",!1),h.setSettings(e)},dataType:"json"}),e.preventDefault(),e.stopPropagation()}),p("#su-generator").on("click",".su-gp-list i",function(e){var t=p(this).parents(".su-gp-list"),r=p(this).parent("span"),n=r.data("id");r.remove(),t.find("span").length<1&&t.find("b").show(),h.removePreset(n),e.stopPropagation(),e.preventDefault()})},h.addPreset=function(e,t){var r=p(".su-generator-presets").data("shortcode"),n=h.getSettings();p.ajax({type:"POST",url:ajaxurl,data:{action:"su_generator_add_preset",id:e,name:t,shortcode:r,settings:n}})},h.removePreset=function(e){var t=p(".su-generator-presets").data("shortcode");p.ajax({type:"POST",url:ajaxurl,data:{action:"su_generator_remove_preset",id:e,shortcode:t}})},h.parseSettings=function(){var e="on"===p("#su-generator-option-skip").val()?"#su-generator-settings .su-generator-attr-container:not(.su-generator-skip) .su-generator-attr":"#su-generator-settings .su-generator-attr-container .su-generator-attr",t=f.val(),r=d.val(),n=p(e),a=p("textarea#su-generator-content"),s=a.length?a.val():"false",o=new String("");return o+="["+r+t,n.each(function(){var e=p(this),t="";null==(t=e.is("select")?e.find("option:selected").val():e.val())?t="":"array"==typeof t&&(t=t.join(",")),""!==t&&(o+=" "+p(this).attr("name")+'="'+p(this).val().toString().replace(/"/gi,"'")+'"')}),o+="]","false"!=s&&(o+=s+"[/"+r+t+"]"),o},h.getSettings=function(){f.val();var e=p("#su-generator-settings .su-generator-attr"),t=p("textarea#su-generator-content"),r=t.length?t.val():"false",a={};return e.each(function(e){var t=p(this),r="",n=t.attr("name");null==(r=t.is("select")?t.find("option:selected").val():t.val())&&(r=""),a[n]=r}),a.content=r.toString(),a},h.setSettings=function(r){var e=p("#su-generator-settings .su-generator-attr"),t=p("#su-generator-content");e.each(function(){var e=p(this),t=e.attr("name");r.hasOwnProperty(t)&&(e.val(r[t]),e.trigger("keyup").trigger("change").trigger("blur"))}),r.hasOwnProperty("content")&&t.val(r.content).trigger("keyup").trigger("change").trigger("blur"),h.updatePreview()},h.updatePreview=function(e){var t=p("#su-generator-preview"),r=h.parseSettings(),n=a.text();e=e||!1,t.is(":visible")&&(r===n&&!e||(window.clearTimeout(h.state.preview.timer),h.state.preview.timer=window.setTimeout(function(){h.state.preview.request=p.ajax({type:"POST",url:ajaxurl,cache:!1,data:{action:"su_generator_preview",shortcode:r},beforeSend:function(){h.state.preview.request&&h.state.preview.request.abort(),t.addClass("su-generator-loading").html("")},success:function(e){t.html(e).removeClass("su-generator-loading")},dataType:"html"})},300),a.text(r)))},h.insert=function(e,t){if("string"==typeof e&&"object"===s(t)){h.state.context=e;var r=(h.state.insertArgs=t).shortcode||"",n={type:"inline",alignTop:!0,closeOnBgClick:!1,mainClass:"su-generator-mfp",items:{src:"#su-generator"},callbacks:{}};n.callbacks.open=function(){r?l.filter('[data-shortcode="'.concat(r,'"]')).trigger("click"):window.setTimeout(function(){return i.focus()},200),"undefined"!=typeof tinyMCE&&null!=tinyMCE.activeEditor&&tinyMCE.activeEditor.hasOwnProperty("selection")&&(h.state.mceSelection=tinyMCE.activeEditor.selection.getContent({format:"text"}))},n.callbacks.close=function(){i.val(""),g.html("").hide(),o.removeClass("su-generator-narrow"),u.show(),c.show(),l.show(),h.state.mceSelection=""},p.magnificPopup.open(n)}},h.insertShortcode=function(){var e=h.parseSettings();if(h.addPreset("last_used",SUGL10n.last_used),p.magnificPopup.close(),a.text(e),"classic"===h.state.context)h.state.wpActiveEditor=window.wpActiveEditor,window.wpActiveEditor=h.state.insertArgs.editorID,window.wp.media.editor.insert(e),window.wpActiveEditor=h.state.wpActiveEditor;else if("block"===h.state.context){var t=h.state.insertArgs.props;if(t.attributes.hasOwnProperty("content"))t.setAttributes({content:t.attributes.content+e});else if("core/shortcode"===t.name){var r=t.attributes.hasOwnProperty("text")?t.attributes.text:"";t.setAttributes({text:r+e})}}},h.insertAtCaret=function(e,t){var r=e.selectionStart;e.selectionEnd,e.value=e.value.substring(0,r)+t+e.value.substring(r),e.focus(),e.selectionStart=r+t.length},{init:h.init,insert:h.insert}),jQuery(document).ready(window.SUG.App.init)},{}]},{},[1]);
|
2 |
//# sourceMappingURL=index.js.map
|
includes/js/generator/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"sources":["includes/js/generator/node_modules/browser-pack/_prelude.js","includes/js/generator/includes/js/generator/src/index.js"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","$","$generator","$search","$filter","$filters","$choices","$choice","$settings","$prefix","$result","$selected","self","window","SUG","App","jQuery","children","find","state","mceSelection","target","wpActiveEditor","context","insertArgs","preview","timer","request","el","body","init","gp_hover_timer","click","filter","this","data","css","opacity","removeClass","regex","RegExp","each","match","preventDefault","on","val","html","hide","show","focus","magnificPopup","close","blur","keyup","$first","best","keyCode","trigger","id","shortcode","matches","name","desc","group","join","addClass","ajax","type","url","ajaxurl","action","beforeSend","success","$content","attr","index","$val","min","max","step","simpleSlider","snap","range","farbtastic","update","ids","source","$sources","images","$images","categories","$cats","tax","$taxes","terms","$terms","frame","$picker","$source","$addMedia","indexOf","parent","fadeOut","remove","wp","media","frames","su_media_frame_1","title","SUGL10n","isp_media_title","library","button","text","isp_media_insert","multiple","files","get","toJSON","append","open","sortable","revert","containment","tolerance","stop","$cont","parents","ajaxTermSelect","dataType","class","size","_typeof","abort","file","$button","stopPropagation","su_media_frame_2","upload_title","upload_insert","attachment","first","$field","toggleClass","hasClass","$icons","$value","$switch","value","su_generator_get_terms","noselect","$fields","$hoff","$voff","$blur","$color","cnt","wheel","split","replace","$width","$style","$cnt","_default","setSettings","insertShortcode","$preview","updatePreview","clearTimeout","setTimeout","$list","Date","getTime","prompt","presets_prompt_msg","presets_prompt_value","addPreset","$insert","$preset","removePreset","settings","getSettings","parseSettings","settingsSelector","query","prefix","content","result","String","$this","is","toString","hasOwnProperty","forced","previous","cache","insert","args","preSelectedShortcode","mfpOptions","alignTop","closeOnBgClick","mainClass","items","src","callbacks","concat","tinyMCE","activeEditor","selection","getContent","format","last_used","editorID","editor","props","attributes","setAttributes","originalText","insertAtCaret","field","start","selectionStart","selectionEnd","substring","document","ready"],"mappings":"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","file":"index.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()","/* global jQuery, wp, ajaxurl, SUGL10n */\n\nwindow.SUG = {}\n\nwindow.SUG.App = (($) => {\n var $generator = $('#su-generator')\n var $search = $('#su-generator-search')\n var $filter = $('#su-generator-filter')\n var $filters = $filter.children('a')\n var $choices = $('#su-generator-choices')\n var $choice = $choices.find('span')\n var $settings = $('#su-generator-settings')\n var $prefix = $('#su-compatibility-mode-prefix')\n var $result = $('#su-generator-result')\n var $selected = $('#su-generator-selected')\n\n var self = {}\n\n self.state = {\n mceSelection: '',\n target: '',\n wpActiveEditor: null,\n context: '',\n insertArgs: '',\n preview: {\n timer: null,\n request: null\n }\n }\n\n self.el = {\n body: $('body')\n }\n\n self.init = () => {\n $filters.click(\n function (e) {\n // Prepare data\n var filter = $(this).data('filter')\n // If filter All, show all choices\n if (filter === 'all') {\n $choice.css(\n {\n opacity: 1\n }\n ).removeClass('su-generator-choice-first')\n } else { // Else run search\n var regex = new RegExp(filter, 'gi')\n // Hide all choices\n $choice.css({ opacity: 0.2 })\n // Find searched choices and show\n $choice.each(\n function () {\n // Get shortcode name\n var group = $(this).data('group')\n // Show choice if matched\n if (group.match(regex) !== null) {\n $(this)\n .css({ opacity: 1 })\n .removeClass('su-generator-choice-first')\n }\n }\n )\n }\n e.preventDefault()\n }\n )\n // Go to home link\n $('#su-generator').on(\n 'click',\n '.su-generator-home',\n function (e) {\n // Clear search field\n $search.val('')\n // Hide settings\n $settings.html('').hide()\n // Remove narrow class\n $generator.removeClass('su-generator-narrow')\n // Show filters\n $filter.show()\n // Show choices panel\n $choices.show()\n $choice.show()\n // Clear selection\n self.state.mceSelection = ''\n // Focus search field\n $search.focus()\n e.preventDefault()\n }\n )\n // Generator close button\n $('#su-generator').on(\n 'click',\n '.su-generator-close',\n function (e) {\n // Close popup\n $.magnificPopup.close()\n // Prevent default action\n e.preventDefault()\n }\n )\n // Search field\n $search.on(\n {\n focus: function () {\n // Clear field\n $(this).val('')\n // Hide settings\n $settings.html('').hide()\n // Remove narrow class\n $generator.removeClass('su-generator-narrow')\n // Show choices panel\n $choices.show()\n $choice.css(\n {\n opacity: 1\n }\n ).removeClass('su-generator-choice-first')\n // Show filters\n $filter.show()\n },\n blur: function () {},\n keyup: function (e) {\n // Prepare vars\n var $first = $('.su-generator-choice-first:first')\n var val = $(this).val()\n var regex = new RegExp(val, 'gi')\n var best = 0\n // Hotkey action\n if (e.keyCode === 13 && $first.length > 0) {\n e.preventDefault()\n $(this).val('').blur()\n $first.trigger('click')\n }\n // Hide all choices\n $choice.css(\n {\n opacity: 0.2\n }\n ).removeClass('su-generator-choice-first')\n // Loop and highlight choices\n $choice.each(\n function () {\n // Get choice data\n var data = $(this).data()\n var id = data.shortcode\n var name = data.name\n var desc = data.desc\n var group = data.group\n var matches = ([id, name, desc, group].join(' ')).match(regex)\n // Highlight choice if matched\n if (matches !== null) {\n // Highlight current choice\n $(this).css(\n {\n opacity: 1\n }\n )\n // Check for exact match\n if (val === id) {\n // Remove primary class from all choices\n $choice.removeClass('su-generator-choice-first')\n // Add primary class to the current choice\n $(this).addClass('su-generator-choice-first')\n // Prevent selecting by matches number\n best = 999\n } else if (matches.length > best) { // Check matches length\n // Remove primary class from all choices\n $choice.removeClass('su-generator-choice-first')\n // Add primary class to the current choice\n $(this).addClass('su-generator-choice-first')\n // Save the score\n best = matches.length\n }\n }\n }\n )\n // Remove primary class if search field is empty\n if (val === '') {\n $choice.removeClass('su-generator-choice-first')\n }\n }\n }\n )\n // Click on shortcode choice\n $choice.on(\n 'click',\n function (e) {\n // Prepare data\n var shortcode = $(this).data('shortcode')\n // Load shortcode options\n $.ajax(\n {\n type: 'POST',\n url: ajaxurl,\n data: {\n action: 'su_generator_settings',\n shortcode: shortcode\n },\n beforeSend: function () {\n // Hide preview box\n $('#su-generator-preview').hide()\n // Hide choices panel\n $choices.hide()\n // Show loading animation\n $settings.addClass('su-generator-loading').show()\n // Add narrow class\n $generator.addClass('su-generator-narrow')\n // Hide filters\n $filter.hide()\n },\n success: function (data) {\n // Hide loading animation\n $settings.removeClass('su-generator-loading')\n // Insert new HTML\n $settings.html(data)\n // Apply selected text to the content field\n var $content = $('#su-generator-content')\n if (typeof self.state.mceSelection !== 'undefined' && self.state.mceSelection !== '' && $content.attr('type') !== 'hidden') {\n $content.val(self.state.mceSelection)\n }\n // Init range pickers\n $('.su-generator-range-picker').each(\n function (index) {\n var $picker = $(this)\n var $val = $picker.find('input')\n var min = $val.attr('min')\n var max = $val.attr('max')\n var step = $val.attr('step')\n // Apply noUIslider\n $val.simpleSlider(\n {\n snap: true,\n step: step,\n range: [min, max]\n }\n )\n $val.show()\n $val.on(\n 'keyup blur',\n function (e) {\n $val.simpleSlider('setValue', $val.val())\n }\n )\n }\n )\n // Init color pickers\n $('.su-generator-select-color').each(\n function (index) {\n $(this).find('.su-generator-select-color-wheel').filter(':first').farbtastic('.su-generator-select-color-value:eq(' + index + ')')\n $(this).find('.su-generator-select-color-value').focus(\n function () {\n $('.su-generator-select-color-wheel:eq(' + index + ')').show()\n }\n )\n $(this).find('.su-generator-select-color-value').blur(\n function () {\n $('.su-generator-select-color-wheel:eq(' + index + ')').hide()\n }\n )\n }\n )\n // Init image sourse pickers\n $('.su-generator-isp').each(\n function () {\n var $picker = $(this)\n var $sources = $picker.find('.su-generator-isp-sources')\n var $source = $picker.find('.su-generator-isp-source')\n var $addMedia = $picker.find('.su-generator-isp-add-media')\n var $images = $picker.find('.su-generator-isp-images')\n var $cats = $picker.find('.su-generator-isp-categories')\n var $taxes = $picker.find('.su-generator-isp-taxonomies')\n var $terms = $('.su-generator-isp-terms')\n var $val = $picker.find('.su-generator-attr')\n var frame\n // Update hidden value\n var update = function () {\n var val = 'none'\n var ids = ''\n var source = $sources.val()\n // Media library\n if (source === 'media') {\n var images = []\n $images.find('span').each(\n function (i) {\n images[i] = $(this).data('id')\n }\n )\n if (images.length > 0) {\n ids = images.join(',')\n }\n }\n // Category\n else if (source === 'category') {\n var categories = $cats.val() || []\n if (categories.length > 0) {\n ids = categories.join(',')\n }\n }\n // Taxonomy\n else if (source === 'taxonomy') {\n var tax = $taxes.val() || ''\n var terms = $terms.val() || []\n if (tax !== '0' && terms.length > 0) {\n val = 'taxonomy: ' + tax + '/' + terms.join(',')\n }\n }\n // Deselect\n else if (source === '0') {\n val = 'none'\n }\n // Other options\n else {\n val = source\n }\n if (ids !== '') {\n val = source + ': ' + ids\n }\n $val.val(val).trigger('change')\n }\n // Switch source\n $sources.on(\n 'change',\n function (e) {\n var source = $(this).val()\n e.preventDefault()\n $source.removeClass('su-generator-isp-source-open')\n if (source.indexOf(':') === -1) {\n $picker.find('.su-generator-isp-source-' + source).addClass('su-generator-isp-source-open')\n }\n update()\n }\n )\n // Remove image\n $images.on(\n 'click',\n 'span i',\n function () {\n $(this).parent('span').css('border-color', '#f03').fadeOut(\n 300,\n function () {\n $(this).remove()\n update()\n }\n )\n }\n )\n // Add image\n $addMedia.click(\n function (e) {\n e.preventDefault()\n if (typeof (frame) !== 'undefined') {\n frame.close()\n }\n frame = wp.media.frames.su_media_frame_1 = wp.media(\n {\n title: SUGL10n.isp_media_title,\n library: {\n type: 'image'\n },\n button: {\n text: SUGL10n.isp_media_insert\n },\n multiple: true\n }\n )\n frame.on('open', function () {\n $('.mfp-wrap').addClass('hidden')\n })\n frame.on('close', function () {\n $('.mfp-wrap').removeClass('hidden')\n })\n frame.on(\n 'select',\n function () {\n var files = frame.state().get('selection').toJSON()\n $images.find('em').remove()\n $.each(\n files,\n function (i) {\n $images.append('<span data-id=\"' + this.id + '\" title=\"' + this.title + '\"><img src=\"' + this.url + '\" alt=\"\" /><i class=\"sui sui-times\"></i></span>')\n }\n )\n update()\n }\n ).open()\n }\n )\n // Sort images\n $images.sortable(\n {\n revert: 200,\n containment: $picker,\n tolerance: 'pointer',\n stop: function () {\n update()\n }\n }\n )\n // Select categories and terms\n $cats.on('change', update)\n $terms.on('change', update)\n // Select taxonomy\n $taxes.on(\n 'change',\n function () {\n var $cont = $(this).parents('.su-generator-isp-source')\n var tax = $(this).val()\n // Remove terms\n $terms.hide().find('option').remove()\n update()\n // Taxonomy is not selected\n if (tax === '0') {\n\n } else { // Taxonomy selected\n var ajaxTermSelect = $.ajax(\n {\n url: ajaxurl,\n type: 'post',\n dataType: 'html',\n data: {\n action: 'su_generator_get_terms',\n tax: tax,\n class: 'su-generator-isp-terms',\n multiple: true,\n size: 10\n },\n beforeSend: function () {\n if (typeof ajaxTermSelect === 'object') {\n ajaxTermSelect.abort()\n }\n $terms.html('').attr('disabled', true).hide()\n $cont.addClass('su-generator-loading')\n },\n success: function (data) {\n $terms.html(data).attr('disabled', false).show()\n $cont.removeClass('su-generator-loading')\n }\n }\n )\n }\n }\n )\n }\n )\n // Init media buttons\n $('.su-generator-upload-button').each(\n function () {\n var $button = $(this)\n var $val = $(this).parents('.su-generator-attr-container').find('input:text')\n var file\n $button.on(\n 'click',\n function (e) {\n e.preventDefault()\n e.stopPropagation()\n // If the frame already exists, reopen it\n if (typeof (file) !== 'undefined') {\n file.close()\n }\n // Create WP media frame.\n file = wp.media.frames.su_media_frame_2 = wp.media(\n {\n // Title of media manager frame\n title: SUGL10n.upload_title,\n button: {\n // Button text\n text: SUGL10n.upload_insert\n },\n // Do not allow multiple files, if you want multiple, set true\n multiple: false\n }\n )\n // callback for selected image\n file.on(\n 'select',\n function () {\n var attachment = file.state().get('selection').first().toJSON()\n $val.val(attachment.url).trigger('change')\n }\n )\n file.on('open', function () {\n $('.mfp-wrap').addClass('hidden')\n })\n file.on('close', function () {\n $('.mfp-wrap').removeClass('hidden')\n })\n // Open modal\n file.open()\n }\n )\n }\n )\n // Init icon pickers\n $('.su-generator-icon-picker-button').each(\n function () {\n var $button = $(this)\n var $field = $(this).parents('.su-generator-attr-container')\n var $val = $field.find('.su-generator-attr')\n var $picker = $field.find('.su-generator-icon-picker')\n var $filter = $picker.find('input:text')\n $button.click(\n function (e) {\n $picker.toggleClass('su-generator-icon-picker-visible')\n $filter.val('').trigger('keyup')\n if ($picker.hasClass('su-generator-icon-picker-loaded')) {\n return\n }\n // Load icons\n $.ajax(\n {\n type: 'post',\n url: ajaxurl,\n data: {\n action: 'su_generator_get_icons'\n },\n dataType: 'html',\n beforeSend: function () {\n // Show loading animation\n $picker.addClass('su-generator-loading')\n // Add loaded class\n $picker.addClass('su-generator-icon-picker-loaded')\n },\n success: function (data) {\n $picker.append(data)\n var $icons = $picker.children('i')\n $icons.click(\n function (e) {\n $val.val('icon: ' + $(this).attr('title'))\n $picker.removeClass('su-generator-icon-picker-visible')\n $val.trigger('change')\n e.preventDefault()\n }\n )\n $filter.on(\n {\n keyup: function () {\n var val = $(this).val()\n var regex = new RegExp(val, 'gi')\n // Hide all choices\n $icons.hide()\n // Find searched choices and show\n $icons.each(\n function () {\n // Get shortcode name\n var name = $(this).attr('title')\n // Show choice if matched\n if (name.match(regex) !== null) {\n $(this).show()\n }\n }\n )\n },\n focus: function () {\n $(this).val('')\n $icons.show()\n }\n }\n )\n $picker.removeClass('su-generator-loading')\n }\n }\n )\n e.preventDefault()\n }\n )\n }\n )\n // Init switches\n $('.su-generator-switch').click(\n function (e) {\n // Prepare data\n var $switch = $(this)\n var $value = $switch.parent().children('input')\n var isOn = $value.val() === 'yes'\n // Disable\n if (isOn) {\n // Change value\n $value.val('no').trigger('change')\n } else { // Enable\n // Change value\n $value.val('yes').trigger('change')\n }\n e.preventDefault()\n }\n )\n $('.su-generator-switch-value').on(\n 'change',\n function () {\n // Prepare data\n var $value = $(this)\n var $switch = $value.parent().children('.su-generator-switch')\n var value = $value.val()\n // Disable\n if (value === 'yes') {\n $switch.removeClass('su-generator-switch-no').addClass('su-generator-switch-yes')\n } else if (value === 'no') { // Enable\n $switch.removeClass('su-generator-switch-yes').addClass('su-generator-switch-no')\n }\n }\n )\n // Init tax_term selects\n $('select#su-generator-attr-taxonomy').on(\n 'change',\n function () {\n var $taxonomy = $(this)\n var tax = $taxonomy.val()\n var $terms = $('select#su-generator-attr-tax_term')\n // Load new options\n window.su_generator_get_terms = $.ajax(\n {\n type: 'POST',\n url: ajaxurl,\n data: {\n action: 'su_generator_get_terms',\n tax: tax,\n noselect: true\n },\n dataType: 'html',\n beforeSend: function () {\n // Check previous requests\n if (typeof window.su_generator_get_terms === 'object') {\n window.su_generator_get_terms.abort()\n }\n // Show loading animation\n $terms.parent().addClass('su-generator-loading')\n },\n success: function (data) {\n // Remove previous options\n $terms.find('option').remove()\n // Append new options\n $terms.append(data)\n // Hide loading animation\n $terms.parent().removeClass('su-generator-loading')\n }\n }\n )\n }\n )\n // Init shadow pickers\n $('.su-generator-shadow-picker').each(\n function (index) {\n var $picker = $(this)\n var $fields = $picker.find('.su-generator-shadow-picker-field input')\n var $hoff = $picker.find('.su-generator-sp-hoff')\n var $voff = $picker.find('.su-generator-sp-voff')\n var $blur = $picker.find('.su-generator-sp-blur')\n var $color = {\n cnt: $picker.find('.su-generator-shadow-picker-color'),\n value: $picker.find('.su-generator-shadow-picker-color-value'),\n wheel: $picker.find('.su-generator-shadow-picker-color-wheel')\n }\n var $val = $picker.find('.su-generator-attr')\n // Init color picker\n $color.wheel.farbtastic($color.value)\n $color.value.focus(\n function () {\n $color.wheel.show()\n }\n )\n $color.value.blur(\n function () {\n $color.wheel.hide()\n }\n )\n // Handle text fields\n $fields.on(\n 'change blur keyup',\n function () {\n $val.val($hoff.val() + 'px ' + $voff.val() + 'px ' + $blur.val() + 'px ' + $color.value.val()).trigger('change')\n }\n )\n $val.on(\n 'keyup',\n function () {\n var value = $(this).val().split(' ')\n // Value is correct\n if (value.length === 4) {\n $hoff.val(value[0].replace('px', ''))\n $voff.val(value[1].replace('px', ''))\n $blur.val(value[2].replace('px', ''))\n $color.value.val(value[3])\n $fields.trigger('keyup')\n }\n }\n )\n }\n )\n // Init border pickers\n $('.su-generator-border-picker').each(\n function (index) {\n var $picker = $(this)\n var $fields = $picker.find('.su-generator-border-picker-field input, .su-generator-border-picker-field select')\n var $width = $picker.find('.su-generator-bp-width')\n var $style = $picker.find('.su-generator-bp-style')\n var $color = {\n cnt: $picker.find('.su-generator-border-picker-color'),\n value: $picker.find('.su-generator-border-picker-color-value'),\n wheel: $picker.find('.su-generator-border-picker-color-wheel')\n }\n var $val = $picker.find('.su-generator-attr')\n // Init color picker\n $color.wheel.farbtastic($color.value)\n $color.value.focus(\n function () {\n $color.wheel.show()\n }\n )\n $color.value.blur(\n function () {\n $color.wheel.hide()\n }\n )\n // Handle text fields\n $fields.on(\n 'change blur keyup',\n function () {\n $val.val($width.val() + 'px ' + $style.val() + ' ' + $color.value.val()).trigger('change')\n }\n )\n $val.on(\n 'keyup',\n function () {\n var value = $(this).val().split(' ')\n // Value is correct\n if (value.length === 3) {\n $width.val(value[0].replace('px', ''))\n $style.val(value[1])\n $color.value.val(value[2])\n $fields.trigger('keyup')\n }\n }\n )\n }\n )\n // Remove skip class when setting is changed\n $settings.find('.su-generator-attr').on(\n 'change keyup blur',\n function () {\n var $cnt = $(this).parents('.su-generator-attr-container')\n var _default = $cnt.data('default')\n var val = $(this).val()\n // Value is changed\n if (val != _default) {\n $cnt.removeClass('su-generator-skip')\n } else {\n $cnt.addClass('su-generator-skip')\n }\n }\n )\n // Init value setters\n $('.su-generator-set-value').click(\n function (e) {\n $(this).parents('.su-generator-attr-container').find('input').val($(this).text()).trigger('change')\n }\n )\n // Save selected value\n $selected.val(shortcode)\n // Load last used preset\n $.ajax(\n {\n type: 'GET',\n url: ajaxurl,\n data: {\n action: 'su_generator_get_preset',\n id: 'last_used',\n shortcode: shortcode\n },\n beforeSend: function () {\n // Show loading animation\n // $settings.addClass('su-generator-loading');\n },\n success: function (data) {\n // Remove loading animation\n // $settings.removeClass('su-generator-loading');\n // Set new settings\n self.setSettings(data)\n // Apply selected text to the content field\n var $content = $('#su-generator-content')\n if (typeof self.state.mceSelection !== 'undefined' && self.state.mceSelection !== '' && $content.attr('type') !== 'hidden') {\n $content.val(self.state.mceSelection)\n }\n },\n dataType: 'json'\n }\n )\n },\n dataType: 'html'\n }\n )\n }\n )\n // Insert shortcode\n $('#su-generator').on('click', '.su-generator-insert', self.insertShortcode)\n // Preview shortcode\n $('#su-generator').on(\n 'click',\n '.su-generator-toggle-preview',\n function (e) {\n // Prepare data\n var $preview = $('#su-generator-preview')\n var $button = $(this)\n // Hide button\n $button.hide()\n // Show preview box\n $preview.addClass('su-generator-loading').show()\n // Bind updating on settings changes\n $settings.find('input, textarea, select').on(\n 'change keyup blur',\n function () {\n self.updatePreview()\n }\n )\n // Update preview box\n self.updatePreview(true)\n // Prevent default action\n e.preventDefault()\n }\n )\n var gp_hover_timer\n // Presets manager - mouseenter\n $('#su-generator').on(\n 'mouseenter click',\n '.su-generator-presets',\n function () {\n clearTimeout(gp_hover_timer)\n $('.su-gp-popup').show()\n }\n )\n // Presets manager - mouseleave\n $('#su-generator').on(\n 'mouseleave',\n '.su-generator-presets',\n function () {\n gp_hover_timer = window.setTimeout(\n function () {\n $('.su-gp-popup').fadeOut(200)\n },\n 600\n )\n }\n )\n // Presets manager - add new preset\n $('#su-generator').on(\n 'click',\n '.su-gp-new',\n function (e) {\n // Prepare data\n var $container = $(this).parents('.su-generator-presets')\n var $list = $('.su-gp-list')\n var id = new Date().getTime()\n // Ask for preset name\n var name = prompt(SUGL10n.presets_prompt_msg, SUGL10n.presets_prompt_value)\n // Name is entered\n if (name !== '' && name !== null) {\n // Hide default text\n $list.find('b').hide()\n // Add new option\n $list.append('<span data-id=\"' + id + '\"><em>' + name + '</em><i class=\"sui sui-times\"></i></span>')\n // Perform AJAX request\n self.addPreset(id, name)\n }\n }\n )\n // Presets manager - load preset\n $('#su-generator').on(\n 'click',\n '.su-gp-list span',\n function (e) {\n // Prepare data\n var shortcode = $('.su-generator-presets').data('shortcode')\n var id = $(this).data('id')\n var $insert = $('.su-generator-insert')\n // Hide popup\n $('.su-gp-popup').hide()\n // Disable hover timer\n clearTimeout(gp_hover_timer)\n // Get the preset\n $.ajax(\n {\n type: 'GET',\n url: ajaxurl,\n data: {\n action: 'su_generator_get_preset',\n id: id,\n shortcode: shortcode\n },\n beforeSend: function () {\n // Disable insert button\n $insert.addClass('button-primary-disabled').attr('disabled', true)\n },\n success: function (data) {\n // Enable insert button\n $insert.removeClass('button-primary-disabled').attr('disabled', false)\n // Set new settings\n self.setSettings(data)\n },\n dataType: 'json'\n }\n )\n // Prevent default action\n e.preventDefault()\n e.stopPropagation()\n }\n )\n // Presets manager - remove preset\n $('#su-generator').on(\n 'click',\n '.su-gp-list i',\n function (e) {\n // Prepare data\n var $list = $(this).parents('.su-gp-list')\n var $preset = $(this).parent('span')\n var id = $preset.data('id')\n // Remove DOM element\n $preset.remove()\n // Show default text if last preset was removed\n if ($list.find('span').length < 1) {\n $list.find('b').show()\n }\n // Perform ajax request\n self.removePreset(id)\n // Prevent <span> action\n e.stopPropagation()\n // Prevent default action\n e.preventDefault()\n }\n )\n }\n\n /**\n\t * Create new preset with specified name from current settings\n\t */\n self.addPreset = function (id, name) {\n // Prepare shortcode name and current settings\n var shortcode = $('.su-generator-presets').data('shortcode')\n var settings = self.getSettings()\n // Perform AJAX request\n $.ajax(\n {\n type: 'POST',\n url: ajaxurl,\n data: {\n action: 'su_generator_add_preset',\n id: id,\n name: name,\n shortcode: shortcode,\n settings: settings\n }\n }\n )\n }\n /**\n\t * Remove preset by ID\n\t */\n self.removePreset = function (id) {\n // Get current shortcode name\n var shortcode = $('.su-generator-presets').data('shortcode')\n // Perform AJAX request\n $.ajax(\n {\n type: 'POST',\n url: ajaxurl,\n data: {\n action: 'su_generator_remove_preset',\n id: id,\n shortcode: shortcode\n }\n }\n )\n }\n\n self.parseSettings = function () {\n var settingsSelector = $('#su-generator-option-skip').val() === 'on'\n ? '#su-generator-settings .su-generator-attr-container:not(.su-generator-skip) .su-generator-attr'\n : '#su-generator-settings .su-generator-attr-container .su-generator-attr'\n // Prepare data\n var query = $selected.val()\n var prefix = $prefix.val()\n var $settings = $(settingsSelector)\n var $content = $('textarea#su-generator-content')\n var content = $content.length ? $content.val() : 'false'\n var result = new String('')\n // Open shortcode\n result += '[' + prefix + query\n // Add shortcode attributes\n $settings.each(\n function () {\n // Prepare field and value\n var $this = $(this)\n var value = ''\n // Selects\n if ($this.is('select')) {\n value = $this.find('option:selected').val()\n }\n // Other fields\n else {\n value = $this.val()\n }\n // Check that value is not empty\n if (value == null) {\n value = ''\n } else if (typeof value === 'array') {\n value = value.join(',')\n }\n // Add attribute\n if (value !== '') {\n result += ' ' + $(this).attr('name') + '=\"' + $(this).val().toString().replace(/\"/gi, \"'\") + '\"'\n }\n }\n )\n // End of opening tag\n result += ']'\n // Wrap shortcode if content presented\n if (content != 'false') {\n result += content + '[/' + prefix + query + ']'\n }\n // Return result\n return result\n }\n\n self.getSettings = function () {\n // Prepare data\n var query = $selected.val()\n var $settings = $('#su-generator-settings .su-generator-attr')\n var $content = $('textarea#su-generator-content')\n var content = $content.length ? $content.val() : 'false'\n var data = {}\n // Add shortcode attributes\n $settings.each(\n function (i) {\n // Prepare field and value\n var $this = $(this)\n var value = ''\n var name = $this.attr('name')\n // Selects\n if ($this.is('select')) {\n value = $this.find('option:selected').val()\n }\n // Other fields\n else {\n value = $this.val()\n }\n // Check that value is not empty\n if (value == null) {\n value = ''\n }\n // Save value\n data[name] = value\n }\n )\n // Add content\n data.content = content.toString()\n // Return data\n return data\n }\n\n self.setSettings = function (data) {\n // Prepare data\n var $settings = $('#su-generator-settings .su-generator-attr')\n var $content = $('#su-generator-content')\n // Loop through settings\n $settings.each(\n function () {\n var $this = $(this)\n var name = $this.attr('name')\n // Data contains value for this field\n if (data.hasOwnProperty(name)) {\n // Set new value\n $this.val(data[name])\n $this.trigger('keyup').trigger('change').trigger('blur')\n }\n }\n )\n // Set content\n if (data.hasOwnProperty('content')) {\n $content.val(data.content).trigger('keyup').trigger('change').trigger('blur')\n }\n // Update preview\n self.updatePreview()\n }\n\n self.updatePreview = function (forced) {\n // Prepare data\n var $preview = $('#su-generator-preview')\n var shortcode = self.parseSettings()\n var previous = $result.text()\n // Check forced mode\n forced = forced || false\n // Break if preview box is hidden (preview isn't enabled)\n if (!$preview.is(':visible')) {\n return\n }\n // Check shortcode is changed is this is not a forced mode\n if (shortcode === previous && !forced) {\n return\n }\n // Run timer to filter often calls\n window.clearTimeout(self.state.preview.timer)\n self.state.preview.timer = window.setTimeout(\n function () {\n self.state.preview.request = $.ajax(\n {\n type: 'POST',\n url: ajaxurl,\n cache: false,\n data: {\n action: 'su_generator_preview',\n shortcode: shortcode\n },\n beforeSend: function () {\n // Abort previous requests\n if (self.state.preview.request) {\n self.state.preview.request.abort()\n }\n // Show loading animation\n $preview.addClass('su-generator-loading').html('')\n },\n success: function (data) {\n // Hide loading animation and set new HTML\n $preview.html(data).removeClass('su-generator-loading')\n },\n dataType: 'html'\n }\n )\n },\n 300\n )\n // Save shortcode to div\n $result.text(shortcode)\n }\n\n self.insert = function (context, args) {\n if (typeof context !== 'string' || typeof args !== 'object') {\n return\n }\n\n self.state.context = context\n self.state.insertArgs = args\n\n var preSelectedShortcode = args.shortcode || ''\n\n var mfpOptions = {\n type: 'inline',\n alignTop: true,\n closeOnBgClick: false,\n mainClass: 'su-generator-mfp',\n items: {\n src: '#su-generator'\n },\n callbacks: {}\n }\n\n mfpOptions.callbacks.open = () => {\n if (preSelectedShortcode) {\n $choice.filter(`[data-shortcode=\"${preSelectedShortcode}\"]`).trigger('click')\n } else {\n window.setTimeout(() => $search.focus(), 200)\n }\n\n // self.el.body.addClass( 'su-mfp-shown' );\n\n if (\n typeof tinyMCE !== 'undefined' &&\n\t\t\t\ttinyMCE.activeEditor != null &&\n\t\t\t\ttinyMCE.activeEditor.hasOwnProperty('selection')\n ) {\n self.state.mceSelection = tinyMCE.activeEditor.selection.getContent({ format: 'text' })\n }\n }\n\n mfpOptions.callbacks.close = () => {\n $search.val('')\n $settings.html('').hide()\n $generator.removeClass('su-generator-narrow')\n $filter.show()\n $choices.show()\n $choice.show()\n\n self.state.mceSelection = ''\n\n // self.el.body.removeClass( 'su-mfp-shown' );\n }\n\n $.magnificPopup.open(mfpOptions)\n }\n\n self.insertShortcode = function () {\n var shortcode = self.parseSettings()\n\n self.addPreset('last_used', SUGL10n.last_used)\n\n $.magnificPopup.close()\n\n $result.text(shortcode)\n\n if (self.state.context === 'classic') {\n self.state.wpActiveEditor = window.wpActiveEditor\n window.wpActiveEditor = self.state.insertArgs.editorID\n window.wp.media.editor.insert(shortcode)\n window.wpActiveEditor = self.state.wpActiveEditor\n } else if (self.state.context === 'block') {\n var props = self.state.insertArgs.props\n\n if (props.attributes.hasOwnProperty('content')) {\n props.setAttributes({ content: props.attributes.content + shortcode })\n } else if (props.name === 'core/shortcode') {\n var originalText = props.attributes.hasOwnProperty('text')\n ? props.attributes.text\n : ''\n\n props.setAttributes({ text: originalText + shortcode })\n\n // var textarea = document.querySelector( `#block-${props.clientId} textarea` );\n // self.insertAtCaret( textarea, shortcode );\n }\n }\n }\n\n self.insertAtCaret = (field, text) => {\n var start = field.selectionStart\n var end = field.selectionEnd\n\n field.value = field.value.substring(0, start) + text + field.value.substring(start)\n\n field.focus()\n\n field.selectionStart = start + text.length\n }\n\n return {\n init: self.init,\n insert: self.insert\n }\n})(jQuery)\n\njQuery(document).ready(window.SUG.App.init)\n"]}
|
1 |
+
{"version":3,"sources":["includes/js/generator/node_modules/browser-pack/_prelude.js","includes/js/generator/includes/js/generator/src/index.js"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","$","$generator","$search","$filter","$filters","$choices","$choice","$settings","$prefix","$result","$selected","self","window","SUG","App","jQuery","children","find","state","mceSelection","target","wpActiveEditor","context","insertArgs","preview","timer","request","el","body","init","gp_hover_timer","click","filter","this","data","css","opacity","removeClass","regex","RegExp","each","match","preventDefault","on","val","html","hide","show","focus","magnificPopup","close","blur","keyup","$first","best","keyCode","trigger","id","shortcode","matches","name","desc","group","join","addClass","ajax","type","url","ajaxurl","action","beforeSend","success","$content","attr","index","$val","min","max","step","simpleSlider","snap","range","farbtastic","update","ids","source","$sources","images","$images","categories","$cats","tax","$taxes","terms","$terms","frame","$picker","$source","$addMedia","indexOf","parent","fadeOut","remove","wp","media","frames","su_media_frame_1","title","SUGL10n","isp_media_title","library","button","text","isp_media_insert","multiple","files","get","toJSON","append","open","sortable","revert","containment","tolerance","stop","$cont","parents","ajaxTermSelect","dataType","class","size","_typeof","abort","file","$button","stopPropagation","su_media_frame_2","upload_title","upload_insert","attachment","first","$field","toggleClass","hasClass","$icons","$value","$switch","value","su_generator_get_terms","noselect","$fields","$hoff","$voff","$blur","$color","cnt","wheel","split","replace","$width","$style","$cnt","_default","setSettings","insertShortcode","$preview","updatePreview","clearTimeout","setTimeout","$list","Date","getTime","prompt","presets_prompt_msg","presets_prompt_value","addPreset","$insert","$preset","removePreset","settings","getSettings","parseSettings","settingsSelector","query","prefix","content","result","String","$this","is","toString","hasOwnProperty","forced","previous","cache","insert","args","preSelectedShortcode","mfpOptions","alignTop","closeOnBgClick","mainClass","items","src","callbacks","concat","tinyMCE","activeEditor","selection","getContent","format","last_used","editorID","editor","props","attributes","setAttributes","originalText","insertAtCaret","field","start","selectionStart","selectionEnd","substring","document","ready"],"mappings":"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","file":"index.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()","/* global jQuery, wp, ajaxurl, SUGL10n */\n\nwindow.SUG = {}\n\nwindow.SUG.App = (($) => {\n var $generator = $('#su-generator')\n var $search = $('#su-generator-search')\n var $filter = $('#su-generator-filter')\n var $filters = $filter.children('a')\n var $choices = $('#su-generator-choices')\n var $choice = $choices.find('span')\n var $settings = $('#su-generator-settings')\n var $prefix = $('#su-compatibility-mode-prefix')\n var $result = $('#su-generator-result')\n var $selected = $('#su-generator-selected')\n\n var self = {}\n\n self.state = {\n mceSelection: '',\n target: '',\n wpActiveEditor: null,\n context: '',\n insertArgs: '',\n preview: {\n timer: null,\n request: null\n }\n }\n\n self.el = {\n body: $('body')\n }\n\n self.init = () => {\n $filters.click(\n function (e) {\n // Prepare data\n var filter = $(this).data('filter')\n // If filter All, show all choices\n if (filter === 'all') {\n $choice.css(\n {\n opacity: 1\n }\n ).removeClass('su-generator-choice-first')\n } else { // Else run search\n var regex = new RegExp(filter, 'gi')\n // Hide all choices\n $choice.css({ opacity: 0.2 })\n // Find searched choices and show\n $choice.each(\n function () {\n // Get shortcode name\n var group = $(this).data('group')\n // Show choice if matched\n if (group.match(regex) !== null) {\n $(this)\n .css({ opacity: 1 })\n .removeClass('su-generator-choice-first')\n }\n }\n )\n }\n e.preventDefault()\n }\n )\n // Go to home link\n $('#su-generator').on(\n 'click',\n '.su-generator-home',\n function (e) {\n // Clear search field\n $search.val('')\n // Hide settings\n $settings.html('').hide()\n // Remove narrow class\n $generator.removeClass('su-generator-narrow')\n // Show filters\n $filter.show()\n // Show choices panel\n $choices.show()\n $choice.show()\n // Clear selection\n self.state.mceSelection = ''\n // Focus search field\n $search.focus()\n e.preventDefault()\n }\n )\n // Generator close button\n $('#su-generator').on(\n 'click',\n '.su-generator-close',\n function (e) {\n // Close popup\n $.magnificPopup.close()\n // Prevent default action\n e.preventDefault()\n }\n )\n // Search field\n $search.on(\n {\n focus: function () {\n // Clear field\n $(this).val('')\n // Hide settings\n $settings.html('').hide()\n // Remove narrow class\n $generator.removeClass('su-generator-narrow')\n // Show choices panel\n $choices.show()\n $choice.css(\n {\n opacity: 1\n }\n ).removeClass('su-generator-choice-first')\n // Show filters\n $filter.show()\n },\n blur: function () {},\n keyup: function (e) {\n // Prepare vars\n var $first = $('.su-generator-choice-first:first')\n var val = $(this).val()\n var regex = new RegExp(val, 'gi')\n var best = 0\n // Hotkey action\n if (e.keyCode === 13 && $first.length > 0) {\n e.preventDefault()\n $(this).val('').blur()\n $first.trigger('click')\n }\n // Hide all choices\n $choice.css(\n {\n opacity: 0.2\n }\n ).removeClass('su-generator-choice-first')\n // Loop and highlight choices\n $choice.each(\n function () {\n // Get choice data\n var data = $(this).data()\n var id = data.shortcode\n var name = data.name\n var desc = data.desc\n var group = data.group\n var matches = ([id, name, desc, group].join(' ')).match(regex)\n // Highlight choice if matched\n if (matches !== null) {\n // Highlight current choice\n $(this).css(\n {\n opacity: 1\n }\n )\n // Check for exact match\n if (val === id) {\n // Remove primary class from all choices\n $choice.removeClass('su-generator-choice-first')\n // Add primary class to the current choice\n $(this).addClass('su-generator-choice-first')\n // Prevent selecting by matches number\n best = 999\n } else if (matches.length > best) { // Check matches length\n // Remove primary class from all choices\n $choice.removeClass('su-generator-choice-first')\n // Add primary class to the current choice\n $(this).addClass('su-generator-choice-first')\n // Save the score\n best = matches.length\n }\n }\n }\n )\n // Remove primary class if search field is empty\n if (val === '') {\n $choice.removeClass('su-generator-choice-first')\n }\n }\n }\n )\n // Click on shortcode choice\n $choice.on(\n 'click',\n function (e) {\n // Prepare data\n var shortcode = $(this).data('shortcode')\n // Load shortcode options\n $.ajax(\n {\n type: 'POST',\n url: ajaxurl,\n data: {\n action: 'su_generator_settings',\n shortcode: shortcode\n },\n beforeSend: function () {\n // Hide preview box\n $('#su-generator-preview').hide()\n // Hide choices panel\n $choices.hide()\n // Show loading animation\n $settings.addClass('su-generator-loading').show()\n // Add narrow class\n $generator.addClass('su-generator-narrow')\n // Hide filters\n $filter.hide()\n },\n success: function (data) {\n // Hide loading animation\n $settings.removeClass('su-generator-loading')\n // Insert new HTML\n $settings.html(data)\n // Apply selected text to the content field\n var $content = $('#su-generator-content')\n if (typeof self.state.mceSelection !== 'undefined' && self.state.mceSelection !== '' && $content.attr('type') !== 'hidden') {\n $content.val(self.state.mceSelection)\n }\n // Init range pickers\n $('.su-generator-range-picker').each(\n function (index) {\n var $picker = $(this)\n var $val = $picker.find('input')\n var min = $val.attr('min')\n var max = $val.attr('max')\n var step = $val.attr('step')\n // Apply noUIslider\n $val.simpleSlider(\n {\n snap: true,\n step: step,\n range: [min, max]\n }\n )\n $val.show()\n $val.on(\n 'keyup blur',\n function (e) {\n $val.simpleSlider('setValue', $val.val())\n }\n )\n }\n )\n // Init color pickers\n $('.su-generator-select-color').each(\n function (index) {\n $(this).find('.su-generator-select-color-wheel').filter(':first').farbtastic('.su-generator-select-color-value:eq(' + index + ')')\n $(this).find('.su-generator-select-color-value').focus(\n function () {\n $('.su-generator-select-color-wheel:eq(' + index + ')').show()\n }\n )\n $(this).find('.su-generator-select-color-value').blur(\n function () {\n $('.su-generator-select-color-wheel:eq(' + index + ')').hide()\n }\n )\n }\n )\n // Init image sourse pickers\n $('.su-generator-isp').each(\n function () {\n var $picker = $(this)\n var $sources = $picker.find('.su-generator-isp-sources')\n var $source = $picker.find('.su-generator-isp-source')\n var $addMedia = $picker.find('.su-generator-isp-add-media')\n var $images = $picker.find('.su-generator-isp-images')\n var $cats = $picker.find('.su-generator-isp-categories')\n var $taxes = $picker.find('.su-generator-isp-taxonomies')\n var $terms = $('.su-generator-isp-terms')\n var $val = $picker.find('.su-generator-attr')\n var frame\n // Update hidden value\n var update = function () {\n var val = 'none'\n var ids = ''\n var source = $sources.val()\n // Media library\n if (source === 'media') {\n var images = []\n $images.find('span').each(\n function (i) {\n images[i] = $(this).data('id')\n }\n )\n if (images.length > 0) {\n ids = images.join(',')\n }\n }\n // Category\n else if (source === 'category') {\n var categories = $cats.val() || []\n if (categories.length > 0) {\n ids = categories.join(',')\n }\n }\n // Taxonomy\n else if (source === 'taxonomy') {\n var tax = $taxes.val() || ''\n var terms = $terms.val() || []\n if (tax !== '0' && terms.length > 0) {\n val = 'taxonomy: ' + tax + '/' + terms.join(',')\n }\n }\n // Deselect\n else if (source === '0') {\n val = 'none'\n }\n // Other options\n else {\n val = source\n }\n if (ids !== '') {\n val = source + ': ' + ids\n }\n $val.val(val).trigger('change')\n }\n // Switch source\n $sources.on(\n 'change',\n function (e) {\n var source = $(this).val()\n e.preventDefault()\n $source.removeClass('su-generator-isp-source-open')\n if (source.indexOf(':') === -1) {\n $picker.find('.su-generator-isp-source-' + source).addClass('su-generator-isp-source-open')\n }\n update()\n }\n )\n // Remove image\n $images.on(\n 'click',\n 'span i',\n function () {\n $(this).parent('span').css('border-color', '#f03').fadeOut(\n 300,\n function () {\n $(this).remove()\n update()\n }\n )\n }\n )\n // Add image\n $addMedia.click(\n function (e) {\n e.preventDefault()\n if (typeof (frame) !== 'undefined') {\n frame.close()\n }\n frame = wp.media.frames.su_media_frame_1 = wp.media(\n {\n title: SUGL10n.isp_media_title,\n library: {\n type: 'image'\n },\n button: {\n text: SUGL10n.isp_media_insert\n },\n multiple: true\n }\n )\n frame.on('open', function () {\n $('.mfp-wrap').addClass('hidden')\n })\n frame.on('close', function () {\n $('.mfp-wrap').removeClass('hidden')\n })\n frame.on(\n 'select',\n function () {\n var files = frame.state().get('selection').toJSON()\n $images.find('em').remove()\n $.each(\n files,\n function (i) {\n $images.append('<span data-id=\"' + this.id + '\" title=\"' + this.title + '\"><img src=\"' + this.url + '\" alt=\"\" /><i class=\"sui sui-times\"></i></span>')\n }\n )\n update()\n }\n ).open()\n }\n )\n // Sort images\n $images.sortable(\n {\n revert: 200,\n containment: $picker,\n tolerance: 'pointer',\n stop: function () {\n update()\n }\n }\n )\n // Select categories and terms\n $cats.on('change', update)\n $terms.on('change', update)\n // Select taxonomy\n $taxes.on(\n 'change',\n function () {\n var $cont = $(this).parents('.su-generator-isp-source')\n var tax = $(this).val()\n // Remove terms\n $terms.hide().find('option').remove()\n update()\n // Taxonomy is not selected\n if (tax === '0') {\n\n } else { // Taxonomy selected\n var ajaxTermSelect = $.ajax(\n {\n url: ajaxurl,\n type: 'post',\n dataType: 'html',\n data: {\n action: 'su_generator_get_terms',\n tax: tax,\n class: 'su-generator-isp-terms',\n multiple: true,\n size: 10\n },\n beforeSend: function () {\n if (typeof ajaxTermSelect === 'object') {\n ajaxTermSelect.abort()\n }\n $terms.html('').attr('disabled', true).hide()\n $cont.addClass('su-generator-loading')\n },\n success: function (data) {\n $terms.html(data).attr('disabled', false).show()\n $cont.removeClass('su-generator-loading')\n }\n }\n )\n }\n }\n )\n }\n )\n // Init media buttons\n $('.su-generator-upload-button').each(\n function () {\n var $button = $(this)\n var $val = $(this).parents('.su-generator-attr-container').find('input:text')\n var file\n $button.on(\n 'click',\n function (e) {\n e.preventDefault()\n e.stopPropagation()\n // If the frame already exists, reopen it\n if (typeof (file) !== 'undefined') {\n file.close()\n }\n // Create WP media frame.\n file = wp.media.frames.su_media_frame_2 = wp.media(\n {\n // Title of media manager frame\n title: SUGL10n.upload_title,\n button: {\n // Button text\n text: SUGL10n.upload_insert\n },\n // Do not allow multiple files, if you want multiple, set true\n multiple: false\n }\n )\n // callback for selected image\n file.on(\n 'select',\n function () {\n var attachment = file.state().get('selection').first().toJSON()\n $val.val(attachment.url).trigger('change')\n }\n )\n file.on('open', function () {\n $('.mfp-wrap').addClass('hidden')\n })\n file.on('close', function () {\n $('.mfp-wrap').removeClass('hidden')\n })\n // Open modal\n file.open()\n }\n )\n }\n )\n // Init icon pickers\n $('.su-generator-icon-picker-button').each(\n function () {\n var $button = $(this)\n var $field = $(this).parents('.su-generator-attr-container')\n var $val = $field.find('.su-generator-attr')\n var $picker = $field.find('.su-generator-icon-picker')\n var $filter = $picker.find('input:text')\n $button.click(\n function (e) {\n $picker.toggleClass('su-generator-icon-picker-visible')\n $filter.val('').trigger('keyup')\n if ($picker.hasClass('su-generator-icon-picker-loaded')) {\n return\n }\n // Load icons\n $.ajax(\n {\n type: 'post',\n url: ajaxurl,\n data: {\n action: 'su_generator_get_icons'\n },\n dataType: 'html',\n beforeSend: function () {\n // Show loading animation\n $picker.addClass('su-generator-loading')\n // Add loaded class\n $picker.addClass('su-generator-icon-picker-loaded')\n },\n success: function (data) {\n $picker.append(data)\n var $icons = $picker.children('i')\n $icons.click(\n function (e) {\n $val.val('icon: ' + $(this).attr('title'))\n $picker.removeClass('su-generator-icon-picker-visible')\n $val.trigger('change')\n e.preventDefault()\n }\n )\n $filter.on(\n {\n keyup: function () {\n var val = $(this).val()\n var regex = new RegExp(val, 'gi')\n // Hide all choices\n $icons.hide()\n // Find searched choices and show\n $icons.each(\n function () {\n // Get shortcode name\n var name = $(this).attr('title')\n // Show choice if matched\n if (name.match(regex) !== null) {\n $(this).show()\n }\n }\n )\n },\n focus: function () {\n $(this).val('')\n $icons.show()\n }\n }\n )\n $picker.removeClass('su-generator-loading')\n }\n }\n )\n e.preventDefault()\n }\n )\n }\n )\n // Init switches\n $('.su-generator-switch').click(\n function (e) {\n // Prepare data\n var $switch = $(this)\n var $value = $switch.parent().children('input')\n var isOn = $value.val() === 'yes'\n // Disable\n if (isOn) {\n // Change value\n $value.val('no').trigger('change')\n } else { // Enable\n // Change value\n $value.val('yes').trigger('change')\n }\n e.preventDefault()\n }\n )\n $('.su-generator-switch-value').on(\n 'change',\n function () {\n // Prepare data\n var $value = $(this)\n var $switch = $value.parent().children('.su-generator-switch')\n var value = $value.val()\n // Disable\n if (value === 'yes') {\n $switch.removeClass('su-generator-switch-no').addClass('su-generator-switch-yes')\n } else if (value === 'no') { // Enable\n $switch.removeClass('su-generator-switch-yes').addClass('su-generator-switch-no')\n }\n }\n )\n // Init tax_term selects\n $('select#su-generator-attr-taxonomy_1').on(\n 'change',\n function () {\n var $taxonomy = $(this)\n var tax = $taxonomy.val()\n var $terms = $('select#su-generator-attr-tax_terms_1')\n // Load new options\n window.su_generator_get_terms = $.ajax(\n {\n type: 'POST',\n url: ajaxurl,\n data: {\n action: 'su_generator_get_terms',\n tax: tax,\n noselect: true\n },\n dataType: 'html',\n beforeSend: function () {\n // Check previous requests\n if (typeof window.su_generator_get_terms === 'object') {\n window.su_generator_get_terms.abort()\n }\n // Show loading animation\n $terms.parent().addClass('su-generator-loading')\n },\n success: function (data) {\n // Remove previous options\n $terms.find('option').remove()\n // Append new options\n $terms.append(data)\n // Hide loading animation\n $terms.parent().removeClass('su-generator-loading')\n }\n }\n )\n }\n )\n // Init shadow pickers\n $('.su-generator-shadow-picker').each(\n function (index) {\n var $picker = $(this)\n var $fields = $picker.find('.su-generator-shadow-picker-field input')\n var $hoff = $picker.find('.su-generator-sp-hoff')\n var $voff = $picker.find('.su-generator-sp-voff')\n var $blur = $picker.find('.su-generator-sp-blur')\n var $color = {\n cnt: $picker.find('.su-generator-shadow-picker-color'),\n value: $picker.find('.su-generator-shadow-picker-color-value'),\n wheel: $picker.find('.su-generator-shadow-picker-color-wheel')\n }\n var $val = $picker.find('.su-generator-attr')\n // Init color picker\n $color.wheel.farbtastic($color.value)\n $color.value.focus(\n function () {\n $color.wheel.show()\n }\n )\n $color.value.blur(\n function () {\n $color.wheel.hide()\n }\n )\n // Handle text fields\n $fields.on(\n 'change blur keyup',\n function () {\n $val.val($hoff.val() + 'px ' + $voff.val() + 'px ' + $blur.val() + 'px ' + $color.value.val()).trigger('change')\n }\n )\n $val.on(\n 'keyup',\n function () {\n var value = $(this).val().split(' ')\n // Value is correct\n if (value.length === 4) {\n $hoff.val(value[0].replace('px', ''))\n $voff.val(value[1].replace('px', ''))\n $blur.val(value[2].replace('px', ''))\n $color.value.val(value[3])\n $fields.trigger('keyup')\n }\n }\n )\n }\n )\n // Init border pickers\n $('.su-generator-border-picker').each(\n function (index) {\n var $picker = $(this)\n var $fields = $picker.find('.su-generator-border-picker-field input, .su-generator-border-picker-field select')\n var $width = $picker.find('.su-generator-bp-width')\n var $style = $picker.find('.su-generator-bp-style')\n var $color = {\n cnt: $picker.find('.su-generator-border-picker-color'),\n value: $picker.find('.su-generator-border-picker-color-value'),\n wheel: $picker.find('.su-generator-border-picker-color-wheel')\n }\n var $val = $picker.find('.su-generator-attr')\n // Init color picker\n $color.wheel.farbtastic($color.value)\n $color.value.focus(\n function () {\n $color.wheel.show()\n }\n )\n $color.value.blur(\n function () {\n $color.wheel.hide()\n }\n )\n // Handle text fields\n $fields.on(\n 'change blur keyup',\n function () {\n $val.val($width.val() + 'px ' + $style.val() + ' ' + $color.value.val()).trigger('change')\n }\n )\n $val.on(\n 'keyup',\n function () {\n var value = $(this).val().split(' ')\n // Value is correct\n if (value.length === 3) {\n $width.val(value[0].replace('px', ''))\n $style.val(value[1])\n $color.value.val(value[2])\n $fields.trigger('keyup')\n }\n }\n )\n }\n )\n // Remove skip class when setting is changed\n $settings.find('.su-generator-attr').on(\n 'change keyup blur',\n function () {\n var $cnt = $(this).parents('.su-generator-attr-container')\n var _default = $cnt.data('default')\n var val = $(this).val()\n // Value is changed\n if (val != _default) {\n $cnt.removeClass('su-generator-skip')\n } else {\n $cnt.addClass('su-generator-skip')\n }\n }\n )\n // Init value setters\n $('.su-generator-set-value').click(\n function (e) {\n $(this).parents('.su-generator-attr-container').find('input').val($(this).text()).trigger('change')\n }\n )\n // Save selected value\n $selected.val(shortcode)\n // Load last used preset\n $.ajax(\n {\n type: 'GET',\n url: ajaxurl,\n data: {\n action: 'su_generator_get_preset',\n id: 'last_used',\n shortcode: shortcode\n },\n beforeSend: function () {\n // Show loading animation\n // $settings.addClass('su-generator-loading');\n },\n success: function (data) {\n // Remove loading animation\n // $settings.removeClass('su-generator-loading');\n // Set new settings\n self.setSettings(data)\n // Apply selected text to the content field\n var $content = $('#su-generator-content')\n if (typeof self.state.mceSelection !== 'undefined' && self.state.mceSelection !== '' && $content.attr('type') !== 'hidden') {\n $content.val(self.state.mceSelection)\n }\n },\n dataType: 'json'\n }\n )\n },\n dataType: 'html'\n }\n )\n }\n )\n // Insert shortcode\n $('#su-generator').on('click', '.su-generator-insert', self.insertShortcode)\n // Preview shortcode\n $('#su-generator').on(\n 'click',\n '.su-generator-toggle-preview',\n function (e) {\n // Prepare data\n var $preview = $('#su-generator-preview')\n var $button = $(this)\n // Hide button\n $button.hide()\n // Show preview box\n $preview.addClass('su-generator-loading').show()\n // Bind updating on settings changes\n $settings.find('input, textarea, select').on(\n 'change keyup blur',\n function () {\n self.updatePreview()\n }\n )\n // Update preview box\n self.updatePreview(true)\n // Prevent default action\n e.preventDefault()\n }\n )\n var gp_hover_timer\n // Presets manager - mouseenter\n $('#su-generator').on(\n 'mouseenter click',\n '.su-generator-presets',\n function () {\n clearTimeout(gp_hover_timer)\n $('.su-gp-popup').show()\n }\n )\n // Presets manager - mouseleave\n $('#su-generator').on(\n 'mouseleave',\n '.su-generator-presets',\n function () {\n gp_hover_timer = window.setTimeout(\n function () {\n $('.su-gp-popup').fadeOut(200)\n },\n 600\n )\n }\n )\n // Presets manager - add new preset\n $('#su-generator').on(\n 'click',\n '.su-gp-new',\n function (e) {\n // Prepare data\n var $container = $(this).parents('.su-generator-presets')\n var $list = $('.su-gp-list')\n var id = new Date().getTime()\n // Ask for preset name\n var name = prompt(SUGL10n.presets_prompt_msg, SUGL10n.presets_prompt_value)\n // Name is entered\n if (name !== '' && name !== null) {\n // Hide default text\n $list.find('b').hide()\n // Add new option\n $list.append('<span data-id=\"' + id + '\"><em>' + name + '</em><i class=\"sui sui-times\"></i></span>')\n // Perform AJAX request\n self.addPreset(id, name)\n }\n }\n )\n // Presets manager - load preset\n $('#su-generator').on(\n 'click',\n '.su-gp-list span',\n function (e) {\n // Prepare data\n var shortcode = $('.su-generator-presets').data('shortcode')\n var id = $(this).data('id')\n var $insert = $('.su-generator-insert')\n // Hide popup\n $('.su-gp-popup').hide()\n // Disable hover timer\n clearTimeout(gp_hover_timer)\n // Get the preset\n $.ajax(\n {\n type: 'GET',\n url: ajaxurl,\n data: {\n action: 'su_generator_get_preset',\n id: id,\n shortcode: shortcode\n },\n beforeSend: function () {\n // Disable insert button\n $insert.addClass('button-primary-disabled').attr('disabled', true)\n },\n success: function (data) {\n // Enable insert button\n $insert.removeClass('button-primary-disabled').attr('disabled', false)\n // Set new settings\n self.setSettings(data)\n },\n dataType: 'json'\n }\n )\n // Prevent default action\n e.preventDefault()\n e.stopPropagation()\n }\n )\n // Presets manager - remove preset\n $('#su-generator').on(\n 'click',\n '.su-gp-list i',\n function (e) {\n // Prepare data\n var $list = $(this).parents('.su-gp-list')\n var $preset = $(this).parent('span')\n var id = $preset.data('id')\n // Remove DOM element\n $preset.remove()\n // Show default text if last preset was removed\n if ($list.find('span').length < 1) {\n $list.find('b').show()\n }\n // Perform ajax request\n self.removePreset(id)\n // Prevent <span> action\n e.stopPropagation()\n // Prevent default action\n e.preventDefault()\n }\n )\n }\n\n /**\n\t * Create new preset with specified name from current settings\n\t */\n self.addPreset = function (id, name) {\n // Prepare shortcode name and current settings\n var shortcode = $('.su-generator-presets').data('shortcode')\n var settings = self.getSettings()\n // Perform AJAX request\n $.ajax(\n {\n type: 'POST',\n url: ajaxurl,\n data: {\n action: 'su_generator_add_preset',\n id: id,\n name: name,\n shortcode: shortcode,\n settings: settings\n }\n }\n )\n }\n /**\n\t * Remove preset by ID\n\t */\n self.removePreset = function (id) {\n // Get current shortcode name\n var shortcode = $('.su-generator-presets').data('shortcode')\n // Perform AJAX request\n $.ajax(\n {\n type: 'POST',\n url: ajaxurl,\n data: {\n action: 'su_generator_remove_preset',\n id: id,\n shortcode: shortcode\n }\n }\n )\n }\n\n self.parseSettings = function () {\n var settingsSelector = $('#su-generator-option-skip').val() === 'on'\n ? '#su-generator-settings .su-generator-attr-container:not(.su-generator-skip) .su-generator-attr'\n : '#su-generator-settings .su-generator-attr-container .su-generator-attr'\n // Prepare data\n var query = $selected.val()\n var prefix = $prefix.val()\n var $settings = $(settingsSelector)\n var $content = $('textarea#su-generator-content')\n var content = $content.length ? $content.val() : 'false'\n var result = new String('')\n // Open shortcode\n result += '[' + prefix + query\n // Add shortcode attributes\n $settings.each(\n function () {\n // Prepare field and value\n var $this = $(this)\n var value = ''\n // Selects\n if ($this.is('select')) {\n value = $this.find('option:selected').val()\n }\n // Other fields\n else {\n value = $this.val()\n }\n // Check that value is not empty\n if (value == null) {\n value = ''\n } else if (typeof value === 'array') {\n value = value.join(',')\n }\n // Add attribute\n if (value !== '') {\n result += ' ' + $(this).attr('name') + '=\"' + $(this).val().toString().replace(/\"/gi, \"'\") + '\"'\n }\n }\n )\n // End of opening tag\n result += ']'\n // Wrap shortcode if content presented\n if (content != 'false') {\n result += content + '[/' + prefix + query + ']'\n }\n // Return result\n return result\n }\n\n self.getSettings = function () {\n // Prepare data\n var query = $selected.val()\n var $settings = $('#su-generator-settings .su-generator-attr')\n var $content = $('textarea#su-generator-content')\n var content = $content.length ? $content.val() : 'false'\n var data = {}\n // Add shortcode attributes\n $settings.each(\n function (i) {\n // Prepare field and value\n var $this = $(this)\n var value = ''\n var name = $this.attr('name')\n // Selects\n if ($this.is('select')) {\n value = $this.find('option:selected').val()\n }\n // Other fields\n else {\n value = $this.val()\n }\n // Check that value is not empty\n if (value == null) {\n value = ''\n }\n // Save value\n data[name] = value\n }\n )\n // Add content\n data.content = content.toString()\n // Return data\n return data\n }\n\n self.setSettings = function (data) {\n // Prepare data\n var $settings = $('#su-generator-settings .su-generator-attr')\n var $content = $('#su-generator-content')\n // Loop through settings\n $settings.each(\n function () {\n var $this = $(this)\n var name = $this.attr('name')\n // Data contains value for this field\n if (data.hasOwnProperty(name)) {\n // Set new value\n $this.val(data[name])\n $this.trigger('keyup').trigger('change').trigger('blur')\n }\n }\n )\n // Set content\n if (data.hasOwnProperty('content')) {\n $content.val(data.content).trigger('keyup').trigger('change').trigger('blur')\n }\n // Update preview\n self.updatePreview()\n }\n\n self.updatePreview = function (forced) {\n // Prepare data\n var $preview = $('#su-generator-preview')\n var shortcode = self.parseSettings()\n var previous = $result.text()\n // Check forced mode\n forced = forced || false\n // Break if preview box is hidden (preview isn't enabled)\n if (!$preview.is(':visible')) {\n return\n }\n // Check shortcode is changed is this is not a forced mode\n if (shortcode === previous && !forced) {\n return\n }\n // Run timer to filter often calls\n window.clearTimeout(self.state.preview.timer)\n self.state.preview.timer = window.setTimeout(\n function () {\n self.state.preview.request = $.ajax(\n {\n type: 'POST',\n url: ajaxurl,\n cache: false,\n data: {\n action: 'su_generator_preview',\n shortcode: shortcode\n },\n beforeSend: function () {\n // Abort previous requests\n if (self.state.preview.request) {\n self.state.preview.request.abort()\n }\n // Show loading animation\n $preview.addClass('su-generator-loading').html('')\n },\n success: function (data) {\n // Hide loading animation and set new HTML\n $preview.html(data).removeClass('su-generator-loading')\n },\n dataType: 'html'\n }\n )\n },\n 300\n )\n // Save shortcode to div\n $result.text(shortcode)\n }\n\n self.insert = function (context, args) {\n if (typeof context !== 'string' || typeof args !== 'object') {\n return\n }\n\n self.state.context = context\n self.state.insertArgs = args\n\n var preSelectedShortcode = args.shortcode || ''\n\n var mfpOptions = {\n type: 'inline',\n alignTop: true,\n closeOnBgClick: false,\n mainClass: 'su-generator-mfp',\n items: {\n src: '#su-generator'\n },\n callbacks: {}\n }\n\n mfpOptions.callbacks.open = () => {\n if (preSelectedShortcode) {\n $choice.filter(`[data-shortcode=\"${preSelectedShortcode}\"]`).trigger('click')\n } else {\n window.setTimeout(() => $search.focus(), 200)\n }\n\n // self.el.body.addClass( 'su-mfp-shown' );\n\n if (\n typeof tinyMCE !== 'undefined' &&\n\t\t\t\ttinyMCE.activeEditor != null &&\n\t\t\t\ttinyMCE.activeEditor.hasOwnProperty('selection')\n ) {\n self.state.mceSelection = tinyMCE.activeEditor.selection.getContent({ format: 'text' })\n }\n }\n\n mfpOptions.callbacks.close = () => {\n $search.val('')\n $settings.html('').hide()\n $generator.removeClass('su-generator-narrow')\n $filter.show()\n $choices.show()\n $choice.show()\n\n self.state.mceSelection = ''\n\n // self.el.body.removeClass( 'su-mfp-shown' );\n }\n\n $.magnificPopup.open(mfpOptions)\n }\n\n self.insertShortcode = function () {\n var shortcode = self.parseSettings()\n\n self.addPreset('last_used', SUGL10n.last_used)\n\n $.magnificPopup.close()\n\n $result.text(shortcode)\n\n if (self.state.context === 'classic') {\n self.state.wpActiveEditor = window.wpActiveEditor\n window.wpActiveEditor = self.state.insertArgs.editorID\n window.wp.media.editor.insert(shortcode)\n window.wpActiveEditor = self.state.wpActiveEditor\n } else if (self.state.context === 'block') {\n var props = self.state.insertArgs.props\n\n if (props.attributes.hasOwnProperty('content')) {\n props.setAttributes({ content: props.attributes.content + shortcode })\n } else if (props.name === 'core/shortcode') {\n var originalText = props.attributes.hasOwnProperty('text')\n ? props.attributes.text\n : ''\n\n props.setAttributes({ text: originalText + shortcode })\n\n // var textarea = document.querySelector( `#block-${props.clientId} textarea` );\n // self.insertAtCaret( textarea, shortcode );\n }\n }\n }\n\n self.insertAtCaret = (field, text) => {\n var start = field.selectionStart\n var end = field.selectionEnd\n\n field.value = field.value.substring(0, start) + text + field.value.substring(start)\n\n field.focus()\n\n field.selectionStart = start + text.length\n }\n\n return {\n init: self.init,\n insert: self.insert\n }\n})(jQuery)\n\njQuery(document).ready(window.SUG.App.init)\n"]}
|
includes/partials/shortcodes/posts/templates/README.txt
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Do not edit templates in the plugin folder, since all your changes will be
|
2 |
+
lost after the plugin update. Read the following article to learn how to
|
3 |
+
change a template or create a custom one:
|
4 |
+
|
5 |
+
https://getshortcodes.com/docs/posts/#built-in-templates
|
{templates → includes/partials/shortcodes/posts/templates}/default-loop.php
RENAMED
@@ -1,3 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<div class="su-posts su-posts-default-loop">
|
2 |
|
3 |
<?php if ( $posts->have_posts() ) : ?>
|
1 |
+
<?php defined( 'ABSPATH' ) || exit; ?>
|
2 |
+
|
3 |
+
<?php
|
4 |
+
/**
|
5 |
+
* READ BEFORE EDITING!
|
6 |
+
*
|
7 |
+
* Do not edit templates in the plugin folder, since all your changes will be
|
8 |
+
* lost after the plugin update. Read the following article to learn how to
|
9 |
+
* change this template or create a custom one:
|
10 |
+
*
|
11 |
+
* https://getshortcodes.com/docs/posts/#built-in-templates
|
12 |
+
*/
|
13 |
+
?>
|
14 |
+
|
15 |
<div class="su-posts su-posts-default-loop">
|
16 |
|
17 |
<?php if ( $posts->have_posts() ) : ?>
|
{templates → includes/partials/shortcodes/posts/templates}/list-loop.php
RENAMED
@@ -1,3 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<ul class="su-posts su-posts-list-loop">
|
2 |
<?php
|
3 |
// Posts are found
|
1 |
+
<?php defined( 'ABSPATH' ) || exit; ?>
|
2 |
+
|
3 |
+
<?php
|
4 |
+
/**
|
5 |
+
* READ BEFORE EDITING!
|
6 |
+
*
|
7 |
+
* Do not edit templates in the plugin folder, since all your changes will be
|
8 |
+
* lost after the plugin update. Read the following article to learn how to
|
9 |
+
* change this template or create a custom one:
|
10 |
+
*
|
11 |
+
* https://getshortcodes.com/docs/posts/#built-in-templates
|
12 |
+
*/
|
13 |
+
?>
|
14 |
+
|
15 |
<ul class="su-posts su-posts-list-loop">
|
16 |
<?php
|
17 |
// Posts are found
|
{templates → includes/partials/shortcodes/posts/templates}/single-post.php
RENAMED
@@ -1,3 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<div class="su-posts su-posts-single-post">
|
2 |
<?php
|
3 |
// Prepare marker to show only one post
|
1 |
+
<?php defined( 'ABSPATH' ) || exit; ?>
|
2 |
+
|
3 |
+
<?php
|
4 |
+
/**
|
5 |
+
* READ BEFORE EDITING!
|
6 |
+
*
|
7 |
+
* Do not edit templates in the plugin folder, since all your changes will be
|
8 |
+
* lost after the plugin update. Read the following article to learn how to
|
9 |
+
* change this template or create a custom one:
|
10 |
+
*
|
11 |
+
* https://getshortcodes.com/docs/posts/#built-in-templates
|
12 |
+
*/
|
13 |
+
?>
|
14 |
+
|
15 |
<div class="su-posts su-posts-single-post">
|
16 |
<?php
|
17 |
// Prepare marker to show only one post
|
includes/partials/shortcodes/posts/templates/teaser-loop.php
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php defined( 'ABSPATH' ) || exit; ?>
|
2 |
+
|
3 |
+
<?php
|
4 |
+
/**
|
5 |
+
* READ BEFORE EDITING!
|
6 |
+
*
|
7 |
+
* Do not edit templates in the plugin folder, since all your changes will be
|
8 |
+
* lost after the plugin update. Read the following article to learn how to
|
9 |
+
* change this template or create a custom one:
|
10 |
+
*
|
11 |
+
* https://getshortcodes.com/docs/posts/#built-in-templates
|
12 |
+
*/
|
13 |
+
?>
|
14 |
+
|
15 |
+
<div class="su-posts su-posts-teaser-loop">
|
16 |
+
<?php if ( $posts->have_posts() ) : ?>
|
17 |
+
<?php while ( $posts->have_posts() ) : ?>
|
18 |
+
<?php $posts->the_post(); ?>
|
19 |
+
|
20 |
+
<div id="su-post-<?php the_ID(); ?>" class="su-post">
|
21 |
+
<?php if ( has_post_thumbnail() ) : ?>
|
22 |
+
<a class="su-post-thumbnail" href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a>
|
23 |
+
<?php endif; ?>
|
24 |
+
<h2 class="su-post-title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
|
25 |
+
</div>
|
26 |
+
|
27 |
+
<?php endwhile; ?>
|
28 |
+
<?php else : ?>
|
29 |
+
<p class="su-posts-not-found"><?php esc_html_e( 'Posts not found', 'shortcodes-ultimate' ); ?></p>
|
30 |
+
<?php endif; ?>
|
31 |
+
</div>
|
includes/shortcodes/0-all.php
CHANGED
@@ -47,6 +47,7 @@ require_once $this->plugin_path . 'includes/shortcodes/slider.php';
|
|
47 |
require_once $this->plugin_path . 'includes/shortcodes/carousel.php';
|
48 |
require_once $this->plugin_path . 'includes/shortcodes/custom-gallery.php';
|
49 |
require_once $this->plugin_path . 'includes/shortcodes/posts.php';
|
|
|
50 |
require_once $this->plugin_path . 'includes/shortcodes/dummy-text.php';
|
51 |
require_once $this->plugin_path . 'includes/shortcodes/dummy-image.php';
|
52 |
require_once $this->plugin_path . 'includes/shortcodes/animate.php';
|
47 |
require_once $this->plugin_path . 'includes/shortcodes/carousel.php';
|
48 |
require_once $this->plugin_path . 'includes/shortcodes/custom-gallery.php';
|
49 |
require_once $this->plugin_path . 'includes/shortcodes/posts.php';
|
50 |
+
// require_once $this->plugin_path . 'includes/shortcodes/display-posts.php';
|
51 |
require_once $this->plugin_path . 'includes/shortcodes/dummy-text.php';
|
52 |
require_once $this->plugin_path . 'includes/shortcodes/dummy-image.php';
|
53 |
require_once $this->plugin_path . 'includes/shortcodes/animate.php';
|
includes/shortcodes/carousel.php
CHANGED
@@ -1,10 +1,12 @@
|
|
1 |
<?php
|
2 |
|
3 |
su_add_shortcode( array(
|
|
|
4 |
'id' => 'carousel',
|
5 |
'callback' => 'su_shortcode_carousel',
|
6 |
'image' => su_get_plugin_url() . 'admin/images/shortcodes/carousel.svg',
|
7 |
-
|
|
|
8 |
'type' => 'single',
|
9 |
'group' => 'gallery',
|
10 |
'note' => sprintf(
|
1 |
<?php
|
2 |
|
3 |
su_add_shortcode( array(
|
4 |
+
'deprecated' => true,
|
5 |
'id' => 'carousel',
|
6 |
'callback' => 'su_shortcode_carousel',
|
7 |
'image' => su_get_plugin_url() . 'admin/images/shortcodes/carousel.svg',
|
8 |
+
// translators: Dep. – Deprecated
|
9 |
+
'name' => __( 'Carousel (Dep.)', 'shortcodes-ultimate' ),
|
10 |
'type' => 'single',
|
11 |
'group' => 'gallery',
|
12 |
'note' => sprintf(
|
includes/shortcodes/custom-gallery.php
CHANGED
@@ -124,6 +124,11 @@ function su_shortcode_custom_gallery( $atts = null, $content = null ) {
|
|
124 |
foreach ( $slides as $slide ) {
|
125 |
// Crop image
|
126 |
$image = su_image_resize( $slide['image'], $atts['width'], $atts['height'] );
|
|
|
|
|
|
|
|
|
|
|
127 |
// Prepare slide title
|
128 |
$title = ( $slide['title'] ) ? '<span class="su-custom-gallery-title">' . stripslashes( $slide['title'] ) . '</span>' : '';
|
129 |
// Open slide
|
124 |
foreach ( $slides as $slide ) {
|
125 |
// Crop image
|
126 |
$image = su_image_resize( $slide['image'], $atts['width'], $atts['height'] );
|
127 |
+
|
128 |
+
if ( is_wp_error( $image ) ) {
|
129 |
+
continue;
|
130 |
+
}
|
131 |
+
|
132 |
// Prepare slide title
|
133 |
$title = ( $slide['title'] ) ? '<span class="su-custom-gallery-title">' . stripslashes( $slide['title'] ) . '</span>' : '';
|
134 |
// Open slide
|
includes/shortcodes/dailymotion.php
CHANGED
@@ -145,12 +145,16 @@ function su_shortcode_dailymotion( $atts = null, $content = null ) {
|
|
145 |
}
|
146 |
|
147 |
$params = array();
|
148 |
-
$dm_options = array( 'autoplay', 'background', 'foreground', 'highlight', 'logo', 'quality', '
|
149 |
|
150 |
foreach ( $dm_options as $dm_option ) {
|
151 |
$params[] = $dm_option . '=' . str_replace( array( 'yes', 'no', '#' ), array( '1', '0', '' ), $atts[ $dm_option ] );
|
152 |
}
|
153 |
|
|
|
|
|
|
|
|
|
154 |
su_query_asset( 'css', 'su-shortcodes' );
|
155 |
|
156 |
return '<div class="su-dailymotion su-u-responsive-media-' . $atts['responsive'] . su_get_css_class( $atts ) . '"><iframe width="' . $atts['width'] . '" height="' . $atts['height'] . '" src="//www.dailymotion.com/embed/video/' . $id . '?' . implode( '&', $params ) . '" frameborder="0" allowfullscreen="true" title="' . esc_attr( $atts['title'] ) . '"></iframe></div>';
|
145 |
}
|
146 |
|
147 |
$params = array();
|
148 |
+
$dm_options = array( 'autoplay', 'background', 'foreground', 'highlight', 'logo', 'quality', 'info' );
|
149 |
|
150 |
foreach ( $dm_options as $dm_option ) {
|
151 |
$params[] = $dm_option . '=' . str_replace( array( 'yes', 'no', '#' ), array( '1', '0', '' ), $atts[ $dm_option ] );
|
152 |
}
|
153 |
|
154 |
+
if ( 'no' === $atts['related'] ) {
|
155 |
+
$params[] = 'queue-enable=false';
|
156 |
+
}
|
157 |
+
|
158 |
su_query_asset( 'css', 'su-shortcodes' );
|
159 |
|
160 |
return '<div class="su-dailymotion su-u-responsive-media-' . $atts['responsive'] . su_get_css_class( $atts ) . '"><iframe width="' . $atts['width'] . '" height="' . $atts['height'] . '" src="//www.dailymotion.com/embed/video/' . $id . '?' . implode( '&', $params ) . '" frameborder="0" allowfullscreen="true" title="' . esc_attr( $atts['title'] ) . '"></iframe></div>';
|
includes/shortcodes/display-posts.php
ADDED
@@ -0,0 +1,570 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
su_add_shortcode(
|
4 |
+
array(
|
5 |
+
'id' => 'display_posts',
|
6 |
+
'callback' => 'su_shortcode_display_posts',
|
7 |
+
'image' => su_get_plugin_url() . 'admin/images/shortcodes/display-posts.svg',
|
8 |
+
'icon' => 'th-list',
|
9 |
+
'name' => __( 'Posts', 'shortcodes-ultimate' ),
|
10 |
+
'type' => 'single',
|
11 |
+
'group' => 'other',
|
12 |
+
'article' => 'https://getshortcodes.com/docs/display-posts/',
|
13 |
+
'atts' => array(
|
14 |
+
'template' => array(
|
15 |
+
'default' => 'default',
|
16 |
+
'name' => __( 'Template', 'shortcodes-ultimate' ),
|
17 |
+
'desc' => sprintf(
|
18 |
+
'<p>%s.</p><p>%s:</p><ul><li>%s - %s</li><li>%s - %s</li><li>%s - %s</li><li>%s - %s</li><li>%s - %s</li></ul><p><a href="%s" target="_blank">%s</a></p>',
|
19 |
+
__( 'Template name', 'shortcodes-ultimate' ),
|
20 |
+
__( 'Available templates', 'shortcodes-ultimate' ),
|
21 |
+
'<b%value>default</b>',
|
22 |
+
__( 'default template with thumbnail, title, and excerpt', 'shortcodes-ultimate' ),
|
23 |
+
'<b%value>default-meta</b>',
|
24 |
+
__( 'default template with various meta data', 'shortcodes-ultimate' ),
|
25 |
+
'<b%value>list</b>',
|
26 |
+
__( 'unordered list with post titles', 'shortcodes-ultimate' ),
|
27 |
+
'<b%value>teasers</b>',
|
28 |
+
__( 'small teasers containing post thumbnails and titles', 'shortcodes-ultimate' ),
|
29 |
+
'<b%value>single</b>',
|
30 |
+
__( 'single post template', 'shortcodes-ultimate' ),
|
31 |
+
'https://getshortcodes.com/docs/display-posts/',
|
32 |
+
__( 'How to create/edit a template', 'shortcodes-ultimate' )
|
33 |
+
),
|
34 |
+
),
|
35 |
+
'post_ids' => array(
|
36 |
+
'default' => '',
|
37 |
+
'name' => __( 'Post IDs', 'shortcodes-ultimate' ),
|
38 |
+
'desc' => __( 'Comma separated list of post IDs to include', 'shortcodes-ultimate' ),
|
39 |
+
),
|
40 |
+
'posts_per_page' => array(
|
41 |
+
'type' => 'number',
|
42 |
+
'min' => -1,
|
43 |
+
'max' => 100,
|
44 |
+
'step' => 1,
|
45 |
+
'default' => '10',
|
46 |
+
'name' => __( 'Posts per page', 'shortcodes-ultimate' ),
|
47 |
+
'desc' => __( 'Number of posts that will be shown. Use -1 to display all posts.', 'shortcodes-ultimate' ),
|
48 |
+
),
|
49 |
+
'post_type' => array(
|
50 |
+
'type' => 'post_type',
|
51 |
+
'multiple' => true,
|
52 |
+
'values' => array(),
|
53 |
+
'default' => 'post',
|
54 |
+
'name' => __( 'Post types', 'shortcodes-ultimate' ),
|
55 |
+
'desc' => __( 'Filter posts by post type', 'shortcodes-ultimate' ),
|
56 |
+
),
|
57 |
+
'taxonomy_1' => array(
|
58 |
+
'type' => 'taxonomy',
|
59 |
+
'values' => array(),
|
60 |
+
'default' => 'category',
|
61 |
+
'name' => __( 'Taxonomy', 'shortcodes-ultimate' ),
|
62 |
+
'desc' => __( 'Show posts associated with certain taxonomy', 'shortcodes-ultimate' ),
|
63 |
+
),
|
64 |
+
'tax_terms_1' => array(
|
65 |
+
'type' => 'term',
|
66 |
+
'multiple' => true,
|
67 |
+
'values' => array(),
|
68 |
+
'default' => '',
|
69 |
+
'name' => __( 'Terms', 'shortcodes-ultimate' ),
|
70 |
+
'desc' => __( 'Show posts associated with specified taxonomy terms.', 'shortcodes-ultimate' ),
|
71 |
+
),
|
72 |
+
'tax_operator_1' => array(
|
73 |
+
'type' => 'select',
|
74 |
+
'values' => array(
|
75 |
+
'IN' => __(
|
76 |
+
'IN - posts that have any of the selected terms',
|
77 |
+
'shortcodes-ultimate'
|
78 |
+
),
|
79 |
+
'NOT IN' => __(
|
80 |
+
'NOT IN - posts that do not have any of the selected terms',
|
81 |
+
'shortcodes-ultimate'
|
82 |
+
),
|
83 |
+
'AND' => __(
|
84 |
+
'AND - posts that have all of the selected terms',
|
85 |
+
'shortcodes-ultimate'
|
86 |
+
),
|
87 |
+
),
|
88 |
+
'default' => 'IN',
|
89 |
+
'name' => __( 'Taxonomy term operator', 'shortcodes-ultimate' ),
|
90 |
+
'desc' => __( 'Taxonomy terms operator', 'shortcodes-ultimate' ),
|
91 |
+
),
|
92 |
+
'author' => array(
|
93 |
+
'default' => '',
|
94 |
+
'name' => __( 'Authors', 'shortcodes-ultimate' ),
|
95 |
+
'desc' => __( 'Comma separated list of author IDs', 'shortcodes-ultimate' ),
|
96 |
+
),
|
97 |
+
'meta_key' => array(
|
98 |
+
'default' => '',
|
99 |
+
'name' => __( 'Meta key', 'shortcodes-ultimate' ),
|
100 |
+
'desc' => __( 'Show posts associated with a certain custom field', 'shortcodes-ultimate' ),
|
101 |
+
),
|
102 |
+
'offset' => array(
|
103 |
+
'type' => 'number',
|
104 |
+
'min' => 0,
|
105 |
+
'max' => 10000,
|
106 |
+
'step' => 1,
|
107 |
+
'default' => 0,
|
108 |
+
'name' => __( 'Offset', 'shortcodes-ultimate' ),
|
109 |
+
'desc' => __( 'Number of posts to displace or pass over. The offset parameter is ignored when posts_per_page=-1 (show all posts) is used.', 'shortcodes-ultimate' ),
|
110 |
+
),
|
111 |
+
'orderby' => array(
|
112 |
+
'type' => 'select',
|
113 |
+
'values' => array(
|
114 |
+
'none' => __( 'None', 'shortcodes-ultimate' ),
|
115 |
+
'id' => __( 'Post ID', 'shortcodes-ultimate' ),
|
116 |
+
'author' => __( 'Post author', 'shortcodes-ultimate' ),
|
117 |
+
'title' => __( 'Post title', 'shortcodes-ultimate' ),
|
118 |
+
'name' => __( 'Post slug', 'shortcodes-ultimate' ),
|
119 |
+
'date' => __( 'Date', 'shortcodes-ultimate' ),
|
120 |
+
'modified' => __( 'Last modified date', 'shortcodes-ultimate' ),
|
121 |
+
'parent' => __( 'Post parent', 'shortcodes-ultimate' ),
|
122 |
+
'rand' => __( 'Random', 'shortcodes-ultimate' ),
|
123 |
+
'comment_count' => __( 'Comments number', 'shortcodes-ultimate' ),
|
124 |
+
'menu_order' => __( 'Menu order', 'shortcodes-ultimate' ),
|
125 |
+
'meta_value' => __( 'Meta key values', 'shortcodes-ultimate' ),
|
126 |
+
'meta_value_num' => __( 'Meta key values (Numeric)', 'shortcodes-ultimate' ),
|
127 |
+
),
|
128 |
+
'default' => 'date',
|
129 |
+
'name' => __( 'Order by', 'shortcodes-ultimate' ),
|
130 |
+
'desc' => __( 'Sort retrieved posts by parameter', 'shortcodes-ultimate' ),
|
131 |
+
),
|
132 |
+
'order' => array(
|
133 |
+
'type' => 'select',
|
134 |
+
'values' => array(
|
135 |
+
'desc' => __( 'Descending', 'shortcodes-ultimate' ),
|
136 |
+
'asc' => __( 'Ascending', 'shortcodes-ultimate' ),
|
137 |
+
),
|
138 |
+
'default' => 'desc',
|
139 |
+
'name' => __( 'Order', 'shortcodes-ultimate' ),
|
140 |
+
'desc' => __( 'Designates the ascending or descending order of the orderby parameter', 'shortcodes-ultimate' ),
|
141 |
+
),
|
142 |
+
'post_parent' => array(
|
143 |
+
'default' => '',
|
144 |
+
'name' => __( 'Post parent', 'shortcodes-ultimate' ),
|
145 |
+
'desc' => sprintf(
|
146 |
+
// translators: %s will be replaced with clickable text "current"
|
147 |
+
__( 'Filter posts by post parent (use parent post ID). Use "%s" keyword to display childs of the current post.', 'shortcodes-ultimate' ),
|
148 |
+
'<b%value>current</b>'
|
149 |
+
),
|
150 |
+
),
|
151 |
+
'post_status' => array(
|
152 |
+
'type' => 'select',
|
153 |
+
'values' => array(
|
154 |
+
'publish' => __( 'Published', 'shortcodes-ultimate' ),
|
155 |
+
'pending' => __( 'Pending', 'shortcodes-ultimate' ),
|
156 |
+
'draft' => __( 'Draft', 'shortcodes-ultimate' ),
|
157 |
+
'auto-draft' => __( 'Auto-draft', 'shortcodes-ultimate' ),
|
158 |
+
'future' => __( 'Future post', 'shortcodes-ultimate' ),
|
159 |
+
'private' => __( 'Private post', 'shortcodes-ultimate' ),
|
160 |
+
'inherit' => __( 'Inherit', 'shortcodes-ultimate' ),
|
161 |
+
'trash' => __( 'Trashed', 'shortcodes-ultimate' ),
|
162 |
+
'any' => __( 'Any', 'shortcodes-ultimate' ),
|
163 |
+
),
|
164 |
+
'default' => 'publish',
|
165 |
+
'name' => __( 'Post status', 'shortcodes-ultimate' ),
|
166 |
+
'desc' => __( 'Filter posts by status', 'shortcodes-ultimate' ),
|
167 |
+
),
|
168 |
+
'ignore_sticky' => array(
|
169 |
+
'type' => 'bool',
|
170 |
+
'default' => 'no',
|
171 |
+
'name' => __( 'Ignore sticky', 'shortcodes-ultimate' ),
|
172 |
+
'desc' => __( 'Set this option to yes to ignore sticky posts', 'shortcodes-ultimate' ),
|
173 |
+
),
|
174 |
+
'exclude' => array(
|
175 |
+
'default' => '',
|
176 |
+
'name' => __( 'Exclude Posts', 'shortcodes-ultimate' ),
|
177 |
+
'desc' => sprintf(
|
178 |
+
// translators: %s will be replaced with clickable text "current"
|
179 |
+
__( 'Comma separated list of post IDs to exclude. Use "%s" keyword to exclude the current post.', 'shortcodes-ultimate' ),
|
180 |
+
'<b%value>current</b>'
|
181 |
+
),
|
182 |
+
),
|
183 |
+
'quality' => array(
|
184 |
+
'type' => 'select',
|
185 |
+
'values' => su_get_image_sizes(),
|
186 |
+
'default' => 'thubmnail',
|
187 |
+
'name' => __( 'Thumbnails quality (if applicable)', 'shortcodes-ultimate' ),
|
188 |
+
'desc' => __( 'This option controls the size of thumbnail images. This option only affects image quality, not the actual thumbnail size.', 'shortcodes-ultimate' ),
|
189 |
+
),
|
190 |
+
'pagination' => array(
|
191 |
+
'type' => 'select',
|
192 |
+
'values' => array(
|
193 |
+
'no' => __( 'Disabled', 'shortcodes-ultimate' ),
|
194 |
+
'prev-next' => __( 'Previous/Next', 'shortcodes-ultimate' ),
|
195 |
+
),
|
196 |
+
'default' => 'no',
|
197 |
+
'name' => __( 'Pagination', 'shortcodes-ultimate' ),
|
198 |
+
'desc' => __( 'This option controls pagination', 'shortcodes-ultimate' ),
|
199 |
+
),
|
200 |
+
'pagination_prev' => array(
|
201 |
+
'default' => __( 'Previous page', 'shortcodes-ultimate' ),
|
202 |
+
'name' => __( 'Previous page link label', 'shortcodes-ultimate' ),
|
203 |
+
'desc' => __( 'Use this option to set a custom label for the previous page link.', 'shortcodes-ultimate' ),
|
204 |
+
),
|
205 |
+
'pagination_next' => array(
|
206 |
+
'default' => __( 'Next page', 'shortcodes-ultimate' ),
|
207 |
+
'name' => __( 'Next page link label', 'shortcodes-ultimate' ),
|
208 |
+
'desc' => __( 'Use this option to set a custom label for the next page link.', 'shortcodes-ultimate' ),
|
209 |
+
),
|
210 |
+
'pagination_anchor' => array(
|
211 |
+
'type' => 'bool',
|
212 |
+
'default' => 'no',
|
213 |
+
'name' => __( 'Achors in Pagination', 'shortcodes-ultimate' ),
|
214 |
+
'desc' => __( 'Use this option to enable anchors in pagination links. As a result, after navigating to a new page, browser will scroll in the posts element.', 'shortcodes-ultimate' ),
|
215 |
+
),
|
216 |
+
'id' => array(
|
217 |
+
'name' => __( 'HTML Anchor (ID)', 'shortcodes-ultimate' ),
|
218 |
+
'desc' => __( 'Anchors lets you link directly to an element on a page', 'shortcodes-ultimate' ),
|
219 |
+
'default' => '',
|
220 |
+
),
|
221 |
+
'class' => array(
|
222 |
+
'type' => 'extra_css_class',
|
223 |
+
'name' => __( 'Extra CSS class', 'shortcodes-ultimate' ),
|
224 |
+
'desc' => __( 'Additional CSS class name(s) separated by space(s)', 'shortcodes-ultimate' ),
|
225 |
+
'default' => '',
|
226 |
+
),
|
227 |
+
),
|
228 |
+
'desc' => __( 'Custom posts query with customizable template', 'shortcodes-ultimate' ),
|
229 |
+
)
|
230 |
+
);
|
231 |
+
|
232 |
+
function su_shortcode_display_posts( $atts = null, $content = null ) {
|
233 |
+
|
234 |
+
$raw = (array) $atts;
|
235 |
+
$defaults = su_get_shortcode_defaults( 'display_posts' );
|
236 |
+
$atts = su_parse_shortcode_atts(
|
237 |
+
'display_posts',
|
238 |
+
$atts,
|
239 |
+
array( 'tax_relation' => 'AND' )
|
240 |
+
);
|
241 |
+
|
242 |
+
$atts['id'] = sanitize_html_class(
|
243 |
+
$atts['id'],
|
244 |
+
sprintf(
|
245 |
+
'su-display-posts-%s',
|
246 |
+
md5( wp_json_encode( $raw ) )
|
247 |
+
)
|
248 |
+
);
|
249 |
+
|
250 |
+
// TODO: sanitize everything if possible (0) [!]
|
251 |
+
|
252 |
+
$atts['quality'] = sanitize_key( $atts['quality'] );
|
253 |
+
|
254 |
+
$atts['template'] = su_shortcode_display_posts_locate_template( $atts['template'] );
|
255 |
+
|
256 |
+
if ( ! $atts['template'] ) {
|
257 |
+
|
258 |
+
return su_error_message(
|
259 |
+
'Posts',
|
260 |
+
__( 'invalid template name', 'shortcodes-ultimate' )
|
261 |
+
);
|
262 |
+
|
263 |
+
}
|
264 |
+
|
265 |
+
$query = su_shortcode_display_posts_build_query( $raw, $atts, $defaults );
|
266 |
+
$su_query = new WP_Query( $query );
|
267 |
+
|
268 |
+
su_shortcode_display_posts_store( 'set', 'su_query', $su_query );
|
269 |
+
su_shortcode_display_posts_store( 'set', 'atts', $atts );
|
270 |
+
|
271 |
+
$output = su_shortcode_display_posts_include_template( $su_query, $atts );
|
272 |
+
|
273 |
+
wp_reset_postdata();
|
274 |
+
|
275 |
+
su_query_asset( 'css', 'su-shortcodes' );
|
276 |
+
|
277 |
+
return $output;
|
278 |
+
|
279 |
+
}
|
280 |
+
|
281 |
+
function su_shortcode_display_posts_locate_template( $template ) {
|
282 |
+
|
283 |
+
$template = su_set_file_extension( $template, 'php' );
|
284 |
+
$template = ltrim( $template, '\\/' );
|
285 |
+
|
286 |
+
$locations = array(
|
287 |
+
path_join( get_stylesheet_directory(), 'su-display-posts' ),
|
288 |
+
path_join( get_template_directory(), 'su-display-posts' ),
|
289 |
+
path_join( su_get_plugin_path(), 'includes/partials/shortcodes/display-posts' ),
|
290 |
+
);
|
291 |
+
|
292 |
+
foreach ( $locations as $location ) {
|
293 |
+
|
294 |
+
$path = path_join( $location, $template );
|
295 |
+
$path = realpath( $path );
|
296 |
+
|
297 |
+
if ( strpos( $path, $location ) === 0 && file_exists( $path ) ) {
|
298 |
+
return $path;
|
299 |
+
}
|
300 |
+
|
301 |
+
}
|
302 |
+
|
303 |
+
return false;
|
304 |
+
|
305 |
+
}
|
306 |
+
|
307 |
+
function su_shortcode_display_posts_include_template( $su_query, $atts ) {
|
308 |
+
|
309 |
+
ob_start();
|
310 |
+
|
311 |
+
include $atts['template'];
|
312 |
+
|
313 |
+
return ob_get_clean();
|
314 |
+
|
315 |
+
}
|
316 |
+
|
317 |
+
function su_shortcode_display_posts_build_query( $raw, $atts, $defaults ) {
|
318 |
+
|
319 |
+
$query = array();
|
320 |
+
|
321 |
+
$query['paged'] = su_shortcode_display_posts_get_current_page( $atts['id'] );
|
322 |
+
|
323 |
+
if ( $atts['author'] ) {
|
324 |
+
$query['author'] = sanitize_text_field( $atts['author'] );
|
325 |
+
}
|
326 |
+
|
327 |
+
$query['ignore_sticky_posts'] = 'yes' === $atts['ignore_sticky'];
|
328 |
+
|
329 |
+
if ( intval( $atts['offset'] ) ) {
|
330 |
+
$query['offset'] = intval( $atts['offset'] );
|
331 |
+
}
|
332 |
+
|
333 |
+
if ( $atts['meta_key'] ) {
|
334 |
+
$query['meta_key'] = sanitize_text_field( $atts['meta_key'] );
|
335 |
+
}
|
336 |
+
|
337 |
+
$query['order'] = sanitize_key( $atts['order'] );
|
338 |
+
$query['orderby'] = sanitize_key( $atts['orderby'] );
|
339 |
+
$query['post_status'] = sanitize_key( $atts['post_status'] );
|
340 |
+
$query['posts_per_page'] = intval( $atts['posts_per_page'] );
|
341 |
+
|
342 |
+
$atts['post_parent'] = str_replace(
|
343 |
+
'current',
|
344 |
+
get_the_ID(),
|
345 |
+
$atts['post_parent']
|
346 |
+
);
|
347 |
+
|
348 |
+
if ( is_numeric( $atts['post_parent'] ) ) {
|
349 |
+
$query['post_parent'] = intval( $atts['post_parent'] );
|
350 |
+
}
|
351 |
+
|
352 |
+
$atts['post_ids'] = array_map(
|
353 |
+
'intval',
|
354 |
+
array_filter( explode( ',', $atts['post_ids'] ), 'is_numeric' )
|
355 |
+
);
|
356 |
+
|
357 |
+
if ( ! empty( $atts['post_ids'] ) ) {
|
358 |
+
$query['post__in'] = $atts['post_ids'];
|
359 |
+
}
|
360 |
+
|
361 |
+
$atts['post_type'] = array_map(
|
362 |
+
'sanitize_text_field',
|
363 |
+
explode( ',', $atts['post_type'] )
|
364 |
+
);
|
365 |
+
|
366 |
+
$query['post_type'] = array_filter(
|
367 |
+
$atts['post_type'],
|
368 |
+
function( $item ) {
|
369 |
+
return ! empty( $item );
|
370 |
+
}
|
371 |
+
);
|
372 |
+
|
373 |
+
if ( $atts['exclude'] ) {
|
374 |
+
|
375 |
+
$atts['exclude'] = str_replace(
|
376 |
+
'current',
|
377 |
+
get_the_ID(),
|
378 |
+
$atts['exclude']
|
379 |
+
);
|
380 |
+
|
381 |
+
$query['post__not_in'] = array_map(
|
382 |
+
'intval',
|
383 |
+
explode( ',', $atts['exclude'] )
|
384 |
+
);
|
385 |
+
|
386 |
+
}
|
387 |
+
|
388 |
+
$query['tax_query'] = su_shortcode_display_posts_build_tax_query( $raw, $defaults );
|
389 |
+
|
390 |
+
if ( count( $query['tax_query'] ) > 1 ) {
|
391 |
+
|
392 |
+
$query['tax_query']['relation'] = strtoupper(
|
393 |
+
sanitize_key( $atts['tax_relation'] )
|
394 |
+
);
|
395 |
+
|
396 |
+
}
|
397 |
+
|
398 |
+
$query = apply_filters( 'su/shortcode/display_posts/query', $query, $atts, $raw );
|
399 |
+
|
400 |
+
return $query;
|
401 |
+
|
402 |
+
}
|
403 |
+
|
404 |
+
function su_shortcode_display_posts_build_tax_query( $raw, $defaults ) {
|
405 |
+
|
406 |
+
$tax_query = array();
|
407 |
+
|
408 |
+
for ( $i = 1; true; $i++ ) {
|
409 |
+
|
410 |
+
$raw[ "taxonomy_{$i}" ] = isset( $raw[ "taxonomy_{$i}" ] )
|
411 |
+
? sanitize_text_field( $raw[ "taxonomy_{$i}" ] )
|
412 |
+
: $defaults['taxonomy_1'];
|
413 |
+
|
414 |
+
if ( ! isset( $raw[ "tax_terms_{$i}" ] ) ) {
|
415 |
+
break;
|
416 |
+
}
|
417 |
+
|
418 |
+
$raw[ "tax_terms_{$i}" ] = array_map(
|
419 |
+
'sanitize_text_field',
|
420 |
+
explode( ',', $raw[ "tax_terms_{$i}" ] )
|
421 |
+
);
|
422 |
+
|
423 |
+
$raw[ "tax_terms_{$i}" ] = array_filter(
|
424 |
+
$raw[ "tax_terms_{$i}" ],
|
425 |
+
function( $item ) {
|
426 |
+
return ! empty( $item );
|
427 |
+
}
|
428 |
+
);
|
429 |
+
|
430 |
+
if ( ! isset( $raw[ "tax_operator_{$i}" ] ) ) {
|
431 |
+
$raw[ "tax_operator_{$i}" ] = $defaults['tax_operator_1'];
|
432 |
+
}
|
433 |
+
|
434 |
+
$raw[ "tax_operator_{$i}" ] = sanitize_text_field( $raw[ "tax_operator_{$i}" ] );
|
435 |
+
$raw[ "tax_operator_{$i}" ] = strtoupper( $raw[ "tax_operator_{$i}" ] );
|
436 |
+
|
437 |
+
if (
|
438 |
+
empty( $raw[ "taxonomy_{$i}" ] ) ||
|
439 |
+
empty( $raw[ "tax_terms_{$i}" ] ) ||
|
440 |
+
empty( $raw[ "tax_operator_{$i}" ] )
|
441 |
+
) {
|
442 |
+
break;
|
443 |
+
}
|
444 |
+
|
445 |
+
$tax_query[] = array(
|
446 |
+
'taxonomy' => $raw[ "taxonomy_{$i}" ],
|
447 |
+
'field' => is_numeric( $raw[ "tax_terms_{$i}" ][0] ) ? 'id' : 'slug',
|
448 |
+
'terms' => $raw[ "tax_terms_{$i}" ],
|
449 |
+
'operator' => $raw[ "tax_operator_{$i}" ],
|
450 |
+
);
|
451 |
+
|
452 |
+
}
|
453 |
+
|
454 |
+
return $tax_query;
|
455 |
+
|
456 |
+
}
|
457 |
+
|
458 |
+
function su_shortcode_display_posts_pagination() {
|
459 |
+
|
460 |
+
$atts = su_shortcode_display_posts_store( 'get', 'atts' );
|
461 |
+
|
462 |
+
if ( 'prev-next' === $atts['pagination'] ) {
|
463 |
+
return su_shortcode_display_posts_prevnext_pagination();
|
464 |
+
}
|
465 |
+
|
466 |
+
}
|
467 |
+
|
468 |
+
function su_shortcode_display_posts_prevnext_pagination() {
|
469 |
+
|
470 |
+
$prev = su_shortcode_display_posts_prevnext_pagination_link( 'prev' );
|
471 |
+
$next = su_shortcode_display_posts_prevnext_pagination_link( 'next' );
|
472 |
+
|
473 |
+
if ( ! $next && ! $prev ) {
|
474 |
+
return;
|
475 |
+
}
|
476 |
+
|
477 |
+
// phpcs:disable
|
478 |
+
printf( '<div class="su-display-posts-pagination">%s%s</div>', $prev, $next );
|
479 |
+
// phpcs:enable
|
480 |
+
|
481 |
+
}
|
482 |
+
|
483 |
+
function su_shortcode_display_posts_prevnext_pagination_link( $direction = 'next' ) {
|
484 |
+
|
485 |
+
$su_query = su_shortcode_display_posts_store( 'get', 'su_query' );
|
486 |
+
$atts = su_shortcode_display_posts_store( 'get', 'atts' );
|
487 |
+
$direction = sanitize_key( $direction );
|
488 |
+
$label = $atts[ 'pagination_' . $direction ];
|
489 |
+
$class = 'su-display-posts-pagination-' . $direction;
|
490 |
+
$key = su_shortcode_display_posts_get_pagination_key( $atts['id'] );
|
491 |
+
$current = su_shortcode_display_posts_get_current_page( $atts['id'] );
|
492 |
+
$total = $su_query->max_num_pages;
|
493 |
+
$template = apply_filters(
|
494 |
+
'su/shortcode/display_posts/prevnext_pagination_link_template',
|
495 |
+
'<a href="%1$s" class="%2$s">%3$s</a>',
|
496 |
+
$atts,
|
497 |
+
$direction
|
498 |
+
);
|
499 |
+
|
500 |
+
if ( $current > $total ) {
|
501 |
+
return;
|
502 |
+
}
|
503 |
+
|
504 |
+
if ( 'next' === $direction && $current < $total ) {
|
505 |
+
$goto = $current + 1;
|
506 |
+
}
|
507 |
+
|
508 |
+
if ( 'prev' === $direction && $current > 1 ) {
|
509 |
+
$goto = $current - 1;
|
510 |
+
}
|
511 |
+
|
512 |
+
if ( ! isset( $goto ) ) {
|
513 |
+
return;
|
514 |
+
}
|
515 |
+
|
516 |
+
$url = 1 === $goto
|
517 |
+
? remove_query_arg( $key )
|
518 |
+
: add_query_arg( $key, $goto );
|
519 |
+
|
520 |
+
if ( 'yes' === $atts['pagination_anchor'] ) {
|
521 |
+
$url .= '#' . $atts['id'];
|
522 |
+
}
|
523 |
+
|
524 |
+
return sprintf(
|
525 |
+
$template,
|
526 |
+
esc_attr( $url ),
|
527 |
+
sanitize_html_class( $class ),
|
528 |
+
esc_html( $label )
|
529 |
+
);
|
530 |
+
|
531 |
+
}
|
532 |
+
|
533 |
+
function su_shortcode_display_posts_get_pagination_key( $id ) {
|
534 |
+
|
535 |
+
return sprintf(
|
536 |
+
apply_filters( 'su/shortcode/display_posts/pagination_key', '%s-page' ),
|
537 |
+
$id
|
538 |
+
);
|
539 |
+
|
540 |
+
}
|
541 |
+
|
542 |
+
function su_shortcode_display_posts_get_current_page( $id ) {
|
543 |
+
|
544 |
+
$key = su_shortcode_display_posts_get_pagination_key( $id );
|
545 |
+
|
546 |
+
// phpcs:disable
|
547 |
+
return isset( $_GET[ $key ] ) && is_numeric( $_GET[ $key ] ) && $_GET[ $key ] > 0
|
548 |
+
? intval( $_GET[ $key ] )
|
549 |
+
: 1;
|
550 |
+
// phpcs:enable
|
551 |
+
|
552 |
+
}
|
553 |
+
|
554 |
+
function su_shortcode_display_posts_store( $action = 'get', $key = '', $value = '' ) {
|
555 |
+
|
556 |
+
static $store;
|
557 |
+
|
558 |
+
if ( ! is_array( $store ) ) {
|
559 |
+
$store = array();
|
560 |
+
}
|
561 |
+
|
562 |
+
if ( 'get' === $action && ! empty( $key ) && isset( $store[ $key ] ) ) {
|
563 |
+
return $store[ $key ];
|
564 |
+
}
|
565 |
+
|
566 |
+
if ( 'set' === $action ) {
|
567 |
+
$store[ $key ] = $value;
|
568 |
+
}
|
569 |
+
|
570 |
+
}
|
includes/shortcodes/divider.php
CHANGED
@@ -91,6 +91,7 @@ function su_shortcode_divider( $atts = null, $content = null ) {
|
|
91 |
$atts['link_color'] = sanitize_text_field( $atts['link_color'] );
|
92 |
$atts['anchor'] = sanitize_html_class( $atts['anchor'] );
|
93 |
|
|
|
94 |
$div_style = array(
|
95 |
"margin:{$atts['margin']}px 0",
|
96 |
"border-width:{$atts['size']}px",
|
91 |
$atts['link_color'] = sanitize_text_field( $atts['link_color'] );
|
92 |
$atts['anchor'] = sanitize_html_class( $atts['anchor'] );
|
93 |
|
94 |
+
$top_link = '';
|
95 |
$div_style = array(
|
96 |
"margin:{$atts['margin']}px 0",
|
97 |
"border-width:{$atts['size']}px",
|
includes/shortcodes/image-carousel.php
CHANGED
@@ -208,17 +208,11 @@ function su_shortcode_image_carousel( $atts = null, $content = null ) {
|
|
208 |
$atts['image_size'] = sanitize_key( $atts['image_size'] );
|
209 |
$atts['align'] = sanitize_key( $atts['align'] );
|
210 |
$atts['speed'] = sanitize_key( $atts['speed'] );
|
|
|
211 |
|
212 |
$items = array();
|
213 |
$styles = array();
|
214 |
-
$slides = su_get_gallery_slides(
|
215 |
-
$atts['source'],
|
216 |
-
array(
|
217 |
-
'limit' => $atts['limit'],
|
218 |
-
'link' => $atts['link'],
|
219 |
-
'prefer_caption' => $atts['prefer_caption'],
|
220 |
-
)
|
221 |
-
);
|
222 |
$link_target_attr = 'blank' === $atts['target']
|
223 |
? ' target="_blank" rel="noopener noreferrer"'
|
224 |
: '';
|
208 |
$atts['image_size'] = sanitize_key( $atts['image_size'] );
|
209 |
$atts['align'] = sanitize_key( $atts['align'] );
|
210 |
$atts['speed'] = sanitize_key( $atts['speed'] );
|
211 |
+
$atts['limit'] = intval( $atts['limit'] );
|
212 |
|
213 |
$items = array();
|
214 |
$styles = array();
|
215 |
+
$slides = su_get_gallery_slides( $atts );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
$link_target_attr = 'blank' === $atts['target']
|
217 |
? ' target="_blank" rel="noopener noreferrer"'
|
218 |
: '';
|
includes/shortcodes/lightbox-content.php
CHANGED
@@ -1,114 +1,176 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
su_add_shortcode(
|
4 |
-
|
5 |
-
'
|
6 |
-
'
|
7 |
-
'
|
8 |
-
'
|
9 |
-
'
|
|
|
10 |
'required_sibling' => 'lightbox',
|
11 |
-
'article'
|
12 |
-
'atts'
|
13 |
-
'id'
|
14 |
'default' => '',
|
15 |
-
'name'
|
16 |
-
'desc'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
),
|
18 |
-
'
|
19 |
-
'default' => '
|
20 |
-
'name'
|
21 |
-
'desc'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
),
|
23 |
-
'margin'
|
24 |
-
'type'
|
25 |
-
'min'
|
26 |
-
'max'
|
27 |
-
'step'
|
28 |
'default' => 40,
|
29 |
-
'name'
|
30 |
-
'desc'
|
31 |
),
|
32 |
-
'padding'
|
33 |
-
'type'
|
34 |
-
'min'
|
35 |
-
'max'
|
36 |
-
'step'
|
37 |
'default' => 40,
|
38 |
-
'name'
|
39 |
-
'desc'
|
40 |
),
|
41 |
'text_align' => array(
|
42 |
-
'type'
|
43 |
-
'values'
|
44 |
'left' => __( 'Left', 'shortcodes-ultimate' ),
|
45 |
'center' => __( 'Center', 'shortcodes-ultimate' ),
|
46 |
-
'right' => __( 'Right', 'shortcodes-ultimate' )
|
47 |
),
|
48 |
'default' => 'center',
|
49 |
-
'name'
|
50 |
-
'desc'
|
51 |
),
|
52 |
'background' => array(
|
53 |
-
'type'
|
54 |
'default' => '#FFFFFF',
|
55 |
-
'name'
|
56 |
-
'desc'
|
57 |
),
|
58 |
-
'color'
|
59 |
-
'type'
|
60 |
'default' => '#333333',
|
61 |
-
'name'
|
62 |
-
'desc'
|
63 |
),
|
64 |
-
'color'
|
65 |
-
'type'
|
66 |
'default' => '#333333',
|
67 |
-
'name'
|
68 |
-
'desc'
|
69 |
),
|
70 |
-
'shadow'
|
71 |
-
'type'
|
72 |
'default' => '0px 0px 15px #333333',
|
73 |
-
'name'
|
74 |
-
'desc'
|
75 |
),
|
76 |
-
'class'
|
77 |
-
'type'
|
78 |
-
'name'
|
79 |
-
'desc'
|
80 |
'default' => '',
|
81 |
),
|
82 |
),
|
83 |
-
'content'
|
84 |
-
'desc'
|
85 |
-
'icon'
|
86 |
-
)
|
|
|
87 |
|
88 |
function su_shortcode_lightbox_content( $atts = null, $content = null ) {
|
89 |
|
90 |
-
$atts =
|
91 |
-
'id' => '',
|
92 |
-
'width' => '50%',
|
93 |
-
'margin' => '40',
|
94 |
-
'padding' => '40',
|
95 |
-
'text_align' => 'center',
|
96 |
-
'background' => '#FFFFFF',
|
97 |
-
'color' => '#333333',
|
98 |
-
'shadow' => '0px 0px 15px #333333',
|
99 |
-
'class' => ''
|
100 |
-
), $atts, 'lightbox_content' );
|
101 |
-
|
102 |
-
su_query_asset( 'css', 'su-shortcodes' );
|
103 |
|
104 |
if ( ! $atts['id'] ) {
|
105 |
-
|
|
|
|
|
|
|
|
|
|
|
106 |
}
|
107 |
|
108 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
|
110 |
-
return
|
111 |
-
? '<div class="su-lightbox-content-preview">' . $return . '</div>'
|
112 |
-
: $return;
|
113 |
|
114 |
}
|
1 |
<?php
|
2 |
|
3 |
+
su_add_shortcode(
|
4 |
+
array(
|
5 |
+
'id' => 'lightbox_content',
|
6 |
+
'callback' => 'su_shortcode_lightbox_content',
|
7 |
+
'image' => su_get_plugin_url() . 'admin/images/shortcodes/lightbox_content.svg',
|
8 |
+
'name' => __( 'Lightbox content', 'shortcodes-ultimate' ),
|
9 |
+
'type' => 'wrap',
|
10 |
+
'group' => 'gallery',
|
11 |
'required_sibling' => 'lightbox',
|
12 |
+
'article' => 'https://getshortcodes.com/docs/lightbox/',
|
13 |
+
'atts' => array(
|
14 |
+
'id' => array(
|
15 |
'default' => '',
|
16 |
+
'name' => __( 'ID', 'shortcodes-ultimate' ),
|
17 |
+
'desc' => sprintf(
|
18 |
+
'%1$s %2$s: %3$s',
|
19 |
+
__( 'The ID of the element. Use the value from the Content source field of the lightbox shortcode.', 'shortcodes-ultimate' ),
|
20 |
+
__( 'Example', 'shortcodes-ultimate' ),
|
21 |
+
'<b%value>my-custom-popup</b>'
|
22 |
+
),
|
23 |
+
),
|
24 |
+
'width' => array(
|
25 |
+
'default' => 'auto',
|
26 |
+
'name' => __( 'Width', 'shortcodes-ultimate' ),
|
27 |
+
'desc' => sprintf(
|
28 |
+
'%1$s<br>%2$s: %3$s',
|
29 |
+
__( 'The width of the element. CSS units are allowed.', 'shortcodes-ultimate' ),
|
30 |
+
__( 'Examples', 'shortcodes-ultimate' ),
|
31 |
+
'<b%value>auto</b>, <b%value>300px</b>, <b%value>40em</b>, <b%value>90%</b>, <b%value>90vw</b>'
|
32 |
+
),
|
33 |
),
|
34 |
+
'min_width' => array(
|
35 |
+
'default' => 'none',
|
36 |
+
'name' => __( 'Min. Width', 'shortcodes-ultimate' ),
|
37 |
+
'desc' => sprintf(
|
38 |
+
'%1$s<br>%2$s: %3$s',
|
39 |
+
__( 'The minimum width of the element. CSS units are allowed.', 'shortcodes-ultimate' ),
|
40 |
+
__( 'Examples', 'shortcodes-ultimate' ),
|
41 |
+
'<b%value>none</b>, <b%value>300px</b>, <b%value>40em</b>, <b%value>90%</b>, <b%value>90vw</b>'
|
42 |
+
),
|
43 |
+
),
|
44 |
+
'max_width' => array(
|
45 |
+
'default' => '600px',
|
46 |
+
'name' => __( 'Max. Width', 'shortcodes-ultimate' ),
|
47 |
+
'desc' => sprintf(
|
48 |
+
'%1$s<br>%2$s: %3$s',
|
49 |
+
__( 'The maximum width of the element. CSS units are allowed.', 'shortcodes-ultimate' ),
|
50 |
+
__( 'Examples', 'shortcodes-ultimate' ),
|
51 |
+
'<b%value>none</b>, <b%value>300px</b>, <b%value>40em</b>, <b%value>90%</b>, <b%value>90vw</b>'
|
52 |
+
),
|
53 |
),
|
54 |
+
'margin' => array(
|
55 |
+
'type' => 'slider',
|
56 |
+
'min' => 0,
|
57 |
+
'max' => 600,
|
58 |
+
'step' => 5,
|
59 |
'default' => 40,
|
60 |
+
'name' => __( 'Margin', 'shortcodes-ultimate' ),
|
61 |
+
'desc' => __( 'The outer spacing of the element (in pixels)', 'shortcodes-ultimate' ),
|
62 |
),
|
63 |
+
'padding' => array(
|
64 |
+
'type' => 'slider',
|
65 |
+
'min' => 0,
|
66 |
+
'max' => 600,
|
67 |
+
'step' => 5,
|
68 |
'default' => 40,
|
69 |
+
'name' => __( 'Padding', 'shortcodes-ultimate' ),
|
70 |
+
'desc' => __( 'The inner spacing of the element (in pixels)', 'shortcodes-ultimate' ),
|
71 |
),
|
72 |
'text_align' => array(
|
73 |
+
'type' => 'select',
|
74 |
+
'values' => array(
|
75 |
'left' => __( 'Left', 'shortcodes-ultimate' ),
|
76 |
'center' => __( 'Center', 'shortcodes-ultimate' ),
|
77 |
+
'right' => __( 'Right', 'shortcodes-ultimate' ),
|
78 |
),
|
79 |
'default' => 'center',
|
80 |
+
'name' => __( 'Text alignment', 'shortcodes-ultimate' ),
|
81 |
+
'desc' => __( 'Select the text alignment', 'shortcodes-ultimate' ),
|
82 |
),
|
83 |
'background' => array(
|
84 |
+
'type' => 'color',
|
85 |
'default' => '#FFFFFF',
|
86 |
+
'name' => __( 'Background color', 'shortcodes-ultimate' ),
|
87 |
+
'desc' => __( 'Pick a background color', 'shortcodes-ultimate' ),
|
88 |
),
|
89 |
+
'color' => array(
|
90 |
+
'type' => 'color',
|
91 |
'default' => '#333333',
|
92 |
+
'name' => __( 'Text color', 'shortcodes-ultimate' ),
|
93 |
+
'desc' => __( 'Pick a text color', 'shortcodes-ultimate' ),
|
94 |
),
|
95 |
+
'color' => array(
|
96 |
+
'type' => 'color',
|
97 |
'default' => '#333333',
|
98 |
+
'name' => __( 'Text color', 'shortcodes-ultimate' ),
|
99 |
+
'desc' => __( 'Pick a text color', 'shortcodes-ultimate' ),
|
100 |
),
|
101 |
+
'shadow' => array(
|
102 |
+
'type' => 'shadow',
|
103 |
'default' => '0px 0px 15px #333333',
|
104 |
+
'name' => __( 'Shadow', 'shortcodes-ultimate' ),
|
105 |
+
'desc' => __( 'Adjust the shadow for content box', 'shortcodes-ultimate' ),
|
106 |
),
|
107 |
+
'class' => array(
|
108 |
+
'type' => 'extra_css_class',
|
109 |
+
'name' => __( 'Extra CSS class', 'shortcodes-ultimate' ),
|
110 |
+
'desc' => __( 'Additional CSS class name(s) separated by space(s)', 'shortcodes-ultimate' ),
|
111 |
'default' => '',
|
112 |
),
|
113 |
),
|
114 |
+
'content' => __( 'Inline content', 'shortcodes-ultimate' ),
|
115 |
+
'desc' => __( 'Inline content for lightbox', 'shortcodes-ultimate' ),
|
116 |
+
'icon' => 'external-link',
|
117 |
+
)
|
118 |
+
);
|
119 |
|
120 |
function su_shortcode_lightbox_content( $atts = null, $content = null ) {
|
121 |
|
122 |
+
$atts = su_parse_shortcode_atts( 'lightbox_content', $atts );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
|
124 |
if ( ! $atts['id'] ) {
|
125 |
+
|
126 |
+
return su_error_message(
|
127 |
+
'Lightbox content',
|
128 |
+
__( 'invalid ID. Use the value from the Content source field of the lightbox shortcode.', 'shortcodes-ultimate' )
|
129 |
+
);
|
130 |
+
|
131 |
}
|
132 |
|
133 |
+
if ( is_numeric( $atts['margin'] ) ) {
|
134 |
+
$atts['margin'] = "{$atts['margin']}px";
|
135 |
+
}
|
136 |
+
|
137 |
+
if ( is_numeric( $atts['padding'] ) ) {
|
138 |
+
$atts['padding'] = "{$atts['padding']}px";
|
139 |
+
}
|
140 |
+
|
141 |
+
$style = array(
|
142 |
+
'display:none',
|
143 |
+
'width:' . sanitize_text_field( $atts['width'] ),
|
144 |
+
'min-width:' . sanitize_text_field( $atts['min_width'] ),
|
145 |
+
'max-width:' . sanitize_text_field( $atts['max_width'] ),
|
146 |
+
'margin-top:' . sanitize_text_field( $atts['margin'] ),
|
147 |
+
'margin-bottom:' . sanitize_text_field( $atts['margin'] ),
|
148 |
+
'padding:' . sanitize_text_field( $atts['padding'] ),
|
149 |
+
'background:' . sanitize_text_field( $atts['background'] ),
|
150 |
+
'color:' . sanitize_text_field( $atts['color'] ),
|
151 |
+
'box-shadow:' . sanitize_text_field( $atts['shadow'] ),
|
152 |
+
'text-align:' . sanitize_key( $atts['text_align'] ),
|
153 |
+
);
|
154 |
+
|
155 |
+
$output = sprintf(
|
156 |
+
'<div class="su-lightbox-content su-u-trim %1$s" id="%2$s"%3$s>%4$s</div>',
|
157 |
+
su_get_css_class( $atts ),
|
158 |
+
sanitize_html_class( $atts['id'] ),
|
159 |
+
su_html_style( $style ),
|
160 |
+
do_shortcode( $content )
|
161 |
+
);
|
162 |
+
|
163 |
+
if ( did_action( 'su/generator/preview/before' ) ) {
|
164 |
+
|
165 |
+
$output = sprintf(
|
166 |
+
'<div class="su-lightbox-content-preview">%s</div>',
|
167 |
+
$output
|
168 |
+
);
|
169 |
+
|
170 |
+
}
|
171 |
+
|
172 |
+
su_query_asset( 'css', 'su-shortcodes' );
|
173 |
|
174 |
+
return $output;
|
|
|
|
|
175 |
|
176 |
}
|
includes/shortcodes/post.php
CHANGED
@@ -76,7 +76,11 @@ su_add_shortcode(
|
|
76 |
|
77 |
function su_shortcode_post( $atts = null, $content = null ) {
|
78 |
|
79 |
-
$atts = su_parse_shortcode_atts(
|
|
|
|
|
|
|
|
|
80 |
|
81 |
if ( ! $atts['post_id'] ) {
|
82 |
$atts['post_id'] = get_the_ID();
|
@@ -93,8 +97,8 @@ function su_shortcode_post( $atts = null, $content = null ) {
|
|
93 |
|
94 |
if ( 'the_content' === $atts['field'] ) {
|
95 |
|
96 |
-
$atts['field']
|
97 |
-
$filter_content =
|
98 |
|
99 |
}
|
100 |
|
@@ -107,7 +111,7 @@ function su_shortcode_post( $atts = null, $content = null ) {
|
|
107 |
$data = $post->{$atts['field']};
|
108 |
}
|
109 |
|
110 |
-
if ( $filter_content ) {
|
111 |
$data = su_filter_the_content( $data );
|
112 |
}
|
113 |
|
76 |
|
77 |
function su_shortcode_post( $atts = null, $content = null ) {
|
78 |
|
79 |
+
$atts = su_parse_shortcode_atts(
|
80 |
+
'post',
|
81 |
+
$atts,
|
82 |
+
array( 'filter_content' => 'no' )
|
83 |
+
);
|
84 |
|
85 |
if ( ! $atts['post_id'] ) {
|
86 |
$atts['post_id'] = get_the_ID();
|
97 |
|
98 |
if ( 'the_content' === $atts['field'] ) {
|
99 |
|
100 |
+
$atts['field'] = 'post_content';
|
101 |
+
$atts['filter_content'] = 'yes';
|
102 |
|
103 |
}
|
104 |
|
111 |
$data = $post->{$atts['field']};
|
112 |
}
|
113 |
|
114 |
+
if ( 'yes' === $atts['filter_content'] ) {
|
115 |
$data = su_filter_the_content( $data );
|
116 |
}
|
117 |
|
includes/shortcodes/posts.php
CHANGED
@@ -227,11 +227,6 @@ function su_shortcode_posts( $atts = null, $content = null ) {
|
|
227 |
'posts'
|
228 |
);
|
229 |
|
230 |
-
// Validate template name
|
231 |
-
if ( ! su_is_valid_template_name( $atts['template'] ) ) {
|
232 |
-
return su_error_message( 'Posts', __( 'invalid template name', 'shortcodes-ultimate' ) );
|
233 |
-
}
|
234 |
-
|
235 |
$author = sanitize_text_field( $atts['author'] );
|
236 |
$id = $atts['id']; // Sanitized later as an array of integers
|
237 |
$ignore_sticky_posts = (bool) ( 'yes' === $atts['ignore_sticky_posts'] )
|
@@ -378,38 +373,25 @@ function su_shortcode_posts( $atts = null, $content = null ) {
|
|
378 |
}
|
379 |
$args['post_parent'] = intval( $post_parent );
|
380 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
381 |
// Save original posts
|
382 |
global $posts;
|
383 |
$original_posts = $posts;
|
384 |
// Query posts
|
385 |
$posts = new WP_Query( $args );
|
386 |
-
//
|
387 |
-
$
|
388 |
-
// Buffer output
|
389 |
-
ob_start();
|
390 |
-
// Search for template in stylesheet directory
|
391 |
-
if ( file_exists( get_stylesheet_directory() . '/' . $atts['template'] ) ) {
|
392 |
-
load_template( get_stylesheet_directory() . '/' . $atts['template'], false );
|
393 |
-
}
|
394 |
-
// Search for template in theme directory
|
395 |
-
elseif ( file_exists( get_template_directory() . '/' . $atts['template'] ) ) {
|
396 |
-
load_template( get_template_directory() . '/' . $atts['template'], false );
|
397 |
-
}
|
398 |
-
// Search for template in plugin directory
|
399 |
-
elseif ( file_exists( path_join( dirname( SU_PLUGIN_FILE ), $atts['template'] ) ) ) {
|
400 |
-
load_template(
|
401 |
-
path_join( dirname( SU_PLUGIN_FILE ), $atts['template'] ),
|
402 |
-
false
|
403 |
-
);
|
404 |
-
}
|
405 |
-
// Template not found
|
406 |
-
else {
|
407 |
-
echo su_error_message(
|
408 |
-
'Posts',
|
409 |
-
__( 'template not found', 'shortcodes-ultimate' )
|
410 |
-
);
|
411 |
-
}
|
412 |
-
$output = ob_get_clean();
|
413 |
// Return original posts
|
414 |
$posts = $original_posts;
|
415 |
// Reset the query
|
@@ -417,3 +399,44 @@ function su_shortcode_posts( $atts = null, $content = null ) {
|
|
417 |
su_query_asset( 'css', 'su-shortcodes' );
|
418 |
return $output;
|
419 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
227 |
'posts'
|
228 |
);
|
229 |
|
|
|
|
|
|
|
|
|
|
|
230 |
$author = sanitize_text_field( $atts['author'] );
|
231 |
$id = $atts['id']; // Sanitized later as an array of integers
|
232 |
$ignore_sticky_posts = (bool) ( 'yes' === $atts['ignore_sticky_posts'] )
|
373 |
}
|
374 |
$args['post_parent'] = intval( $post_parent );
|
375 |
}
|
376 |
+
|
377 |
+
$atts['template'] = su_shortcode_posts_locate_template( $atts['template'] );
|
378 |
+
|
379 |
+
if ( ! $atts['template'] ) {
|
380 |
+
|
381 |
+
return su_error_message(
|
382 |
+
'Posts',
|
383 |
+
__( 'invalid template name', 'shortcodes-ultimate' )
|
384 |
+
);
|
385 |
+
|
386 |
+
}
|
387 |
+
|
388 |
// Save original posts
|
389 |
global $posts;
|
390 |
$original_posts = $posts;
|
391 |
// Query posts
|
392 |
$posts = new WP_Query( $args );
|
393 |
+
// Load the template
|
394 |
+
$output = su_shortcode_posts_include_template( $atts, $posts );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
395 |
// Return original posts
|
396 |
$posts = $original_posts;
|
397 |
// Reset the query
|
399 |
su_query_asset( 'css', 'su-shortcodes' );
|
400 |
return $output;
|
401 |
}
|
402 |
+
|
403 |
+
function su_shortcode_posts_include_template( $atts, $posts ) {
|
404 |
+
|
405 |
+
ob_start();
|
406 |
+
|
407 |
+
include $atts['template'];
|
408 |
+
|
409 |
+
return ob_get_clean();
|
410 |
+
|
411 |
+
}
|
412 |
+
|
413 |
+
function su_shortcode_posts_locate_template( $template ) {
|
414 |
+
|
415 |
+
$template = su_set_file_extension( $template, 'php' );
|
416 |
+
$template = ltrim( $template, '\\/' );
|
417 |
+
|
418 |
+
$locations = array(
|
419 |
+
get_stylesheet_directory(),
|
420 |
+
get_template_directory(),
|
421 |
+
path_join(
|
422 |
+
su_get_plugin_path(),
|
423 |
+
'includes/partials/shortcodes/posts'
|
424 |
+
),
|
425 |
+
);
|
426 |
+
|
427 |
+
foreach ( $locations as $base ) {
|
428 |
+
|
429 |
+
$base = untrailingslashit( $base );
|
430 |
+
|
431 |
+
$path = path_join( $base, $template );
|
432 |
+
$path = realpath( $path );
|
433 |
+
|
434 |
+
if ( file_exists( $path ) && strpos( $path, $base ) === 0 ) {
|
435 |
+
return $path;
|
436 |
+
}
|
437 |
+
|
438 |
+
}
|
439 |
+
|
440 |
+
return false;
|
441 |
+
|
442 |
+
}
|
includes/shortcodes/slider.php
CHANGED
@@ -1,10 +1,12 @@
|
|
1 |
<?php
|
2 |
|
3 |
su_add_shortcode( array(
|
|
|
4 |
'id' => 'slider',
|
5 |
'callback' => 'su_shortcode_slider',
|
6 |
'image' => su_get_plugin_url() . 'admin/images/shortcodes/slider.svg',
|
7 |
-
|
|
|
8 |
'type' => 'single',
|
9 |
'group' => 'gallery',
|
10 |
'note' => sprintf(
|
@@ -172,6 +174,11 @@ function su_shortcode_slider( $atts = null, $content = null ) {
|
|
172 |
foreach ( $slides as $slide ) {
|
173 |
// Crop the image
|
174 |
$image = su_image_resize( $slide['image'], $atts['width'], $atts['height'] );
|
|
|
|
|
|
|
|
|
|
|
175 |
// Prepare slide title
|
176 |
$title = ( $atts['title'] === 'yes' && $slide['title'] ) ? '<span class="su-slider-slide-title">' . stripslashes( $slide['title'] ) . '</span>' : '';
|
177 |
// Open slide
|
1 |
<?php
|
2 |
|
3 |
su_add_shortcode( array(
|
4 |
+
'deprecated' => true,
|
5 |
'id' => 'slider',
|
6 |
'callback' => 'su_shortcode_slider',
|
7 |
'image' => su_get_plugin_url() . 'admin/images/shortcodes/slider.svg',
|
8 |
+
// translators: Dep. – Deprecated
|
9 |
+
'name' => __( 'Slider (Dep.)', 'shortcodes-ultimate' ),
|
10 |
'type' => 'single',
|
11 |
'group' => 'gallery',
|
12 |
'note' => sprintf(
|
174 |
foreach ( $slides as $slide ) {
|
175 |
// Crop the image
|
176 |
$image = su_image_resize( $slide['image'], $atts['width'], $atts['height'] );
|
177 |
+
|
178 |
+
if ( is_wp_error( $image ) ) {
|
179 |
+
continue;
|
180 |
+
}
|
181 |
+
|
182 |
// Prepare slide title
|
183 |
$title = ( $atts['title'] === 'yes' && $slide['title'] ) ? '<span class="su-slider-slide-title">' . stripslashes( $slide['title'] ) . '</span>' : '';
|
184 |
// Open slide
|
languages/shortcodes-ultimate.pot
CHANGED
@@ -78,7 +78,7 @@ msgstr ""
|
|
78 |
msgid "Content slider"
|
79 |
msgstr ""
|
80 |
|
81 |
-
#: admin/class-shortcodes-ultimate-admin-extra-shortcodes.php:126, includes/shortcodes/lightbox-content.php:
|
82 |
msgid "Shadow"
|
83 |
msgstr ""
|
84 |
|
@@ -174,7 +174,7 @@ msgstr ""
|
|
174 |
msgid "Available shortcodes"
|
175 |
msgstr ""
|
176 |
|
177 |
-
#: admin/class-shortcodes-ultimate-admin-shortcodes.php:88, admin/class-shortcodes-ultimate-admin-top-level.php:39, admin/class-shortcodes-ultimate-admin.php:267, includes/functions-galleries.php:
|
178 |
msgid "Shortcodes Ultimate"
|
179 |
msgstr ""
|
180 |
|
@@ -186,11 +186,11 @@ msgstr ""
|
|
186 |
msgid "Media file IDs"
|
187 |
msgstr ""
|
188 |
|
189 |
-
#: admin/class-shortcodes-ultimate-admin-shortcodes.php:393
|
190 |
msgid "Post IDs"
|
191 |
msgstr ""
|
192 |
|
193 |
-
#: admin/class-shortcodes-ultimate-admin-shortcodes.php:394, inc/core/generator-views.php:
|
194 |
msgid "Recent posts"
|
195 |
msgstr ""
|
196 |
|
@@ -246,7 +246,7 @@ msgstr ""
|
|
246 |
msgid "Fork Awesome icon name (with \"icon:\" prefix) or image URL"
|
247 |
msgstr ""
|
248 |
|
249 |
-
#: admin/class-shortcodes-ultimate-admin-shortcodes.php:412
|
250 |
msgid "Examples"
|
251 |
msgstr ""
|
252 |
|
@@ -272,38 +272,18 @@ msgstr ""
|
|
272 |
msgid "Shortcodes Ultimate is not activated, because it requires WordPress version %1$s (or higher). You have version %2$s."
|
273 |
msgstr ""
|
274 |
|
275 |
-
#: includes/functions-galleries.php:
|
276 |
msgid "Original image size"
|
277 |
msgstr ""
|
278 |
|
279 |
-
#: includes/functions-galleries.php:
|
280 |
msgid "Slide link"
|
281 |
msgstr ""
|
282 |
|
283 |
-
#: includes/functions-galleries.php:
|
284 |
msgid "Use this field to add custom links to slides used with Slider, Carousel and Custom Gallery shortcodes"
|
285 |
msgstr ""
|
286 |
|
287 |
-
#: templates/default-loop.php:16, templates/single-post.php:17
|
288 |
-
msgid "Posted"
|
289 |
-
msgstr ""
|
290 |
-
|
291 |
-
#: templates/default-loop.php:24, templates/single-post.php:19
|
292 |
-
msgid "0 comments"
|
293 |
-
msgstr ""
|
294 |
-
|
295 |
-
#: templates/default-loop.php:24, templates/single-post.php:19
|
296 |
-
msgid "1 comment"
|
297 |
-
msgstr ""
|
298 |
-
|
299 |
-
#: templates/default-loop.php:32, templates/list-loop.php:16, templates/single-post.php:32, templates/teaser-loop.php:20
|
300 |
-
msgid "Posts not found"
|
301 |
-
msgstr ""
|
302 |
-
|
303 |
-
#: templates/single-post.php:19
|
304 |
-
msgid "%n comments"
|
305 |
-
msgstr ""
|
306 |
-
|
307 |
#: inc/core/assets.php:83
|
308 |
msgid "Choose file"
|
309 |
msgstr ""
|
@@ -365,83 +345,88 @@ msgstr ""
|
|
365 |
msgid "Open link"
|
366 |
msgstr ""
|
367 |
|
368 |
-
#: inc/core/generator-views.php:
|
|
|
|
|
|
|
|
|
|
|
369 |
msgid "Yes"
|
370 |
msgstr ""
|
371 |
|
372 |
-
#: inc/core/generator-views.php:
|
373 |
msgid "No"
|
374 |
msgstr ""
|
375 |
|
376 |
-
#: inc/core/generator-views.php:
|
377 |
msgid "Media manager"
|
378 |
msgstr ""
|
379 |
|
380 |
-
#: inc/core/generator-views.php:
|
381 |
msgid "Icon picker"
|
382 |
msgstr ""
|
383 |
|
384 |
-
#: inc/core/generator-views.php:
|
385 |
msgid "Filter icons"
|
386 |
msgstr ""
|
387 |
|
388 |
-
#: inc/core/generator-views.php:
|
389 |
msgid "Horizontal offset"
|
390 |
msgstr ""
|
391 |
|
392 |
-
#: inc/core/generator-views.php:
|
393 |
msgid "Vertical offset"
|
394 |
msgstr ""
|
395 |
|
396 |
-
#: inc/core/generator-views.php:
|
397 |
msgid "Blur"
|
398 |
msgstr ""
|
399 |
|
400 |
-
#: inc/core/generator-views.php:
|
401 |
msgid "Color"
|
402 |
msgstr ""
|
403 |
|
404 |
-
#: inc/core/generator-views.php:
|
405 |
msgid "Border width"
|
406 |
msgstr ""
|
407 |
|
408 |
-
#: inc/core/generator-views.php:
|
409 |
msgid "Border style"
|
410 |
msgstr ""
|
411 |
|
412 |
-
#: inc/core/generator-views.php:
|
413 |
msgid "Border color"
|
414 |
msgstr ""
|
415 |
|
416 |
-
#: inc/core/generator-views.php:
|
417 |
msgid "Media library"
|
418 |
msgstr ""
|
419 |
|
420 |
-
#: inc/core/generator-views.php:
|
421 |
msgid "Taxonomy"
|
422 |
msgstr ""
|
423 |
|
424 |
-
#: inc/core/generator-views.php:
|
425 |
msgid "Select images source"
|
426 |
msgstr ""
|
427 |
|
428 |
-
#: inc/core/generator-views.php:
|
429 |
msgid "Select taxonomy"
|
430 |
msgstr ""
|
431 |
|
432 |
-
#: inc/core/generator-views.php:
|
433 |
msgid "Add images"
|
434 |
msgstr ""
|
435 |
|
436 |
-
#: inc/core/generator-views.php:
|
437 |
msgid "Click the button above and select images.<br>You can select multimple images with Ctrl (Cmd) key"
|
438 |
msgstr ""
|
439 |
|
440 |
-
#: inc/core/generator-views.php:
|
441 |
msgid "Select categories to retrieve posts from.<br>You can select multiple categories with Ctrl (Cmd) key"
|
442 |
msgstr ""
|
443 |
|
444 |
-
#: inc/core/generator-views.php:
|
445 |
msgid "Select taxonomy and it's terms.<br>You can select multiple terms with Ctrl (Cmd) key"
|
446 |
msgstr ""
|
447 |
|
@@ -565,7 +550,7 @@ msgstr ""
|
|
565 |
msgid "Add more style to your shortcodes"
|
566 |
msgstr ""
|
567 |
|
568 |
-
#: includes/config/borders.php:6, includes/shortcodes/carousel.php:
|
569 |
msgid "None"
|
570 |
msgstr ""
|
571 |
|
@@ -645,11 +630,11 @@ msgstr ""
|
|
645 |
msgid "Accordion"
|
646 |
msgstr ""
|
647 |
|
648 |
-
#: includes/shortcodes/accordion.php:14, includes/shortcodes/animate.php:44, includes/shortcodes/audio.php:37, includes/shortcodes/box.php:56, includes/shortcodes/button.php:144, includes/shortcodes/carousel.php:
|
649 |
msgid "Extra CSS class"
|
650 |
msgstr ""
|
651 |
|
652 |
-
#: includes/shortcodes/accordion.php:15, includes/shortcodes/animate.php:45, includes/shortcodes/audio.php:38, includes/shortcodes/box.php:57, includes/shortcodes/button.php:145, includes/shortcodes/carousel.php:
|
653 |
msgid "Additional CSS class name(s) separated by space(s)"
|
654 |
msgstr ""
|
655 |
|
@@ -713,7 +698,7 @@ msgstr ""
|
|
713 |
msgid "Audio file url. Supported formats: mp3, ogg"
|
714 |
msgstr ""
|
715 |
|
716 |
-
#: includes/shortcodes/audio.php:20, includes/shortcodes/carousel.php:
|
717 |
msgid "Width"
|
718 |
msgstr ""
|
719 |
|
@@ -721,7 +706,7 @@ msgstr ""
|
|
721 |
msgid "Player width. You can specify width in percents and player will be responsive. Example values: <b%value>200px</b>, <b%value>100%</b>"
|
722 |
msgstr ""
|
723 |
|
724 |
-
#: includes/shortcodes/audio.php:26, includes/shortcodes/carousel.php:
|
725 |
msgid "Autoplay"
|
726 |
msgstr ""
|
727 |
|
@@ -837,11 +822,11 @@ msgstr ""
|
|
837 |
msgid "Button link"
|
838 |
msgstr ""
|
839 |
|
840 |
-
#: includes/shortcodes/button.php:21, includes/shortcodes/carousel.php:
|
841 |
msgid "Open in same tab"
|
842 |
msgstr ""
|
843 |
|
844 |
-
#: includes/shortcodes/button.php:22, includes/shortcodes/carousel.php:
|
845 |
msgid "Open in new tab"
|
846 |
msgstr ""
|
847 |
|
@@ -881,7 +866,7 @@ msgstr ""
|
|
881 |
msgid "Button background color"
|
882 |
msgstr ""
|
883 |
|
884 |
-
#: includes/shortcodes/button.php:56, includes/shortcodes/expand.php:40, includes/shortcodes/highlight.php:22, includes/shortcodes/lightbox-content.php:
|
885 |
msgid "Text color"
|
886 |
msgstr ""
|
887 |
|
@@ -1001,163 +986,164 @@ msgstr ""
|
|
1001 |
msgid "Styled button"
|
1002 |
msgstr ""
|
1003 |
|
1004 |
-
|
1005 |
-
|
|
|
1006 |
msgstr ""
|
1007 |
|
1008 |
-
#: includes/shortcodes/carousel.php:
|
1009 |
msgid "There is a much better shortcode for your images. Have you already tried the Image Carousel? It can create both sliders and carousels."
|
1010 |
msgstr ""
|
1011 |
|
1012 |
-
#: includes/shortcodes/carousel.php:
|
1013 |
msgid "Switch to Image Carousel"
|
1014 |
msgstr ""
|
1015 |
|
1016 |
-
#: includes/shortcodes/carousel.php:
|
1017 |
msgid "Source"
|
1018 |
msgstr ""
|
1019 |
|
1020 |
-
#: includes/shortcodes/carousel.php:
|
1021 |
msgid "Choose images source. You can use images from Media library or retrieve it from posts (thumbnails) posted under specified blog category. You can also pick any custom taxonomy"
|
1022 |
msgstr ""
|
1023 |
|
1024 |
-
#: includes/shortcodes/carousel.php:
|
1025 |
msgid "Limit"
|
1026 |
msgstr ""
|
1027 |
|
1028 |
-
#: includes/shortcodes/carousel.php:
|
1029 |
msgid "Maximum number of image source posts (for recent posts, category and custom taxonomy)"
|
1030 |
msgstr ""
|
1031 |
|
1032 |
-
#: includes/shortcodes/carousel.php:
|
1033 |
msgid "Full-size image"
|
1034 |
msgstr ""
|
1035 |
|
1036 |
-
#: includes/shortcodes/carousel.php:
|
1037 |
msgid "Lightbox"
|
1038 |
msgstr ""
|
1039 |
|
1040 |
-
#: includes/shortcodes/carousel.php:
|
1041 |
msgid "Slide link (added in media editor)"
|
1042 |
msgstr ""
|
1043 |
|
1044 |
-
#: includes/shortcodes/carousel.php:
|
1045 |
msgid "Attachment page"
|
1046 |
msgstr ""
|
1047 |
|
1048 |
-
#: includes/shortcodes/carousel.php:
|
1049 |
msgid "Post permalink"
|
1050 |
msgstr ""
|
1051 |
|
1052 |
-
#: includes/shortcodes/carousel.php:
|
1053 |
msgid "Links"
|
1054 |
msgstr ""
|
1055 |
|
1056 |
-
#: includes/shortcodes/carousel.php:
|
1057 |
msgid "Select which links will be used for images in this gallery"
|
1058 |
msgstr ""
|
1059 |
|
1060 |
-
#: includes/shortcodes/carousel.php:
|
1061 |
msgid "Links target"
|
1062 |
msgstr ""
|
1063 |
|
1064 |
-
#: includes/shortcodes/carousel.php:
|
1065 |
msgid "Open links in"
|
1066 |
msgstr ""
|
1067 |
|
1068 |
-
#: includes/shortcodes/carousel.php:
|
1069 |
msgid "Carousel width (in pixels)"
|
1070 |
msgstr ""
|
1071 |
|
1072 |
-
#: includes/shortcodes/carousel.php:
|
1073 |
msgid "Height"
|
1074 |
msgstr ""
|
1075 |
|
1076 |
-
#: includes/shortcodes/carousel.php:
|
1077 |
msgid "Carousel height (in pixels)"
|
1078 |
msgstr ""
|
1079 |
|
1080 |
-
#: includes/shortcodes/carousel.php:
|
1081 |
msgid "Responsive"
|
1082 |
msgstr ""
|
1083 |
|
1084 |
-
#: includes/shortcodes/carousel.php:
|
1085 |
msgid "Ignore width and height parameters and make carousel responsive"
|
1086 |
msgstr ""
|
1087 |
|
1088 |
-
#: includes/shortcodes/carousel.php:
|
1089 |
msgid "Items to show"
|
1090 |
msgstr ""
|
1091 |
|
1092 |
-
#: includes/shortcodes/carousel.php:
|
1093 |
msgid "How much carousel items is visible"
|
1094 |
msgstr ""
|
1095 |
|
1096 |
-
#: includes/shortcodes/carousel.php:
|
1097 |
msgid "Scroll number"
|
1098 |
msgstr ""
|
1099 |
|
1100 |
-
#: includes/shortcodes/carousel.php:
|
1101 |
msgid "How much items are scrolled in one transition"
|
1102 |
msgstr ""
|
1103 |
|
1104 |
-
#: includes/shortcodes/carousel.php:
|
1105 |
msgid "Show titles"
|
1106 |
msgstr ""
|
1107 |
|
1108 |
-
#: includes/shortcodes/carousel.php:
|
1109 |
msgid "Display titles for each item"
|
1110 |
msgstr ""
|
1111 |
|
1112 |
-
#: includes/shortcodes/carousel.php:
|
1113 |
msgid "Center"
|
1114 |
msgstr ""
|
1115 |
|
1116 |
-
#: includes/shortcodes/carousel.php:
|
1117 |
msgid "Is carousel centered on the page"
|
1118 |
msgstr ""
|
1119 |
|
1120 |
-
#: includes/shortcodes/carousel.php:
|
1121 |
msgid "Arrows"
|
1122 |
msgstr ""
|
1123 |
|
1124 |
-
#: includes/shortcodes/carousel.php:
|
1125 |
msgid "Show left and right arrows"
|
1126 |
msgstr ""
|
1127 |
|
1128 |
-
#: includes/shortcodes/carousel.php:
|
1129 |
msgid "Pagination"
|
1130 |
msgstr ""
|
1131 |
|
1132 |
-
#: includes/shortcodes/carousel.php:
|
1133 |
msgid "Show pagination"
|
1134 |
msgstr ""
|
1135 |
|
1136 |
-
#: includes/shortcodes/carousel.php:
|
1137 |
msgid "Mouse wheel control"
|
1138 |
msgstr ""
|
1139 |
|
1140 |
-
#: includes/shortcodes/carousel.php:
|
1141 |
msgid "Allow to rotate carousel with mouse wheel"
|
1142 |
msgstr ""
|
1143 |
|
1144 |
-
#: includes/shortcodes/carousel.php:
|
1145 |
msgid "Choose interval between auto animations. Set to 0 to disable autoplay"
|
1146 |
msgstr ""
|
1147 |
|
1148 |
-
#: includes/shortcodes/carousel.php:
|
1149 |
msgid "Speed"
|
1150 |
msgstr ""
|
1151 |
|
1152 |
-
#: includes/shortcodes/carousel.php:
|
1153 |
msgid "Specify animation speed"
|
1154 |
msgstr ""
|
1155 |
|
1156 |
-
#: includes/shortcodes/carousel.php:
|
1157 |
msgid "Customizable image carousel"
|
1158 |
msgstr ""
|
1159 |
|
1160 |
-
#: includes/shortcodes/carousel.php:
|
1161 |
msgid "images not found"
|
1162 |
msgstr ""
|
1163 |
|
@@ -1349,7 +1335,7 @@ msgstr ""
|
|
1349 |
msgid "Start the playback of the video automatically after the player load. May not work on some mobile OS versions"
|
1350 |
msgstr ""
|
1351 |
|
1352 |
-
#: includes/shortcodes/dailymotion.php:50, includes/shortcodes/lightbox-content.php:
|
1353 |
msgid "Background color"
|
1354 |
msgstr ""
|
1355 |
|
@@ -1413,6 +1399,328 @@ msgstr ""
|
|
1413 |
msgid "Dailymotion video"
|
1414 |
msgstr ""
|
1415 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1416 |
#: includes/shortcodes/divider.php:8
|
1417 |
msgid "Divider"
|
1418 |
msgstr ""
|
@@ -1469,7 +1777,7 @@ msgstr ""
|
|
1469 |
msgid "Height of the divider (in pixels)"
|
1470 |
msgstr ""
|
1471 |
|
1472 |
-
#: includes/shortcodes/divider.php:69, includes/shortcodes/heading.php:46, includes/shortcodes/lightbox-content.php:
|
1473 |
msgid "Margin"
|
1474 |
msgstr ""
|
1475 |
|
@@ -1541,10 +1849,6 @@ msgstr ""
|
|
1541 |
msgid "Image height"
|
1542 |
msgstr ""
|
1543 |
|
1544 |
-
#: includes/shortcodes/dummy-image.php:32, includes/shortcodes/posts.php:176
|
1545 |
-
msgid "Any"
|
1546 |
-
msgstr ""
|
1547 |
-
|
1548 |
#: includes/shortcodes/dummy-image.php:33
|
1549 |
msgid "Abstract"
|
1550 |
msgstr ""
|
@@ -1721,11 +2025,11 @@ msgstr ""
|
|
1721 |
msgid "Select the style for more/less link"
|
1722 |
msgstr ""
|
1723 |
|
1724 |
-
#: includes/shortcodes/expand.php:66, includes/shortcodes/frame.php:14, includes/shortcodes/heading.php:32, includes/shortcodes/image-carousel.php:88, includes/shortcodes/lightbox-content.php:
|
1725 |
msgid "Left"
|
1726 |
msgstr ""
|
1727 |
|
1728 |
-
#: includes/shortcodes/expand.php:68, includes/shortcodes/frame.php:16, includes/shortcodes/heading.php:34, includes/shortcodes/image-carousel.php:89, includes/shortcodes/lightbox-content.php:
|
1729 |
msgid "Right"
|
1730 |
msgstr ""
|
1731 |
|
@@ -1881,10 +2185,6 @@ msgstr ""
|
|
1881 |
msgid "Bottom margin (pixels)"
|
1882 |
msgstr ""
|
1883 |
|
1884 |
-
#: includes/shortcodes/heading.php:50
|
1885 |
-
msgid "HTML Anchor (ID)"
|
1886 |
-
msgstr ""
|
1887 |
-
|
1888 |
#: includes/shortcodes/heading.php:51
|
1889 |
msgid "Anchors lets you link directly to a heading on a page."
|
1890 |
msgstr ""
|
@@ -2149,64 +2449,84 @@ msgstr ""
|
|
2149 |
msgid "Styled label"
|
2150 |
msgstr ""
|
2151 |
|
2152 |
-
#: includes/shortcodes/lightbox-content.php:
|
2153 |
msgid "Lightbox content"
|
2154 |
msgstr ""
|
2155 |
|
2156 |
-
#: includes/shortcodes/lightbox-content.php:
|
2157 |
msgid "ID"
|
2158 |
msgstr ""
|
2159 |
|
2160 |
-
#: includes/shortcodes/lightbox-content.php:
|
2161 |
-
msgid "
|
2162 |
msgstr ""
|
2163 |
|
2164 |
-
#: includes/shortcodes/lightbox-content.php:
|
2165 |
-
msgid "
|
2166 |
msgstr ""
|
2167 |
|
2168 |
-
#: includes/shortcodes/lightbox-content.php:
|
2169 |
-
msgid "
|
2170 |
msgstr ""
|
2171 |
|
2172 |
-
#: includes/shortcodes/lightbox-content.php:
|
2173 |
-
msgid "
|
2174 |
msgstr ""
|
2175 |
|
2176 |
#: includes/shortcodes/lightbox-content.php:39
|
2177 |
-
msgid "
|
|
|
|
|
|
|
|
|
2178 |
msgstr ""
|
2179 |
|
2180 |
#: includes/shortcodes/lightbox-content.php:49
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2181 |
msgid "Text alignment"
|
2182 |
msgstr ""
|
2183 |
|
2184 |
-
#: includes/shortcodes/lightbox-content.php:
|
2185 |
msgid "Select the text alignment"
|
2186 |
msgstr ""
|
2187 |
|
2188 |
-
#: includes/shortcodes/lightbox-content.php:
|
2189 |
msgid "Pick a background color"
|
2190 |
msgstr ""
|
2191 |
|
2192 |
-
#: includes/shortcodes/lightbox-content.php:
|
2193 |
msgid "Pick a text color"
|
2194 |
msgstr ""
|
2195 |
|
2196 |
-
#: includes/shortcodes/lightbox-content.php:
|
2197 |
msgid "Adjust the shadow for content box"
|
2198 |
msgstr ""
|
2199 |
|
2200 |
-
#: includes/shortcodes/lightbox-content.php:
|
2201 |
msgid "Inline content"
|
2202 |
msgstr ""
|
2203 |
|
2204 |
-
#: includes/shortcodes/lightbox-content.php:
|
2205 |
msgid "Inline content for lightbox"
|
2206 |
msgstr ""
|
2207 |
|
2208 |
-
#: includes/shortcodes/lightbox-content.php:
|
2209 |
-
msgid "
|
2210 |
msgstr ""
|
2211 |
|
2212 |
#: includes/shortcodes/lightbox.php:17
|
@@ -2386,10 +2706,6 @@ msgstr ""
|
|
2386 |
msgid "This content will be shown after the value"
|
2387 |
msgstr ""
|
2388 |
|
2389 |
-
#: includes/shortcodes/meta.php:33, includes/shortcodes/post.php:17, includes/shortcodes/post.php:59, includes/shortcodes/posts.php:140
|
2390 |
-
msgid "Post ID"
|
2391 |
-
msgstr ""
|
2392 |
-
|
2393 |
#: includes/shortcodes/meta.php:34
|
2394 |
msgid "You can specify custom post ID. Leave this field empty to use an ID of the current post. Current post ID may not work in Live Preview mode"
|
2395 |
msgstr ""
|
@@ -2474,10 +2790,6 @@ msgstr ""
|
|
2474 |
msgid "The utility shortcode to display various post data, like post title, status or excerpt"
|
2475 |
msgstr ""
|
2476 |
|
2477 |
-
#: includes/shortcodes/post.php:18, includes/shortcodes/posts.php:141
|
2478 |
-
msgid "Post author"
|
2479 |
-
msgstr ""
|
2480 |
-
|
2481 |
#: includes/shortcodes/post.php:19, includes/shortcodes/post.php:20
|
2482 |
msgid "Post date"
|
2483 |
msgstr ""
|
@@ -2490,18 +2802,10 @@ msgstr ""
|
|
2490 |
msgid "Post content (Filtered)"
|
2491 |
msgstr ""
|
2492 |
|
2493 |
-
#: includes/shortcodes/post.php:23, includes/shortcodes/posts.php:142
|
2494 |
-
msgid "Post title"
|
2495 |
-
msgstr ""
|
2496 |
-
|
2497 |
#: includes/shortcodes/post.php:24
|
2498 |
msgid "Post excerpt"
|
2499 |
msgstr ""
|
2500 |
|
2501 |
-
#: includes/shortcodes/post.php:25, includes/shortcodes/posts.php:179
|
2502 |
-
msgid "Post status"
|
2503 |
-
msgstr ""
|
2504 |
-
|
2505 |
#: includes/shortcodes/post.php:26
|
2506 |
msgid "Comment status"
|
2507 |
msgstr ""
|
@@ -2518,18 +2822,10 @@ msgstr ""
|
|
2518 |
msgid "Post modified"
|
2519 |
msgstr ""
|
2520 |
|
2521 |
-
#: includes/shortcodes/post.php:31, includes/shortcodes/posts.php:146, includes/shortcodes/posts.php:159
|
2522 |
-
msgid "Post parent"
|
2523 |
-
msgstr ""
|
2524 |
-
|
2525 |
#: includes/shortcodes/post.php:32
|
2526 |
msgid "GUID"
|
2527 |
msgstr ""
|
2528 |
|
2529 |
-
#: includes/shortcodes/post.php:33, includes/shortcodes/posts.php:149
|
2530 |
-
msgid "Menu order"
|
2531 |
-
msgstr ""
|
2532 |
-
|
2533 |
#: includes/shortcodes/post.php:34, includes/shortcodes/post.php:65
|
2534 |
msgid "Post type"
|
2535 |
msgstr ""
|
@@ -2558,18 +2854,10 @@ msgstr ""
|
|
2558 |
msgid "Post type of the post you want to display the data from"
|
2559 |
msgstr ""
|
2560 |
|
2561 |
-
#: includes/shortcodes/post.php:
|
2562 |
msgid "invalid post ID"
|
2563 |
msgstr ""
|
2564 |
|
2565 |
-
#: includes/shortcodes/posts.php:8
|
2566 |
-
msgid "Posts"
|
2567 |
-
msgstr ""
|
2568 |
-
|
2569 |
-
#: includes/shortcodes/posts.php:15, includes/shortcodes/template.php:8
|
2570 |
-
msgid "Template"
|
2571 |
-
msgstr ""
|
2572 |
-
|
2573 |
#: includes/shortcodes/posts.php:16
|
2574 |
msgid "Relative path to the template file. Default templates placed in the plugin directory (templates folder). You can copy them under your theme directory and modify as you want. You can use following default templates that already available in the plugin directory:<br/><b%value>templates/default-loop.php</b> - posts loop<br/><b%value>templates/teaser-loop.php</b> - posts loop with thumbnail and title<br/><b%value>templates/single-post.php</b> - single post template<br/><b%value>templates/list-loop.php</b> - unordered list with posts titles"
|
2575 |
msgstr ""
|
@@ -2582,18 +2870,10 @@ msgstr ""
|
|
2582 |
msgid "Enter comma separated ID's of the posts that you want to show"
|
2583 |
msgstr ""
|
2584 |
|
2585 |
-
#: includes/shortcodes/posts.php:35
|
2586 |
-
msgid "Posts per page"
|
2587 |
-
msgstr ""
|
2588 |
-
|
2589 |
#: includes/shortcodes/posts.php:36
|
2590 |
msgid "Specify number of posts that you want to show. Enter -1 to get all posts"
|
2591 |
msgstr ""
|
2592 |
|
2593 |
-
#: includes/shortcodes/posts.php:46
|
2594 |
-
msgid "Post types"
|
2595 |
-
msgstr ""
|
2596 |
-
|
2597 |
#: includes/shortcodes/posts.php:47
|
2598 |
msgid "Select post types. Hold Ctrl key to select multiple post types"
|
2599 |
msgstr ""
|
@@ -2602,10 +2882,6 @@ msgstr ""
|
|
2602 |
msgid "Select taxonomy to show posts from"
|
2603 |
msgstr ""
|
2604 |
|
2605 |
-
#: includes/shortcodes/posts.php:67
|
2606 |
-
msgid "Terms"
|
2607 |
-
msgstr ""
|
2608 |
-
|
2609 |
#: includes/shortcodes/posts.php:68
|
2610 |
msgid "Select terms to show posts from"
|
2611 |
msgstr ""
|
@@ -2622,86 +2898,26 @@ msgstr ""
|
|
2622 |
msgid "AND - posts that have all selected terms"
|
2623 |
msgstr ""
|
2624 |
|
2625 |
-
#: includes/shortcodes/posts.php:87
|
2626 |
-
msgid "Taxonomy term operator"
|
2627 |
-
msgstr ""
|
2628 |
-
|
2629 |
#: includes/shortcodes/posts.php:88
|
2630 |
msgid "Operator to test"
|
2631 |
msgstr ""
|
2632 |
|
2633 |
-
#: includes/shortcodes/posts.php:100
|
2634 |
-
msgid "Authors"
|
2635 |
-
msgstr ""
|
2636 |
-
|
2637 |
#: includes/shortcodes/posts.php:101
|
2638 |
msgid "Enter here comma-separated list of author's IDs. Example: 1,7,18"
|
2639 |
msgstr ""
|
2640 |
|
2641 |
-
#: includes/shortcodes/posts.php:108
|
2642 |
-
msgid "Meta key"
|
2643 |
-
msgstr ""
|
2644 |
-
|
2645 |
#: includes/shortcodes/posts.php:109
|
2646 |
msgid "Enter meta key name to show posts that have this key"
|
2647 |
msgstr ""
|
2648 |
|
2649 |
-
#: includes/shortcodes/posts.php:120
|
2650 |
-
msgid "Offset"
|
2651 |
-
msgstr ""
|
2652 |
-
|
2653 |
#: includes/shortcodes/posts.php:121
|
2654 |
msgid "Specify offset to start posts loop not from first post"
|
2655 |
msgstr ""
|
2656 |
|
2657 |
-
#: includes/shortcodes/posts.php:129
|
2658 |
-
msgid "Descending"
|
2659 |
-
msgstr ""
|
2660 |
-
|
2661 |
-
#: includes/shortcodes/posts.php:130
|
2662 |
-
msgid "Ascending"
|
2663 |
-
msgstr ""
|
2664 |
-
|
2665 |
-
#: includes/shortcodes/posts.php:133
|
2666 |
-
msgid "Order"
|
2667 |
-
msgstr ""
|
2668 |
-
|
2669 |
#: includes/shortcodes/posts.php:134
|
2670 |
msgid "Posts order"
|
2671 |
msgstr ""
|
2672 |
|
2673 |
-
#: includes/shortcodes/posts.php:143
|
2674 |
-
msgid "Post slug"
|
2675 |
-
msgstr ""
|
2676 |
-
|
2677 |
-
#: includes/shortcodes/posts.php:144
|
2678 |
-
msgid "Date"
|
2679 |
-
msgstr ""
|
2680 |
-
|
2681 |
-
#: includes/shortcodes/posts.php:145
|
2682 |
-
msgid "Last modified date"
|
2683 |
-
msgstr ""
|
2684 |
-
|
2685 |
-
#: includes/shortcodes/posts.php:147
|
2686 |
-
msgid "Random"
|
2687 |
-
msgstr ""
|
2688 |
-
|
2689 |
-
#: includes/shortcodes/posts.php:148
|
2690 |
-
msgid "Comments number"
|
2691 |
-
msgstr ""
|
2692 |
-
|
2693 |
-
#: includes/shortcodes/posts.php:150
|
2694 |
-
msgid "Meta key values"
|
2695 |
-
msgstr ""
|
2696 |
-
|
2697 |
-
#: includes/shortcodes/posts.php:151
|
2698 |
-
msgid "Meta key values (Numeric)"
|
2699 |
-
msgstr ""
|
2700 |
-
|
2701 |
-
#: includes/shortcodes/posts.php:154
|
2702 |
-
msgid "Order by"
|
2703 |
-
msgstr ""
|
2704 |
-
|
2705 |
#: includes/shortcodes/posts.php:155
|
2706 |
msgid "Order posts by"
|
2707 |
msgstr ""
|
@@ -2710,62 +2926,14 @@ msgstr ""
|
|
2710 |
msgid "Show childrens of entered post (enter post ID)"
|
2711 |
msgstr ""
|
2712 |
|
2713 |
-
#: includes/shortcodes/posts.php:168
|
2714 |
-
msgid "Published"
|
2715 |
-
msgstr ""
|
2716 |
-
|
2717 |
-
#: includes/shortcodes/posts.php:169
|
2718 |
-
msgid "Pending"
|
2719 |
-
msgstr ""
|
2720 |
-
|
2721 |
-
#: includes/shortcodes/posts.php:170
|
2722 |
-
msgid "Draft"
|
2723 |
-
msgstr ""
|
2724 |
-
|
2725 |
-
#: includes/shortcodes/posts.php:171
|
2726 |
-
msgid "Auto-draft"
|
2727 |
-
msgstr ""
|
2728 |
-
|
2729 |
-
#: includes/shortcodes/posts.php:172
|
2730 |
-
msgid "Future post"
|
2731 |
-
msgstr ""
|
2732 |
-
|
2733 |
-
#: includes/shortcodes/posts.php:173
|
2734 |
-
msgid "Private post"
|
2735 |
-
msgstr ""
|
2736 |
-
|
2737 |
-
#: includes/shortcodes/posts.php:174
|
2738 |
-
msgid "Inherit"
|
2739 |
-
msgstr ""
|
2740 |
-
|
2741 |
-
#: includes/shortcodes/posts.php:175
|
2742 |
-
msgid "Trashed"
|
2743 |
-
msgstr ""
|
2744 |
-
|
2745 |
#: includes/shortcodes/posts.php:180
|
2746 |
msgid "Show only posts with selected status"
|
2747 |
msgstr ""
|
2748 |
|
2749 |
-
#: includes/shortcodes/posts.php:188
|
2750 |
-
msgid "Ignore sticky"
|
2751 |
-
msgstr ""
|
2752 |
-
|
2753 |
#: includes/shortcodes/posts.php:189
|
2754 |
msgid "Select Yes to ignore posts that is sticked"
|
2755 |
msgstr ""
|
2756 |
|
2757 |
-
#: includes/shortcodes/posts.php:195
|
2758 |
-
msgid "Custom posts query with customizable template"
|
2759 |
-
msgstr ""
|
2760 |
-
|
2761 |
-
#: includes/shortcodes/posts.php:232, includes/shortcodes/template.php:33
|
2762 |
-
msgid "invalid template name"
|
2763 |
-
msgstr ""
|
2764 |
-
|
2765 |
-
#: includes/shortcodes/posts.php:409
|
2766 |
-
msgid "template not found"
|
2767 |
-
msgstr ""
|
2768 |
-
|
2769 |
#: includes/shortcodes/private.php:7
|
2770 |
msgid "Private"
|
2771 |
msgstr ""
|
@@ -2994,39 +3162,40 @@ msgstr ""
|
|
2994 |
msgid "List of cureent page siblings"
|
2995 |
msgstr ""
|
2996 |
|
2997 |
-
|
2998 |
-
|
|
|
2999 |
msgstr ""
|
3000 |
|
3001 |
-
#: includes/shortcodes/slider.php:
|
3002 |
msgid "Slider width (in pixels)"
|
3003 |
msgstr ""
|
3004 |
|
3005 |
-
#: includes/shortcodes/slider.php:
|
3006 |
msgid "Slider height (in pixels)"
|
3007 |
msgstr ""
|
3008 |
|
3009 |
-
#: includes/shortcodes/slider.php:
|
3010 |
msgid "Ignore width and height parameters and make slider responsive"
|
3011 |
msgstr ""
|
3012 |
|
3013 |
-
#: includes/shortcodes/slider.php:
|
3014 |
msgid "Display slide titles"
|
3015 |
msgstr ""
|
3016 |
|
3017 |
-
#: includes/shortcodes/slider.php:
|
3018 |
msgid "Is slider centered on the page"
|
3019 |
msgstr ""
|
3020 |
|
3021 |
-
#: includes/shortcodes/slider.php:
|
3022 |
msgid "Allow to change slides with mouse wheel"
|
3023 |
msgstr ""
|
3024 |
|
3025 |
-
#: includes/shortcodes/slider.php:
|
3026 |
msgid "Choose interval between slide animations. Set to 0 to disable autoplay"
|
3027 |
msgstr ""
|
3028 |
|
3029 |
-
#: includes/shortcodes/slider.php:
|
3030 |
msgid "Customizable image slider"
|
3031 |
msgstr ""
|
3032 |
|
@@ -3256,10 +3425,6 @@ msgstr ""
|
|
3256 |
msgid "Tab title"
|
3257 |
msgstr ""
|
3258 |
|
3259 |
-
#: includes/shortcodes/tabs.php:86
|
3260 |
-
msgid "Disabled"
|
3261 |
-
msgstr ""
|
3262 |
-
|
3263 |
#: includes/shortcodes/tabs.php:87
|
3264 |
msgid "Is this tab disabled"
|
3265 |
msgstr ""
|
@@ -3276,10 +3441,6 @@ msgstr ""
|
|
3276 |
msgid "Choose how to open the custom tab link"
|
3277 |
msgstr ""
|
3278 |
|
3279 |
-
#: includes/shortcodes/template.php:14
|
3280 |
-
msgid "Template name"
|
3281 |
-
msgstr ""
|
3282 |
-
|
3283 |
#. translators: %1$s, %2$s, %3$s – example values for the shortcode attribute
|
3284 |
#: includes/shortcodes/template.php:16
|
3285 |
msgid "Use template file name (with optional .php extension). If you need to use templates from theme sub-folder, use relative path. Example values: %1$s, %2$s, %3$s"
|
@@ -3894,3 +4055,23 @@ msgstr ""
|
|
3894 |
#: admin/partials/settings/fields/css.php:62
|
3895 |
msgid "Help article"
|
3896 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
msgid "Content slider"
|
79 |
msgstr ""
|
80 |
|
81 |
+
#: admin/class-shortcodes-ultimate-admin-extra-shortcodes.php:126, includes/shortcodes/lightbox-content.php:104, includes/shortcodes/tooltip.php:46
|
82 |
msgid "Shadow"
|
83 |
msgstr ""
|
84 |
|
174 |
msgid "Available shortcodes"
|
175 |
msgstr ""
|
176 |
|
177 |
+
#: admin/class-shortcodes-ultimate-admin-shortcodes.php:88, admin/class-shortcodes-ultimate-admin-top-level.php:39, admin/class-shortcodes-ultimate-admin.php:267, includes/functions-galleries.php:289, inc/core/widget.php:14, inc/core/widget.php:40, admin/partials/help/sidebar.php:3
|
178 |
msgid "Shortcodes Ultimate"
|
179 |
msgstr ""
|
180 |
|
186 |
msgid "Media file IDs"
|
187 |
msgstr ""
|
188 |
|
189 |
+
#: admin/class-shortcodes-ultimate-admin-shortcodes.php:393, includes/shortcodes/display-posts.php:37
|
190 |
msgid "Post IDs"
|
191 |
msgstr ""
|
192 |
|
193 |
+
#: admin/class-shortcodes-ultimate-admin-shortcodes.php:394, inc/core/generator-views.php:149, includes/shortcodes/image-carousel.php:20
|
194 |
msgid "Recent posts"
|
195 |
msgstr ""
|
196 |
|
246 |
msgid "Fork Awesome icon name (with \"icon:\" prefix) or image URL"
|
247 |
msgstr ""
|
248 |
|
249 |
+
#: admin/class-shortcodes-ultimate-admin-shortcodes.php:412, includes/shortcodes/lightbox-content.php:30, includes/shortcodes/lightbox-content.php:40, includes/shortcodes/lightbox-content.php:50
|
250 |
msgid "Examples"
|
251 |
msgstr ""
|
252 |
|
272 |
msgid "Shortcodes Ultimate is not activated, because it requires WordPress version %1$s (or higher). You have version %2$s."
|
273 |
msgstr ""
|
274 |
|
275 |
+
#: includes/functions-galleries.php:250
|
276 |
msgid "Original image size"
|
277 |
msgstr ""
|
278 |
|
279 |
+
#: includes/functions-galleries.php:284
|
280 |
msgid "Slide link"
|
281 |
msgstr ""
|
282 |
|
283 |
+
#: includes/functions-galleries.php:290
|
284 |
msgid "Use this field to add custom links to slides used with Slider, Carousel and Custom Gallery shortcodes"
|
285 |
msgstr ""
|
286 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
287 |
#: inc/core/assets.php:83
|
288 |
msgid "Choose file"
|
289 |
msgstr ""
|
345 |
msgid "Open link"
|
346 |
msgstr ""
|
347 |
|
348 |
+
#: inc/core/generator-views.php:53
|
349 |
+
msgctxt "shortcodes-ultimate"
|
350 |
+
msgid "Any post type"
|
351 |
+
msgstr ""
|
352 |
+
|
353 |
+
#: inc/core/generator-views.php:95
|
354 |
msgid "Yes"
|
355 |
msgstr ""
|
356 |
|
357 |
+
#: inc/core/generator-views.php:95
|
358 |
msgid "No"
|
359 |
msgstr ""
|
360 |
|
361 |
+
#: inc/core/generator-views.php:100, inc/core/generator-views.php:100, inc/core/generator-views.php:105, inc/core/generator-views.php:105
|
362 |
msgid "Media manager"
|
363 |
msgstr ""
|
364 |
|
365 |
+
#: inc/core/generator-views.php:105, inc/core/generator-views.php:105
|
366 |
msgid "Icon picker"
|
367 |
msgstr ""
|
368 |
|
369 |
+
#: inc/core/generator-views.php:105
|
370 |
msgid "Filter icons"
|
371 |
msgstr ""
|
372 |
|
373 |
+
#: inc/core/generator-views.php:126
|
374 |
msgid "Horizontal offset"
|
375 |
msgstr ""
|
376 |
|
377 |
+
#: inc/core/generator-views.php:126
|
378 |
msgid "Vertical offset"
|
379 |
msgstr ""
|
380 |
|
381 |
+
#: inc/core/generator-views.php:126
|
382 |
msgid "Blur"
|
383 |
msgstr ""
|
384 |
|
385 |
+
#: inc/core/generator-views.php:126, includes/shortcodes/box.php:35
|
386 |
msgid "Color"
|
387 |
msgstr ""
|
388 |
|
389 |
+
#: inc/core/generator-views.php:137
|
390 |
msgid "Border width"
|
391 |
msgstr ""
|
392 |
|
393 |
+
#: inc/core/generator-views.php:137
|
394 |
msgid "Border style"
|
395 |
msgstr ""
|
396 |
|
397 |
+
#: inc/core/generator-views.php:137
|
398 |
msgid "Border color"
|
399 |
msgstr ""
|
400 |
|
401 |
+
#: inc/core/generator-views.php:148, includes/shortcodes/image-carousel.php:18
|
402 |
msgid "Media library"
|
403 |
msgstr ""
|
404 |
|
405 |
+
#: inc/core/generator-views.php:150, includes/shortcodes/display-posts.php:61, includes/shortcodes/image-carousel.php:21, includes/shortcodes/posts.php:56
|
406 |
msgid "Taxonomy"
|
407 |
msgstr ""
|
408 |
|
409 |
+
#: inc/core/generator-views.php:157
|
410 |
msgid "Select images source"
|
411 |
msgstr ""
|
412 |
|
413 |
+
#: inc/core/generator-views.php:168
|
414 |
msgid "Select taxonomy"
|
415 |
msgstr ""
|
416 |
|
417 |
+
#: inc/core/generator-views.php:179
|
418 |
msgid "Add images"
|
419 |
msgstr ""
|
420 |
|
421 |
+
#: inc/core/generator-views.php:179
|
422 |
msgid "Click the button above and select images.<br>You can select multimple images with Ctrl (Cmd) key"
|
423 |
msgstr ""
|
424 |
|
425 |
+
#: inc/core/generator-views.php:179
|
426 |
msgid "Select categories to retrieve posts from.<br>You can select multiple categories with Ctrl (Cmd) key"
|
427 |
msgstr ""
|
428 |
|
429 |
+
#: inc/core/generator-views.php:179
|
430 |
msgid "Select taxonomy and it's terms.<br>You can select multiple terms with Ctrl (Cmd) key"
|
431 |
msgstr ""
|
432 |
|
550 |
msgid "Add more style to your shortcodes"
|
551 |
msgstr ""
|
552 |
|
553 |
+
#: includes/config/borders.php:6, includes/shortcodes/carousel.php:36, includes/shortcodes/custom-gallery.php:30, includes/shortcodes/display-posts.php:114, includes/shortcodes/image-carousel.php:87, includes/shortcodes/image-carousel.php:130, includes/shortcodes/posts.php:139, includes/shortcodes/qrcode.php:43, includes/shortcodes/slider.php:36
|
554 |
msgid "None"
|
555 |
msgstr ""
|
556 |
|
630 |
msgid "Accordion"
|
631 |
msgstr ""
|
632 |
|
633 |
+
#: includes/shortcodes/accordion.php:14, includes/shortcodes/animate.php:44, includes/shortcodes/audio.php:37, includes/shortcodes/box.php:56, includes/shortcodes/button.php:144, includes/shortcodes/carousel.php:143, includes/shortcodes/column.php:40, includes/shortcodes/csv-table.php:52, includes/shortcodes/custom-gallery.php:82, includes/shortcodes/dailymotion.php:103, includes/shortcodes/display-posts.php:223, includes/shortcodes/divider.php:74, includes/shortcodes/document.php:50, includes/shortcodes/dropcap.php:33, includes/shortcodes/dummy-image.php:53, includes/shortcodes/dummy-text.php:46, includes/shortcodes/expand.php:88, includes/shortcodes/feed.php:39, includes/shortcodes/frame.php:25, includes/shortcodes/gmap.php:58, includes/shortcodes/guests.php:13, includes/shortcodes/heading.php:56, includes/shortcodes/highlight.php:26, includes/shortcodes/image-carousel.php:187, includes/shortcodes/label.php:27, includes/shortcodes/lightbox-content.php:109, includes/shortcodes/lightbox.php:38, includes/shortcodes/list.php:35, includes/shortcodes/members.php:35, includes/shortcodes/menu.php:18, includes/shortcodes/note.php:37, includes/shortcodes/permalink.php:38, includes/shortcodes/private.php:13, includes/shortcodes/pullquote.php:22, includes/shortcodes/qrcode.php:81, includes/shortcodes/quote.php:34, includes/shortcodes/row.php:15, includes/shortcodes/service.php:41, includes/shortcodes/siblings.php:19, includes/shortcodes/slider.php:124, includes/shortcodes/spacer.php:22, includes/shortcodes/spoiler.php:61, includes/shortcodes/subpages.php:25, includes/shortcodes/table.php:34, includes/shortcodes/tabs.php:52, includes/shortcodes/tabs.php:111, includes/shortcodes/tooltip.php:99, includes/shortcodes/video.php:67, includes/shortcodes/vimeo.php:71, includes/shortcodes/youtube-advanced.php:134, includes/shortcodes/youtube.php:60
|
634 |
msgid "Extra CSS class"
|
635 |
msgstr ""
|
636 |
|
637 |
+
#: includes/shortcodes/accordion.php:15, includes/shortcodes/animate.php:45, includes/shortcodes/audio.php:38, includes/shortcodes/box.php:57, includes/shortcodes/button.php:145, includes/shortcodes/carousel.php:144, includes/shortcodes/column.php:41, includes/shortcodes/csv-table.php:53, includes/shortcodes/custom-gallery.php:83, includes/shortcodes/dailymotion.php:104, includes/shortcodes/display-posts.php:224, includes/shortcodes/divider.php:75, includes/shortcodes/document.php:51, includes/shortcodes/dropcap.php:34, includes/shortcodes/dummy-image.php:54, includes/shortcodes/dummy-text.php:47, includes/shortcodes/expand.php:89, includes/shortcodes/feed.php:40, includes/shortcodes/gmap.php:59, includes/shortcodes/guests.php:14, includes/shortcodes/heading.php:57, includes/shortcodes/highlight.php:27, includes/shortcodes/image-carousel.php:188, includes/shortcodes/label.php:28, includes/shortcodes/lightbox-content.php:110, includes/shortcodes/lightbox.php:39, includes/shortcodes/list.php:36, includes/shortcodes/members.php:36, includes/shortcodes/menu.php:19, includes/shortcodes/note.php:38, includes/shortcodes/permalink.php:39, includes/shortcodes/private.php:14, includes/shortcodes/pullquote.php:23, includes/shortcodes/qrcode.php:82, includes/shortcodes/quote.php:35, includes/shortcodes/row.php:16, includes/shortcodes/service.php:42, includes/shortcodes/siblings.php:20, includes/shortcodes/slider.php:125, includes/shortcodes/spacer.php:23, includes/shortcodes/spoiler.php:62, includes/shortcodes/subpages.php:26, includes/shortcodes/table.php:35, includes/shortcodes/tabs.php:53, includes/shortcodes/tabs.php:112, includes/shortcodes/tooltip.php:100, includes/shortcodes/video.php:68, includes/shortcodes/vimeo.php:72, includes/shortcodes/youtube-advanced.php:135, includes/shortcodes/youtube.php:61
|
638 |
msgid "Additional CSS class name(s) separated by space(s)"
|
639 |
msgstr ""
|
640 |
|
698 |
msgid "Audio file url. Supported formats: mp3, ogg"
|
699 |
msgstr ""
|
700 |
|
701 |
+
#: includes/shortcodes/audio.php:20, includes/shortcodes/carousel.php:63, includes/shortcodes/custom-gallery.php:57, includes/shortcodes/dailymotion.php:23, includes/shortcodes/document.php:25, includes/shortcodes/dummy-image.php:17, includes/shortcodes/gmap.php:18, includes/shortcodes/lightbox-content.php:26, includes/shortcodes/slider.php:63, includes/shortcodes/video.php:35, includes/shortcodes/vimeo.php:23, includes/shortcodes/youtube-advanced.php:29, includes/shortcodes/youtube.php:23
|
702 |
msgid "Width"
|
703 |
msgstr ""
|
704 |
|
706 |
msgid "Player width. You can specify width in percents and player will be responsive. Example values: <b%value>200px</b>, <b%value>100%</b>"
|
707 |
msgstr ""
|
708 |
|
709 |
+
#: includes/shortcodes/audio.php:26, includes/shortcodes/carousel.php:130, includes/shortcodes/dailymotion.php:44, includes/shortcodes/image-carousel.php:157, includes/shortcodes/slider.php:111, includes/shortcodes/video.php:56, includes/shortcodes/vimeo.php:44, includes/shortcodes/youtube-advanced.php:72, includes/shortcodes/youtube.php:44
|
710 |
msgid "Autoplay"
|
711 |
msgstr ""
|
712 |
|
822 |
msgid "Button link"
|
823 |
msgstr ""
|
824 |
|
825 |
+
#: includes/shortcodes/button.php:21, includes/shortcodes/carousel.php:50, includes/shortcodes/custom-gallery.php:44, includes/shortcodes/feed.php:30, includes/shortcodes/image-carousel.php:144, includes/shortcodes/permalink.php:19, includes/shortcodes/qrcode.php:60, includes/shortcodes/slider.php:50, includes/shortcodes/tabs.php:102
|
826 |
msgid "Open in same tab"
|
827 |
msgstr ""
|
828 |
|
829 |
+
#: includes/shortcodes/button.php:22, includes/shortcodes/carousel.php:51, includes/shortcodes/custom-gallery.php:45, includes/shortcodes/feed.php:31, includes/shortcodes/image-carousel.php:145, includes/shortcodes/permalink.php:20, includes/shortcodes/qrcode.php:61, includes/shortcodes/slider.php:51, includes/shortcodes/tabs.php:103
|
830 |
msgid "Open in new tab"
|
831 |
msgstr ""
|
832 |
|
866 |
msgid "Button background color"
|
867 |
msgstr ""
|
868 |
|
869 |
+
#: includes/shortcodes/button.php:56, includes/shortcodes/expand.php:40, includes/shortcodes/highlight.php:22, includes/shortcodes/lightbox-content.php:92, includes/shortcodes/lightbox-content.php:98, includes/shortcodes/note.php:23
|
870 |
msgid "Text color"
|
871 |
msgstr ""
|
872 |
|
986 |
msgid "Styled button"
|
987 |
msgstr ""
|
988 |
|
989 |
+
#. translators: Dep. – Deprecated
|
990 |
+
#: includes/shortcodes/carousel.php:9
|
991 |
+
msgid "Carousel (Dep.)"
|
992 |
msgstr ""
|
993 |
|
994 |
+
#: includes/shortcodes/carousel.php:14, includes/shortcodes/slider.php:14
|
995 |
msgid "There is a much better shortcode for your images. Have you already tried the Image Carousel? It can create both sliders and carousels."
|
996 |
msgstr ""
|
997 |
|
998 |
+
#: includes/shortcodes/carousel.php:15, includes/shortcodes/slider.php:15
|
999 |
msgid "Switch to Image Carousel"
|
1000 |
msgstr ""
|
1001 |
|
1002 |
+
#: includes/shortcodes/carousel.php:21, includes/shortcodes/custom-gallery.php:15, includes/shortcodes/slider.php:21
|
1003 |
msgid "Source"
|
1004 |
msgstr ""
|
1005 |
|
1006 |
+
#: includes/shortcodes/carousel.php:22, includes/shortcodes/custom-gallery.php:16, includes/shortcodes/slider.php:22
|
1007 |
msgid "Choose images source. You can use images from Media library or retrieve it from posts (thumbnails) posted under specified blog category. You can also pick any custom taxonomy"
|
1008 |
msgstr ""
|
1009 |
|
1010 |
+
#: includes/shortcodes/carousel.php:30, includes/shortcodes/custom-gallery.php:24, includes/shortcodes/feed.php:24, includes/shortcodes/image-carousel.php:32, includes/shortcodes/slider.php:30
|
1011 |
msgid "Limit"
|
1012 |
msgstr ""
|
1013 |
|
1014 |
+
#: includes/shortcodes/carousel.php:31, includes/shortcodes/custom-gallery.php:25, includes/shortcodes/slider.php:31
|
1015 |
msgid "Maximum number of image source posts (for recent posts, category and custom taxonomy)"
|
1016 |
msgstr ""
|
1017 |
|
1018 |
+
#: includes/shortcodes/carousel.php:37, includes/shortcodes/custom-gallery.php:31, includes/shortcodes/image-carousel.php:131, includes/shortcodes/slider.php:37
|
1019 |
msgid "Full-size image"
|
1020 |
msgstr ""
|
1021 |
|
1022 |
+
#: includes/shortcodes/carousel.php:38, includes/shortcodes/custom-gallery.php:32, includes/shortcodes/image-carousel.php:132, includes/shortcodes/lightbox.php:8, includes/shortcodes/slider.php:38
|
1023 |
msgid "Lightbox"
|
1024 |
msgstr ""
|
1025 |
|
1026 |
+
#: includes/shortcodes/carousel.php:39, includes/shortcodes/custom-gallery.php:33, includes/shortcodes/slider.php:39
|
1027 |
msgid "Slide link (added in media editor)"
|
1028 |
msgstr ""
|
1029 |
|
1030 |
+
#: includes/shortcodes/carousel.php:40, includes/shortcodes/custom-gallery.php:34, includes/shortcodes/image-carousel.php:134, includes/shortcodes/slider.php:40
|
1031 |
msgid "Attachment page"
|
1032 |
msgstr ""
|
1033 |
|
1034 |
+
#: includes/shortcodes/carousel.php:41, includes/shortcodes/custom-gallery.php:35, includes/shortcodes/image-carousel.php:135, includes/shortcodes/slider.php:41
|
1035 |
msgid "Post permalink"
|
1036 |
msgstr ""
|
1037 |
|
1038 |
+
#: includes/shortcodes/carousel.php:44, includes/shortcodes/custom-gallery.php:38, includes/shortcodes/slider.php:44
|
1039 |
msgid "Links"
|
1040 |
msgstr ""
|
1041 |
|
1042 |
+
#: includes/shortcodes/carousel.php:45, includes/shortcodes/custom-gallery.php:39, includes/shortcodes/slider.php:45
|
1043 |
msgid "Select which links will be used for images in this gallery"
|
1044 |
msgstr ""
|
1045 |
|
1046 |
+
#: includes/shortcodes/carousel.php:54, includes/shortcodes/custom-gallery.php:48, includes/shortcodes/feed.php:34, includes/shortcodes/image-carousel.php:148, includes/shortcodes/slider.php:54
|
1047 |
msgid "Links target"
|
1048 |
msgstr ""
|
1049 |
|
1050 |
+
#: includes/shortcodes/carousel.php:55, includes/shortcodes/custom-gallery.php:49, includes/shortcodes/slider.php:55
|
1051 |
msgid "Open links in"
|
1052 |
msgstr ""
|
1053 |
|
1054 |
+
#: includes/shortcodes/carousel.php:64
|
1055 |
msgid "Carousel width (in pixels)"
|
1056 |
msgstr ""
|
1057 |
|
1058 |
+
#: includes/shortcodes/carousel.php:72, includes/shortcodes/custom-gallery.php:66, includes/shortcodes/dailymotion.php:32, includes/shortcodes/document.php:34, includes/shortcodes/dummy-image.php:26, includes/shortcodes/expand.php:27, includes/shortcodes/gmap.php:27, includes/shortcodes/slider.php:71, includes/shortcodes/spacer.php:17, includes/shortcodes/video.php:44, includes/shortcodes/vimeo.php:32, includes/shortcodes/youtube-advanced.php:38, includes/shortcodes/youtube.php:32
|
1059 |
msgid "Height"
|
1060 |
msgstr ""
|
1061 |
|
1062 |
+
#: includes/shortcodes/carousel.php:73
|
1063 |
msgid "Carousel height (in pixels)"
|
1064 |
msgstr ""
|
1065 |
|
1066 |
+
#: includes/shortcodes/carousel.php:78, includes/shortcodes/csv-table.php:35, includes/shortcodes/dailymotion.php:38, includes/shortcodes/document.php:40, includes/shortcodes/gmap.php:33, includes/shortcodes/slider.php:76, includes/shortcodes/table.php:17, includes/shortcodes/vimeo.php:38, includes/shortcodes/youtube-advanced.php:44, includes/shortcodes/youtube.php:38
|
1067 |
msgid "Responsive"
|
1068 |
msgstr ""
|
1069 |
|
1070 |
+
#: includes/shortcodes/carousel.php:79
|
1071 |
msgid "Ignore width and height parameters and make carousel responsive"
|
1072 |
msgstr ""
|
1073 |
|
1074 |
+
#: includes/shortcodes/carousel.php:87
|
1075 |
msgid "Items to show"
|
1076 |
msgstr ""
|
1077 |
|
1078 |
+
#: includes/shortcodes/carousel.php:88
|
1079 |
msgid "How much carousel items is visible"
|
1080 |
msgstr ""
|
1081 |
|
1082 |
+
#: includes/shortcodes/carousel.php:95
|
1083 |
msgid "Scroll number"
|
1084 |
msgstr ""
|
1085 |
|
1086 |
+
#: includes/shortcodes/carousel.php:96
|
1087 |
msgid "How much items are scrolled in one transition"
|
1088 |
msgstr ""
|
1089 |
|
1090 |
+
#: includes/shortcodes/carousel.php:101, includes/shortcodes/custom-gallery.php:77, includes/shortcodes/slider.php:82
|
1091 |
msgid "Show titles"
|
1092 |
msgstr ""
|
1093 |
|
1094 |
+
#: includes/shortcodes/carousel.php:101
|
1095 |
msgid "Display titles for each item"
|
1096 |
msgstr ""
|
1097 |
|
1098 |
+
#: includes/shortcodes/carousel.php:106, includes/shortcodes/expand.php:67, includes/shortcodes/frame.php:15, includes/shortcodes/heading.php:33, includes/shortcodes/image-carousel.php:90, includes/shortcodes/lightbox-content.php:76, includes/shortcodes/qrcode.php:45, includes/shortcodes/slider.php:87
|
1099 |
msgid "Center"
|
1100 |
msgstr ""
|
1101 |
|
1102 |
+
#: includes/shortcodes/carousel.php:106
|
1103 |
msgid "Is carousel centered on the page"
|
1104 |
msgstr ""
|
1105 |
|
1106 |
+
#: includes/shortcodes/carousel.php:111, includes/shortcodes/slider.php:92
|
1107 |
msgid "Arrows"
|
1108 |
msgstr ""
|
1109 |
|
1110 |
+
#: includes/shortcodes/carousel.php:111, includes/shortcodes/slider.php:92
|
1111 |
msgid "Show left and right arrows"
|
1112 |
msgstr ""
|
1113 |
|
1114 |
+
#: includes/shortcodes/carousel.php:116, includes/shortcodes/display-posts.php:197, includes/shortcodes/slider.php:97
|
1115 |
msgid "Pagination"
|
1116 |
msgstr ""
|
1117 |
|
1118 |
+
#: includes/shortcodes/carousel.php:117, includes/shortcodes/slider.php:98
|
1119 |
msgid "Show pagination"
|
1120 |
msgstr ""
|
1121 |
|
1122 |
+
#: includes/shortcodes/carousel.php:121, includes/shortcodes/slider.php:102
|
1123 |
msgid "Mouse wheel control"
|
1124 |
msgstr ""
|
1125 |
|
1126 |
+
#: includes/shortcodes/carousel.php:122
|
1127 |
msgid "Allow to rotate carousel with mouse wheel"
|
1128 |
msgstr ""
|
1129 |
|
1130 |
+
#: includes/shortcodes/carousel.php:131
|
1131 |
msgid "Choose interval between auto animations. Set to 0 to disable autoplay"
|
1132 |
msgstr ""
|
1133 |
|
1134 |
+
#: includes/shortcodes/carousel.php:139, includes/shortcodes/slider.php:120
|
1135 |
msgid "Speed"
|
1136 |
msgstr ""
|
1137 |
|
1138 |
+
#: includes/shortcodes/carousel.php:139, includes/shortcodes/slider.php:120
|
1139 |
msgid "Specify animation speed"
|
1140 |
msgstr ""
|
1141 |
|
1142 |
+
#: includes/shortcodes/carousel.php:148
|
1143 |
msgid "Customizable image carousel"
|
1144 |
msgstr ""
|
1145 |
|
1146 |
+
#: includes/shortcodes/carousel.php:238, includes/shortcodes/custom-gallery.php:162, includes/shortcodes/image-carousel.php:230, includes/shortcodes/slider.php:216
|
1147 |
msgid "images not found"
|
1148 |
msgstr ""
|
1149 |
|
1335 |
msgid "Start the playback of the video automatically after the player load. May not work on some mobile OS versions"
|
1336 |
msgstr ""
|
1337 |
|
1338 |
+
#: includes/shortcodes/dailymotion.php:50, includes/shortcodes/lightbox-content.php:86, includes/shortcodes/qrcode.php:76
|
1339 |
msgid "Background color"
|
1340 |
msgstr ""
|
1341 |
|
1399 |
msgid "Dailymotion video"
|
1400 |
msgstr ""
|
1401 |
|
1402 |
+
#: includes/shortcodes/display-posts.php:9, includes/shortcodes/posts.php:8
|
1403 |
+
msgid "Posts"
|
1404 |
+
msgstr ""
|
1405 |
+
|
1406 |
+
#: includes/shortcodes/display-posts.php:16, includes/shortcodes/posts.php:15, includes/shortcodes/template.php:8
|
1407 |
+
msgid "Template"
|
1408 |
+
msgstr ""
|
1409 |
+
|
1410 |
+
#: includes/shortcodes/display-posts.php:19, includes/shortcodes/template.php:14
|
1411 |
+
msgid "Template name"
|
1412 |
+
msgstr ""
|
1413 |
+
|
1414 |
+
#: includes/shortcodes/display-posts.php:20
|
1415 |
+
msgid "Available templates"
|
1416 |
+
msgstr ""
|
1417 |
+
|
1418 |
+
#: includes/shortcodes/display-posts.php:22
|
1419 |
+
msgid "default template with thumbnail, title, and excerpt"
|
1420 |
+
msgstr ""
|
1421 |
+
|
1422 |
+
#: includes/shortcodes/display-posts.php:24
|
1423 |
+
msgid "default template with various meta data"
|
1424 |
+
msgstr ""
|
1425 |
+
|
1426 |
+
#: includes/shortcodes/display-posts.php:26
|
1427 |
+
msgid "unordered list with post titles"
|
1428 |
+
msgstr ""
|
1429 |
+
|
1430 |
+
#: includes/shortcodes/display-posts.php:28
|
1431 |
+
msgid "small teasers containing post thumbnails and titles"
|
1432 |
+
msgstr ""
|
1433 |
+
|
1434 |
+
#: includes/shortcodes/display-posts.php:30
|
1435 |
+
msgid "single post template"
|
1436 |
+
msgstr ""
|
1437 |
+
|
1438 |
+
#: includes/shortcodes/display-posts.php:32
|
1439 |
+
msgid "How to create/edit a template"
|
1440 |
+
msgstr ""
|
1441 |
+
|
1442 |
+
#: includes/shortcodes/display-posts.php:38
|
1443 |
+
msgid "Comma separated list of post IDs to include"
|
1444 |
+
msgstr ""
|
1445 |
+
|
1446 |
+
#: includes/shortcodes/display-posts.php:46, includes/shortcodes/posts.php:35
|
1447 |
+
msgid "Posts per page"
|
1448 |
+
msgstr ""
|
1449 |
+
|
1450 |
+
#: includes/shortcodes/display-posts.php:47
|
1451 |
+
msgid "Number of posts that will be shown. Use -1 to display all posts."
|
1452 |
+
msgstr ""
|
1453 |
+
|
1454 |
+
#: includes/shortcodes/display-posts.php:54, includes/shortcodes/posts.php:46
|
1455 |
+
msgid "Post types"
|
1456 |
+
msgstr ""
|
1457 |
+
|
1458 |
+
#: includes/shortcodes/display-posts.php:55
|
1459 |
+
msgid "Filter posts by post type"
|
1460 |
+
msgstr ""
|
1461 |
+
|
1462 |
+
#: includes/shortcodes/display-posts.php:62
|
1463 |
+
msgid "Show posts associated with certain taxonomy"
|
1464 |
+
msgstr ""
|
1465 |
+
|
1466 |
+
#: includes/shortcodes/display-posts.php:69, includes/shortcodes/posts.php:67
|
1467 |
+
msgid "Terms"
|
1468 |
+
msgstr ""
|
1469 |
+
|
1470 |
+
#: includes/shortcodes/display-posts.php:70
|
1471 |
+
msgid "Show posts associated with specified taxonomy terms."
|
1472 |
+
msgstr ""
|
1473 |
+
|
1474 |
+
#: includes/shortcodes/display-posts.php:75
|
1475 |
+
msgid "IN - posts that have any of the selected terms"
|
1476 |
+
msgstr ""
|
1477 |
+
|
1478 |
+
#: includes/shortcodes/display-posts.php:79
|
1479 |
+
msgid "NOT IN - posts that do not have any of the selected terms"
|
1480 |
+
msgstr ""
|
1481 |
+
|
1482 |
+
#: includes/shortcodes/display-posts.php:83
|
1483 |
+
msgid "AND - posts that have all of the selected terms"
|
1484 |
+
msgstr ""
|
1485 |
+
|
1486 |
+
#: includes/shortcodes/display-posts.php:89, includes/shortcodes/posts.php:87
|
1487 |
+
msgid "Taxonomy term operator"
|
1488 |
+
msgstr ""
|
1489 |
+
|
1490 |
+
#: includes/shortcodes/display-posts.php:90
|
1491 |
+
msgid "Taxonomy terms operator"
|
1492 |
+
msgstr ""
|
1493 |
+
|
1494 |
+
#: includes/shortcodes/display-posts.php:94, includes/shortcodes/posts.php:100
|
1495 |
+
msgid "Authors"
|
1496 |
+
msgstr ""
|
1497 |
+
|
1498 |
+
#: includes/shortcodes/display-posts.php:95
|
1499 |
+
msgid "Comma separated list of author IDs"
|
1500 |
+
msgstr ""
|
1501 |
+
|
1502 |
+
#: includes/shortcodes/display-posts.php:99, includes/shortcodes/posts.php:108
|
1503 |
+
msgid "Meta key"
|
1504 |
+
msgstr ""
|
1505 |
+
|
1506 |
+
#: includes/shortcodes/display-posts.php:100
|
1507 |
+
msgid "Show posts associated with a certain custom field"
|
1508 |
+
msgstr ""
|
1509 |
+
|
1510 |
+
#: includes/shortcodes/display-posts.php:108, includes/shortcodes/posts.php:120
|
1511 |
+
msgid "Offset"
|
1512 |
+
msgstr ""
|
1513 |
+
|
1514 |
+
#: includes/shortcodes/display-posts.php:109
|
1515 |
+
msgid "Number of posts to displace or pass over. The offset parameter is ignored when posts_per_page=-1 (show all posts) is used."
|
1516 |
+
msgstr ""
|
1517 |
+
|
1518 |
+
#: includes/shortcodes/display-posts.php:115, includes/shortcodes/meta.php:33, includes/shortcodes/post.php:17, includes/shortcodes/post.php:59, includes/shortcodes/posts.php:140
|
1519 |
+
msgid "Post ID"
|
1520 |
+
msgstr ""
|
1521 |
+
|
1522 |
+
#: includes/shortcodes/display-posts.php:116, includes/shortcodes/post.php:18, includes/shortcodes/posts.php:141
|
1523 |
+
msgid "Post author"
|
1524 |
+
msgstr ""
|
1525 |
+
|
1526 |
+
#: includes/shortcodes/display-posts.php:117, includes/shortcodes/post.php:23, includes/shortcodes/posts.php:142
|
1527 |
+
msgid "Post title"
|
1528 |
+
msgstr ""
|
1529 |
+
|
1530 |
+
#: includes/shortcodes/display-posts.php:118, includes/shortcodes/posts.php:143
|
1531 |
+
msgid "Post slug"
|
1532 |
+
msgstr ""
|
1533 |
+
|
1534 |
+
#: includes/shortcodes/display-posts.php:119, includes/shortcodes/posts.php:144
|
1535 |
+
msgid "Date"
|
1536 |
+
msgstr ""
|
1537 |
+
|
1538 |
+
#: includes/shortcodes/display-posts.php:120, includes/shortcodes/posts.php:145
|
1539 |
+
msgid "Last modified date"
|
1540 |
+
msgstr ""
|
1541 |
+
|
1542 |
+
#: includes/shortcodes/display-posts.php:121, includes/shortcodes/display-posts.php:144, includes/shortcodes/post.php:31, includes/shortcodes/posts.php:146, includes/shortcodes/posts.php:159
|
1543 |
+
msgid "Post parent"
|
1544 |
+
msgstr ""
|
1545 |
+
|
1546 |
+
#: includes/shortcodes/display-posts.php:122, includes/shortcodes/posts.php:147
|
1547 |
+
msgid "Random"
|
1548 |
+
msgstr ""
|
1549 |
+
|
1550 |
+
#: includes/shortcodes/display-posts.php:123, includes/shortcodes/posts.php:148
|
1551 |
+
msgid "Comments number"
|
1552 |
+
msgstr ""
|
1553 |
+
|
1554 |
+
#: includes/shortcodes/display-posts.php:124, includes/shortcodes/post.php:33, includes/shortcodes/posts.php:149
|
1555 |
+
msgid "Menu order"
|
1556 |
+
msgstr ""
|
1557 |
+
|
1558 |
+
#: includes/shortcodes/display-posts.php:125, includes/shortcodes/posts.php:150
|
1559 |
+
msgid "Meta key values"
|
1560 |
+
msgstr ""
|
1561 |
+
|
1562 |
+
#: includes/shortcodes/display-posts.php:126, includes/shortcodes/posts.php:151
|
1563 |
+
msgid "Meta key values (Numeric)"
|
1564 |
+
msgstr ""
|
1565 |
+
|
1566 |
+
#: includes/shortcodes/display-posts.php:129, includes/shortcodes/posts.php:154
|
1567 |
+
msgid "Order by"
|
1568 |
+
msgstr ""
|
1569 |
+
|
1570 |
+
#: includes/shortcodes/display-posts.php:130
|
1571 |
+
msgid "Sort retrieved posts by parameter"
|
1572 |
+
msgstr ""
|
1573 |
+
|
1574 |
+
#: includes/shortcodes/display-posts.php:135, includes/shortcodes/posts.php:129
|
1575 |
+
msgid "Descending"
|
1576 |
+
msgstr ""
|
1577 |
+
|
1578 |
+
#: includes/shortcodes/display-posts.php:136, includes/shortcodes/posts.php:130
|
1579 |
+
msgid "Ascending"
|
1580 |
+
msgstr ""
|
1581 |
+
|
1582 |
+
#: includes/shortcodes/display-posts.php:139, includes/shortcodes/posts.php:133
|
1583 |
+
msgid "Order"
|
1584 |
+
msgstr ""
|
1585 |
+
|
1586 |
+
#: includes/shortcodes/display-posts.php:140
|
1587 |
+
msgid "Designates the ascending or descending order of the orderby parameter"
|
1588 |
+
msgstr ""
|
1589 |
+
|
1590 |
+
#. translators: %s will be replaced with clickable text "current"
|
1591 |
+
#: includes/shortcodes/display-posts.php:147
|
1592 |
+
msgid "Filter posts by post parent (use parent post ID). Use \"%s\" keyword to display childs of the current post."
|
1593 |
+
msgstr ""
|
1594 |
+
|
1595 |
+
#: includes/shortcodes/display-posts.php:154, includes/shortcodes/posts.php:168
|
1596 |
+
msgid "Published"
|
1597 |
+
msgstr ""
|
1598 |
+
|
1599 |
+
#: includes/shortcodes/display-posts.php:155, includes/shortcodes/posts.php:169
|
1600 |
+
msgid "Pending"
|
1601 |
+
msgstr ""
|
1602 |
+
|
1603 |
+
#: includes/shortcodes/display-posts.php:156, includes/shortcodes/posts.php:170
|
1604 |
+
msgid "Draft"
|
1605 |
+
msgstr ""
|
1606 |
+
|
1607 |
+
#: includes/shortcodes/display-posts.php:157, includes/shortcodes/posts.php:171
|
1608 |
+
msgid "Auto-draft"
|
1609 |
+
msgstr ""
|
1610 |
+
|
1611 |
+
#: includes/shortcodes/display-posts.php:158, includes/shortcodes/posts.php:172
|
1612 |
+
msgid "Future post"
|
1613 |
+
msgstr ""
|
1614 |
+
|
1615 |
+
#: includes/shortcodes/display-posts.php:159, includes/shortcodes/posts.php:173
|
1616 |
+
msgid "Private post"
|
1617 |
+
msgstr ""
|
1618 |
+
|
1619 |
+
#: includes/shortcodes/display-posts.php:160, includes/shortcodes/posts.php:174
|
1620 |
+
msgid "Inherit"
|
1621 |
+
msgstr ""
|
1622 |
+
|
1623 |
+
#: includes/shortcodes/display-posts.php:161, includes/shortcodes/posts.php:175
|
1624 |
+
msgid "Trashed"
|
1625 |
+
msgstr ""
|
1626 |
+
|
1627 |
+
#: includes/shortcodes/display-posts.php:162, includes/shortcodes/dummy-image.php:32, includes/shortcodes/posts.php:176
|
1628 |
+
msgid "Any"
|
1629 |
+
msgstr ""
|
1630 |
+
|
1631 |
+
#: includes/shortcodes/display-posts.php:165, includes/shortcodes/post.php:25, includes/shortcodes/posts.php:179
|
1632 |
+
msgid "Post status"
|
1633 |
+
msgstr ""
|
1634 |
+
|
1635 |
+
#: includes/shortcodes/display-posts.php:166
|
1636 |
+
msgid "Filter posts by status"
|
1637 |
+
msgstr ""
|
1638 |
+
|
1639 |
+
#: includes/shortcodes/display-posts.php:171, includes/shortcodes/posts.php:188
|
1640 |
+
msgid "Ignore sticky"
|
1641 |
+
msgstr ""
|
1642 |
+
|
1643 |
+
#: includes/shortcodes/display-posts.php:172
|
1644 |
+
msgid "Set this option to yes to ignore sticky posts"
|
1645 |
+
msgstr ""
|
1646 |
+
|
1647 |
+
#: includes/shortcodes/display-posts.php:176
|
1648 |
+
msgid "Exclude Posts"
|
1649 |
+
msgstr ""
|
1650 |
+
|
1651 |
+
#. translators: %s will be replaced with clickable text "current"
|
1652 |
+
#: includes/shortcodes/display-posts.php:179
|
1653 |
+
msgid "Comma separated list of post IDs to exclude. Use \"%s\" keyword to exclude the current post."
|
1654 |
+
msgstr ""
|
1655 |
+
|
1656 |
+
#: includes/shortcodes/display-posts.php:187
|
1657 |
+
msgid "Thumbnails quality (if applicable)"
|
1658 |
+
msgstr ""
|
1659 |
+
|
1660 |
+
#: includes/shortcodes/display-posts.php:188
|
1661 |
+
msgid "This option controls the size of thumbnail images. This option only affects image quality, not the actual thumbnail size."
|
1662 |
+
msgstr ""
|
1663 |
+
|
1664 |
+
#: includes/shortcodes/display-posts.php:193, includes/shortcodes/tabs.php:86
|
1665 |
+
msgid "Disabled"
|
1666 |
+
msgstr ""
|
1667 |
+
|
1668 |
+
#: includes/shortcodes/display-posts.php:194
|
1669 |
+
msgid "Previous/Next"
|
1670 |
+
msgstr ""
|
1671 |
+
|
1672 |
+
#: includes/shortcodes/display-posts.php:198
|
1673 |
+
msgid "This option controls pagination"
|
1674 |
+
msgstr ""
|
1675 |
+
|
1676 |
+
#: includes/shortcodes/display-posts.php:201
|
1677 |
+
msgid "Previous page"
|
1678 |
+
msgstr ""
|
1679 |
+
|
1680 |
+
#: includes/shortcodes/display-posts.php:202
|
1681 |
+
msgid "Previous page link label"
|
1682 |
+
msgstr ""
|
1683 |
+
|
1684 |
+
#: includes/shortcodes/display-posts.php:203
|
1685 |
+
msgid "Use this option to set a custom label for the previous page link."
|
1686 |
+
msgstr ""
|
1687 |
+
|
1688 |
+
#: includes/shortcodes/display-posts.php:206
|
1689 |
+
msgid "Next page"
|
1690 |
+
msgstr ""
|
1691 |
+
|
1692 |
+
#: includes/shortcodes/display-posts.php:207
|
1693 |
+
msgid "Next page link label"
|
1694 |
+
msgstr ""
|
1695 |
+
|
1696 |
+
#: includes/shortcodes/display-posts.php:208
|
1697 |
+
msgid "Use this option to set a custom label for the next page link."
|
1698 |
+
msgstr ""
|
1699 |
+
|
1700 |
+
#: includes/shortcodes/display-posts.php:213
|
1701 |
+
msgid "Achors in Pagination"
|
1702 |
+
msgstr ""
|
1703 |
+
|
1704 |
+
#: includes/shortcodes/display-posts.php:214
|
1705 |
+
msgid "Use this option to enable anchors in pagination links. As a result, after navigating to a new page, browser will scroll in the posts element."
|
1706 |
+
msgstr ""
|
1707 |
+
|
1708 |
+
#: includes/shortcodes/display-posts.php:217, includes/shortcodes/heading.php:50
|
1709 |
+
msgid "HTML Anchor (ID)"
|
1710 |
+
msgstr ""
|
1711 |
+
|
1712 |
+
#: includes/shortcodes/display-posts.php:218
|
1713 |
+
msgid "Anchors lets you link directly to an element on a page"
|
1714 |
+
msgstr ""
|
1715 |
+
|
1716 |
+
#: includes/shortcodes/display-posts.php:228, includes/shortcodes/posts.php:195
|
1717 |
+
msgid "Custom posts query with customizable template"
|
1718 |
+
msgstr ""
|
1719 |
+
|
1720 |
+
#: includes/shortcodes/display-posts.php:260, includes/shortcodes/posts.php:383, includes/shortcodes/template.php:33
|
1721 |
+
msgid "invalid template name"
|
1722 |
+
msgstr ""
|
1723 |
+
|
1724 |
#: includes/shortcodes/divider.php:8
|
1725 |
msgid "Divider"
|
1726 |
msgstr ""
|
1777 |
msgid "Height of the divider (in pixels)"
|
1778 |
msgstr ""
|
1779 |
|
1780 |
+
#: includes/shortcodes/divider.php:69, includes/shortcodes/heading.php:46, includes/shortcodes/lightbox-content.php:60, includes/shortcodes/qrcode.php:37
|
1781 |
msgid "Margin"
|
1782 |
msgstr ""
|
1783 |
|
1849 |
msgid "Image height"
|
1850 |
msgstr ""
|
1851 |
|
|
|
|
|
|
|
|
|
1852 |
#: includes/shortcodes/dummy-image.php:33
|
1853 |
msgid "Abstract"
|
1854 |
msgstr ""
|
2025 |
msgid "Select the style for more/less link"
|
2026 |
msgstr ""
|
2027 |
|
2028 |
+
#: includes/shortcodes/expand.php:66, includes/shortcodes/frame.php:14, includes/shortcodes/heading.php:32, includes/shortcodes/image-carousel.php:88, includes/shortcodes/lightbox-content.php:75, includes/shortcodes/pullquote.php:14, includes/shortcodes/qrcode.php:44, includes/shortcodes/tooltip.php:36
|
2029 |
msgid "Left"
|
2030 |
msgstr ""
|
2031 |
|
2032 |
+
#: includes/shortcodes/expand.php:68, includes/shortcodes/frame.php:16, includes/shortcodes/heading.php:34, includes/shortcodes/image-carousel.php:89, includes/shortcodes/lightbox-content.php:77, includes/shortcodes/pullquote.php:15, includes/shortcodes/qrcode.php:46, includes/shortcodes/tooltip.php:37
|
2033 |
msgid "Right"
|
2034 |
msgstr ""
|
2035 |
|
2185 |
msgid "Bottom margin (pixels)"
|
2186 |
msgstr ""
|
2187 |
|
|
|
|
|
|
|
|
|
2188 |
#: includes/shortcodes/heading.php:51
|
2189 |
msgid "Anchors lets you link directly to a heading on a page."
|
2190 |
msgstr ""
|
2449 |
msgid "Styled label"
|
2450 |
msgstr ""
|
2451 |
|
2452 |
+
#: includes/shortcodes/lightbox-content.php:8
|
2453 |
msgid "Lightbox content"
|
2454 |
msgstr ""
|
2455 |
|
2456 |
+
#: includes/shortcodes/lightbox-content.php:16, includes/shortcodes/permalink.php:13, includes/shortcodes/user.php:21
|
2457 |
msgid "ID"
|
2458 |
msgstr ""
|
2459 |
|
2460 |
+
#: includes/shortcodes/lightbox-content.php:19
|
2461 |
+
msgid "The ID of the element. Use the value from the Content source field of the lightbox shortcode."
|
2462 |
msgstr ""
|
2463 |
|
2464 |
+
#: includes/shortcodes/lightbox-content.php:20
|
2465 |
+
msgid "Example"
|
2466 |
msgstr ""
|
2467 |
|
2468 |
+
#: includes/shortcodes/lightbox-content.php:29
|
2469 |
+
msgid "The width of the element. CSS units are allowed."
|
2470 |
msgstr ""
|
2471 |
|
2472 |
+
#: includes/shortcodes/lightbox-content.php:36
|
2473 |
+
msgid "Min. Width"
|
2474 |
msgstr ""
|
2475 |
|
2476 |
#: includes/shortcodes/lightbox-content.php:39
|
2477 |
+
msgid "The minimum width of the element. CSS units are allowed."
|
2478 |
+
msgstr ""
|
2479 |
+
|
2480 |
+
#: includes/shortcodes/lightbox-content.php:46
|
2481 |
+
msgid "Max. Width"
|
2482 |
msgstr ""
|
2483 |
|
2484 |
#: includes/shortcodes/lightbox-content.php:49
|
2485 |
+
msgid "The maximum width of the element. CSS units are allowed."
|
2486 |
+
msgstr ""
|
2487 |
+
|
2488 |
+
#: includes/shortcodes/lightbox-content.php:61
|
2489 |
+
msgid "The outer spacing of the element (in pixels)"
|
2490 |
+
msgstr ""
|
2491 |
+
|
2492 |
+
#: includes/shortcodes/lightbox-content.php:69
|
2493 |
+
msgid "Padding"
|
2494 |
+
msgstr ""
|
2495 |
+
|
2496 |
+
#: includes/shortcodes/lightbox-content.php:70
|
2497 |
+
msgid "The inner spacing of the element (in pixels)"
|
2498 |
+
msgstr ""
|
2499 |
+
|
2500 |
+
#: includes/shortcodes/lightbox-content.php:80
|
2501 |
msgid "Text alignment"
|
2502 |
msgstr ""
|
2503 |
|
2504 |
+
#: includes/shortcodes/lightbox-content.php:81
|
2505 |
msgid "Select the text alignment"
|
2506 |
msgstr ""
|
2507 |
|
2508 |
+
#: includes/shortcodes/lightbox-content.php:87, includes/shortcodes/qrcode.php:77
|
2509 |
msgid "Pick a background color"
|
2510 |
msgstr ""
|
2511 |
|
2512 |
+
#: includes/shortcodes/lightbox-content.php:93, includes/shortcodes/lightbox-content.php:99
|
2513 |
msgid "Pick a text color"
|
2514 |
msgstr ""
|
2515 |
|
2516 |
+
#: includes/shortcodes/lightbox-content.php:105
|
2517 |
msgid "Adjust the shadow for content box"
|
2518 |
msgstr ""
|
2519 |
|
2520 |
+
#: includes/shortcodes/lightbox-content.php:114
|
2521 |
msgid "Inline content"
|
2522 |
msgstr ""
|
2523 |
|
2524 |
+
#: includes/shortcodes/lightbox-content.php:115
|
2525 |
msgid "Inline content for lightbox"
|
2526 |
msgstr ""
|
2527 |
|
2528 |
+
#: includes/shortcodes/lightbox-content.php:128
|
2529 |
+
msgid "invalid ID. Use the value from the Content source field of the lightbox shortcode."
|
2530 |
msgstr ""
|
2531 |
|
2532 |
#: includes/shortcodes/lightbox.php:17
|
2706 |
msgid "This content will be shown after the value"
|
2707 |
msgstr ""
|
2708 |
|
|
|
|
|
|
|
|
|
2709 |
#: includes/shortcodes/meta.php:34
|
2710 |
msgid "You can specify custom post ID. Leave this field empty to use an ID of the current post. Current post ID may not work in Live Preview mode"
|
2711 |
msgstr ""
|
2790 |
msgid "The utility shortcode to display various post data, like post title, status or excerpt"
|
2791 |
msgstr ""
|
2792 |
|
|
|
|
|
|
|
|
|
2793 |
#: includes/shortcodes/post.php:19, includes/shortcodes/post.php:20
|
2794 |
msgid "Post date"
|
2795 |
msgstr ""
|
2802 |
msgid "Post content (Filtered)"
|
2803 |
msgstr ""
|
2804 |
|
|
|
|
|
|
|
|
|
2805 |
#: includes/shortcodes/post.php:24
|
2806 |
msgid "Post excerpt"
|
2807 |
msgstr ""
|
2808 |
|
|
|
|
|
|
|
|
|
2809 |
#: includes/shortcodes/post.php:26
|
2810 |
msgid "Comment status"
|
2811 |
msgstr ""
|
2822 |
msgid "Post modified"
|
2823 |
msgstr ""
|
2824 |
|
|
|
|
|
|
|
|
|
2825 |
#: includes/shortcodes/post.php:32
|
2826 |
msgid "GUID"
|
2827 |
msgstr ""
|
2828 |
|
|
|
|
|
|
|
|
|
2829 |
#: includes/shortcodes/post.php:34, includes/shortcodes/post.php:65
|
2830 |
msgid "Post type"
|
2831 |
msgstr ""
|
2854 |
msgid "Post type of the post you want to display the data from"
|
2855 |
msgstr ""
|
2856 |
|
2857 |
+
#: includes/shortcodes/post.php:93
|
2858 |
msgid "invalid post ID"
|
2859 |
msgstr ""
|
2860 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2861 |
#: includes/shortcodes/posts.php:16
|
2862 |
msgid "Relative path to the template file. Default templates placed in the plugin directory (templates folder). You can copy them under your theme directory and modify as you want. You can use following default templates that already available in the plugin directory:<br/><b%value>templates/default-loop.php</b> - posts loop<br/><b%value>templates/teaser-loop.php</b> - posts loop with thumbnail and title<br/><b%value>templates/single-post.php</b> - single post template<br/><b%value>templates/list-loop.php</b> - unordered list with posts titles"
|
2863 |
msgstr ""
|
2870 |
msgid "Enter comma separated ID's of the posts that you want to show"
|
2871 |
msgstr ""
|
2872 |
|
|
|
|
|
|
|
|
|
2873 |
#: includes/shortcodes/posts.php:36
|
2874 |
msgid "Specify number of posts that you want to show. Enter -1 to get all posts"
|
2875 |
msgstr ""
|
2876 |
|
|
|
|
|
|
|
|
|
2877 |
#: includes/shortcodes/posts.php:47
|
2878 |
msgid "Select post types. Hold Ctrl key to select multiple post types"
|
2879 |
msgstr ""
|
2882 |
msgid "Select taxonomy to show posts from"
|
2883 |
msgstr ""
|
2884 |
|
|
|
|
|
|
|
|
|
2885 |
#: includes/shortcodes/posts.php:68
|
2886 |
msgid "Select terms to show posts from"
|
2887 |
msgstr ""
|
2898 |
msgid "AND - posts that have all selected terms"
|
2899 |
msgstr ""
|
2900 |
|
|
|
|
|
|
|
|
|
2901 |
#: includes/shortcodes/posts.php:88
|
2902 |
msgid "Operator to test"
|
2903 |
msgstr ""
|
2904 |
|
|
|
|
|
|
|
|
|
2905 |
#: includes/shortcodes/posts.php:101
|
2906 |
msgid "Enter here comma-separated list of author's IDs. Example: 1,7,18"
|
2907 |
msgstr ""
|
2908 |
|
|
|
|
|
|
|
|
|
2909 |
#: includes/shortcodes/posts.php:109
|
2910 |
msgid "Enter meta key name to show posts that have this key"
|
2911 |
msgstr ""
|
2912 |
|
|
|
|
|
|
|
|
|
2913 |
#: includes/shortcodes/posts.php:121
|
2914 |
msgid "Specify offset to start posts loop not from first post"
|
2915 |
msgstr ""
|
2916 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2917 |
#: includes/shortcodes/posts.php:134
|
2918 |
msgid "Posts order"
|
2919 |
msgstr ""
|
2920 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2921 |
#: includes/shortcodes/posts.php:155
|
2922 |
msgid "Order posts by"
|
2923 |
msgstr ""
|
2926 |
msgid "Show childrens of entered post (enter post ID)"
|
2927 |
msgstr ""
|
2928 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2929 |
#: includes/shortcodes/posts.php:180
|
2930 |
msgid "Show only posts with selected status"
|
2931 |
msgstr ""
|
2932 |
|
|
|
|
|
|
|
|
|
2933 |
#: includes/shortcodes/posts.php:189
|
2934 |
msgid "Select Yes to ignore posts that is sticked"
|
2935 |
msgstr ""
|
2936 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2937 |
#: includes/shortcodes/private.php:7
|
2938 |
msgid "Private"
|
2939 |
msgstr ""
|
3162 |
msgid "List of cureent page siblings"
|
3163 |
msgstr ""
|
3164 |
|
3165 |
+
#. translators: Dep. – Deprecated
|
3166 |
+
#: includes/shortcodes/slider.php:9
|
3167 |
+
msgid "Slider (Dep.)"
|
3168 |
msgstr ""
|
3169 |
|
3170 |
+
#: includes/shortcodes/slider.php:63
|
3171 |
msgid "Slider width (in pixels)"
|
3172 |
msgstr ""
|
3173 |
|
3174 |
+
#: includes/shortcodes/slider.php:71
|
3175 |
msgid "Slider height (in pixels)"
|
3176 |
msgstr ""
|
3177 |
|
3178 |
+
#: includes/shortcodes/slider.php:77
|
3179 |
msgid "Ignore width and height parameters and make slider responsive"
|
3180 |
msgstr ""
|
3181 |
|
3182 |
+
#: includes/shortcodes/slider.php:82
|
3183 |
msgid "Display slide titles"
|
3184 |
msgstr ""
|
3185 |
|
3186 |
+
#: includes/shortcodes/slider.php:87
|
3187 |
msgid "Is slider centered on the page"
|
3188 |
msgstr ""
|
3189 |
|
3190 |
+
#: includes/shortcodes/slider.php:103
|
3191 |
msgid "Allow to change slides with mouse wheel"
|
3192 |
msgstr ""
|
3193 |
|
3194 |
+
#: includes/shortcodes/slider.php:112
|
3195 |
msgid "Choose interval between slide animations. Set to 0 to disable autoplay"
|
3196 |
msgstr ""
|
3197 |
|
3198 |
+
#: includes/shortcodes/slider.php:129
|
3199 |
msgid "Customizable image slider"
|
3200 |
msgstr ""
|
3201 |
|
3425 |
msgid "Tab title"
|
3426 |
msgstr ""
|
3427 |
|
|
|
|
|
|
|
|
|
3428 |
#: includes/shortcodes/tabs.php:87
|
3429 |
msgid "Is this tab disabled"
|
3430 |
msgstr ""
|
3441 |
msgid "Choose how to open the custom tab link"
|
3442 |
msgstr ""
|
3443 |
|
|
|
|
|
|
|
|
|
3444 |
#. translators: %1$s, %2$s, %3$s – example values for the shortcode attribute
|
3445 |
#: includes/shortcodes/template.php:16
|
3446 |
msgid "Use template file name (with optional .php extension). If you need to use templates from theme sub-folder, use relative path. Example values: %1$s, %2$s, %3$s"
|
4055 |
#: admin/partials/settings/fields/css.php:62
|
4056 |
msgid "Help article"
|
4057 |
msgstr ""
|
4058 |
+
|
4059 |
+
#: includes/partials/shortcodes/posts/templates/default-loop.php:30, includes/partials/shortcodes/posts/templates/single-post.php:31
|
4060 |
+
msgid "Posted"
|
4061 |
+
msgstr ""
|
4062 |
+
|
4063 |
+
#: includes/partials/shortcodes/posts/templates/default-loop.php:38, includes/partials/shortcodes/posts/templates/single-post.php:33
|
4064 |
+
msgid "0 comments"
|
4065 |
+
msgstr ""
|
4066 |
+
|
4067 |
+
#: includes/partials/shortcodes/posts/templates/default-loop.php:38, includes/partials/shortcodes/posts/templates/single-post.php:33
|
4068 |
+
msgid "1 comment"
|
4069 |
+
msgstr ""
|
4070 |
+
|
4071 |
+
#: includes/partials/shortcodes/posts/templates/default-loop.php:46, includes/partials/shortcodes/posts/templates/list-loop.php:30, includes/partials/shortcodes/posts/templates/single-post.php:46, includes/partials/shortcodes/posts/templates/teaser-loop.php:29
|
4072 |
+
msgid "Posts not found"
|
4073 |
+
msgstr ""
|
4074 |
+
|
4075 |
+
#: includes/partials/shortcodes/posts/templates/single-post.php:33
|
4076 |
+
msgid "%n comments"
|
4077 |
+
msgstr ""
|
readme.txt
CHANGED
@@ -1,55 +1,54 @@
|
|
1 |
-
|
2 |
Contributors: gn_themes
|
3 |
License: GPLv3
|
4 |
Donate link: https://paypal.me/anovladimir
|
5 |
Tags: shortcode, toggle, columns, button, slider
|
6 |
Requires at least: 4.6
|
|
|
7 |
Requires PHP: 5.3
|
8 |
-
|
9 |
-
Stable tag: 5.8.1
|
10 |
|
11 |
A comprehensive collection of visual components for your site
|
12 |
|
13 |
|
14 |
-
|
15 |
|
16 |
[Shortcodes Ultimate](https://getshortcodes.com/?utm_campaign=wporg&utm_source=readme&utm_medium=description) is a comprehensive collection of various visual and functional elements, which you can use in the post editor, text widgets or even in template files. Using Shortcodes Ultimate you can easily create tabs, buttons, boxes, sliders and carousels, responsive videos and much, much more.
|
17 |
|
18 |
|
19 |
-
|
20 |
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
|
33 |
|
34 |
-
|
35 |
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
* [GitHub](https://github.com/vanokhin/shortcodes-ultimate)
|
42 |
|
43 |
|
44 |
-
|
45 |
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
|
51 |
|
52 |
-
|
53 |
|
54 |
`
|
55 |
Heading Tabs Spoiler Accordion
|
@@ -68,43 +67,26 @@ QR code Scheduler
|
|
68 |
`
|
69 |
|
70 |
|
71 |
-
|
72 |
|
73 |
-
* [Reviews by advanced users](https://getshortcodes.com/docs/external-resources/)
|
74 |
-
* Dmitry Semenov - [Magnific Popup jQuery plugin](http://dimsemenov.com/plugins/magnific-popup/)
|
75 |
-
* Craig Thompson - [qTip jQuery plugin](http://qtip2.com/)
|
76 |
-
* Vladimir Kharlampidi - [Swiper jQuery plugin](http://www.idangero.us/sliders/swiper/)
|
77 |
-
* David DeSandro - [Flickity – Touch, responsive, flickable carousels](https://flickity.metafizzy.co/)
|
78 |
-
* [Fork Awesome & Dave Gandy](https://github.com/ForkAwesome/Fork-Awesome)
|
79 |
-
* James Smith - [Simple Slider jQuery plugin](http://loopj.com/jquery-simple-slider/)
|
80 |
-
* pt_br locale: [Ibidem Translations](http://www.ibidem-translations.com/)
|
81 |
-
* fr_fr locale: [Nicolas Leclerc](http://etic-studio.fr/)
|
82 |
-
* el_gr locale: [Kleanthis Manolopoulos](mailto:akis_manolopoulos_at_hotmail_dot_com)
|
83 |
-
* sk_sk locale: [Patrik Žec (PATWIST)](http://patwist.com/)
|
84 |
-
* cs_cz locale: [Punc00](http://nuze.cz/)
|
85 |
-
* sv_se locale: [Javier Marcilla](http://ninjaseo.es/)
|
86 |
|
|
|
87 |
|
88 |
-
|
|
|
|
|
89 |
|
90 |
-
|
91 |
|
92 |
-
1. Navigate to `Dashboard` ▸ `Plugins` ▸ `Add New`;
|
93 |
-
2. Search for `Shortcodes Ultimate`;
|
94 |
-
3. Click `Install`, then `Activate`.
|
95 |
|
96 |
-
|
97 |
|
98 |
-
|
|
|
|
|
99 |
|
100 |
-
1. Download the plugin as a .zip file;
|
101 |
-
2. Unzip downloaded archive and upload `shortcodes-ultimate` folder under your `/wp-content/plugins/` directory (resulted plugin path should be `/wp-content/plugins/shortcodes-ultimate/**`);
|
102 |
-
1. Navigate to `Dashboard` ▸ `Plugins` and activate the plugin.
|
103 |
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
== Screenshots ==
|
108 |
|
109 |
1. Insert Shortcode button added above the editor
|
110 |
2. Shortcode insertion window
|
@@ -113,743 +95,77 @@ QR code Scheduler
|
|
113 |
5. Shortcodes: spoiler, service, list, columns, note
|
114 |
|
115 |
|
116 |
-
|
117 |
-
|
118 |
-
= How this plugin works =
|
119 |
-
[How Shortcodes Ultimate plugin works](https://getshortcodes.com/docs/how-shortcodes-ultimate-plugin-works/).
|
120 |
-
|
121 |
-
= Shortcodes do not work. Why? =
|
122 |
-
The most common reasons of this issue are listed [here](https://getshortcodes.com/docs/shortcodes-do-not-work/).
|
123 |
-
|
124 |
-
= Insert shortcode button do not work. Why? =
|
125 |
-
The most common reasons of this issue are listed [here](https://getshortcodes.com/docs/insert-shortcode-button-do-not-work/).
|
126 |
-
|
127 |
-
= Can I remove default shortcodes? =
|
128 |
-
Yes, you can remove default shortcodes using 'su/data/shortcodes' filter. Tutorial: [How to remove default shortcodes](https://getshortcodes.com/docs/disabling-built-in-shortcodes/).
|
129 |
-
|
130 |
-
= Can I create custom shortcodes? =
|
131 |
-
Yes, you can create custom shortcodes using 'su/data/shortcodes' filter. Tutorial: [How to add custom shortcodes](https://getshortcodes.com/docs/registering-custom-shortcodes/).
|
132 |
-
Alternatively, you can use [Shortcode Creator add-on](https://getshortcodes.com/add-ons/shortcode-creator/).
|
133 |
-
|
134 |
-
= Can I use shortcodes in template files? =
|
135 |
-
Yes! [How to use shortcodes in template files](https://getshortcodes.com/docs/using-shortcodes-in-template-files/).
|
136 |
-
|
137 |
-
= Will this plugin work with my theme? =
|
138 |
-
Yes! Shortcodes Ultimate is designed to work with any theme, but your theme must include very basic things: 'wp_head' and 'wp_footer' template tags. Sometimes, the plugin may not work properly because of javascript errors caused by third-party plugins/themes.
|
139 |
-
|
140 |
-
= Where can I report a bug? =
|
141 |
-
You should [create an issue at GitHub](https://github.com/gndev/shortcodes-ultimate/) or [open new support ticket](https://getshortcodes.com/contact/) (for premium add-ons only).
|
142 |
-
|
143 |
-
= Where to find additional information? =
|
144 |
-
Plugin has comprehensive [documentation](http://getshortcodes.com/docs/).
|
145 |
-
Also, you can find more answers at [support page](https://getshortcodes.com/support/).
|
146 |
-
|
147 |
-
= Where can I get support or talk to other users? =
|
148 |
-
If you get stuck, you can ask for help in [official plugin forum](https://wordpress.org/support/plugin/shortcodes-ultimate).
|
149 |
-
For help with premium add-ons, please [open new support ticket](https://getshortcodes.com/contact/).
|
150 |
-
|
151 |
-
|
152 |
-
== Changelog ==
|
153 |
-
|
154 |
-
= 5.8.1 =
|
155 |
-
|
156 |
-
**What's new**
|
157 |
-
|
158 |
-
- New option `anchor` for `[su_divider]` shortcode
|
159 |
-
|
160 |
-
|
161 |
-
**Changes**
|
162 |
-
|
163 |
-
- `[su_document]` shortcode is now *deprecated*. It will continue to work, but will be removed from the Insert shortcode window and from documentation
|
164 |
|
165 |
|
166 |
-
|
167 |
-
|
168 |
-
- Fixed fatal error on WP 5.4 in Gallery, Slider, and Carousel shortcodes. Thanks to [Jörn Lund](https://github.com/mcguffin)
|
169 |
-
- The `[su_feed]` can now work with URLs containing `&`, converted by the block editor
|
170 |
-
- Fixed PHP notices in the admin part
|
171 |
-
- Translation fixes
|
172 |
-
|
173 |
-
|
174 |
-
= 5.8.0 =
|
175 |
-
|
176 |
-
**What's new**
|
177 |
-
|
178 |
-
- The `[su_user]` shortcode now support nested shortcodes in the `user_id` attribute
|
179 |
-
- The `[su_feed]` now has the `target` attribute, which allow opening feed links in a new tab
|
180 |
-
|
181 |
-
|
182 |
-
**Fixes**
|
183 |
-
|
184 |
-
- Updated documentation for the `[su_user]` shortcode. New fields: Nickname, First Name, Last Name, Description, & Locale
|
185 |
-
- Fixed warning in Google Search Console when testing page with the `[su_youtube]` shortcode: `Allow attribute will take precedence over ‘allowfullscreen’.`
|
186 |
-
- Fixed issue when some attributes weren't inserted by the Insert shortcode button
|
187 |
-
- Improved compatibility with PHP 7.4, thanks to [Jörn Lund](https://github.com/mcguffin)
|
188 |
-
- `[su_feed]` links now have title attribute with descriptions
|
189 |
-
|
190 |
-
|
191 |
-
= 5.7.0 =
|
192 |
-
|
193 |
-
**What's new**
|
194 |
-
|
195 |
-
- The `[su_user]` shortcode can now display user meta
|
196 |
-
- New option `id` (HTML Anchor) for the `[su_box]` shortcode
|
197 |
-
- New option `id` (HTML Anchor) for the `[su_note]` shortcode
|
198 |
-
- Improved compatibility with PHP 7.4, thanks to [Jörn Lund](https://github.com/vanokhin/shortcodes-ultimate/issues/100)
|
199 |
-
- New setting *Nested shortcodes alternative mode* which enables deprecated syntax for nested shortcodes. [Details](https://getshortcodes.com/docs/nested-shortcodes-shortcodes-in-attributes/#nested-shortcodes-with-the-same-tag-names)
|
200 |
-
- The `[su_feed]` shortcode is now based on SimplePie
|
201 |
-
- The `[su_quote]` shortcode now supports nesting
|
202 |
-
|
203 |
-
|
204 |
-
**Fixes**
|
205 |
-
|
206 |
-
- Fixed compatibility issue with WordPress version 4.5 (white screen at the settings screen)
|
207 |
-
|
208 |
-
|
209 |
-
= 5.6.2 =
|
210 |
-
|
211 |
-
**Fixes**
|
212 |
-
|
213 |
-
- Fixed YouTube autoplay in Chrome within the `[su_lightbox]` shortcode
|
214 |
-
- Fixed issue when hidden content (like YouTube embed) within spoiler remains clickable
|
215 |
-
- Other minor issues
|
216 |
-
|
217 |
-
|
218 |
-
= 5.6.1 =
|
219 |
-
|
220 |
-
**What's new**
|
221 |
|
222 |
-
|
223 |
-
- `[su_image_carousel]` will now display post titles instead of image captions, where applicable. [Details & How to disable it](https://getshortcodes.com/docs/display-image-captions-instead-of-post-titles-in-the-image-carousel-shortcode/).
|
224 |
-
|
225 |
-
**Fixes**
|
226 |
-
|
227 |
-
- Fixed `Warning: A non-numeric value encountered` in `[su_slider]`, `[su_carousel]`, and `[su_custom_gallery]`
|
228 |
-
- Fixed `download` attribute of the `[su_button]` shortcode
|
229 |
-
- Fixed issue with `[su_spoiler]` where nested `[su_youtube]` remains clickable if spoiler is closed
|
230 |
-
|
231 |
-
|
232 |
-
= 5.6.0 =
|
233 |
-
|
234 |
-
**What's new**
|
235 |
-
|
236 |
-
- Shortcodes can now be enabled not only in Category descriptions, but in any Term description. See `Enable shortcodes in` option at plugin settings page
|
237 |
-
|
238 |
-
**Fixes**
|
239 |
-
|
240 |
-
- Fixed WP-Rocket compatibility issue, `[su_image_carousel]` didn't work on Android Chrome. [Forum topic](https://wordpress.org/support/topic/issues-with-wp-rocket-2/)
|
241 |
-
- Fixed issue with `<span>` tags in the `[su_tabs]` shortcode. [Forum topic](https://wordpress.org/support/topic/element-on-next-line-on-mobiles/)
|
242 |
-
- Fixed issue with ghost-style button colors
|
243 |
-
|
244 |
-
|
245 |
-
= 5.5.0 =
|
246 |
-
|
247 |
-
**What's new**
|
248 |
-
|
249 |
-
- New option `outline` for `[su_image_carousel]` which allows disabling carousel outline (when it gets focus)
|
250 |
-
- New option `mobile` for `[su_tabs]` which allows disabling tab stacking on mobile devices
|
251 |
-
- New option `texttrack` for `[su_vimeo]` which allows enabling video subtitles
|
252 |
-
|
253 |
-
**Improvements**
|
254 |
-
|
255 |
-
- `[su_youtube_advanced]` is now always served through https
|
256 |
-
- `[su_image_carousel]`: improved compatibility with various themes
|
257 |
-
- `[su_image_carousel]`: the gallery can now be loaded through AJAX
|
258 |
-
- `[su_image_carousel]`: improved keyboard navigation
|
259 |
-
- Insert Shortcode window will now remain open if the dark background clicked
|
260 |
-
|
261 |
-
**Fixes**
|
262 |
-
|
263 |
-
- Fixed `[su_image_carousel]` issue with empty image captions (with whitespace)
|
264 |
-
- Fixed `[su_image_carousel]` issue where images weren't shown when crop is disabled
|
265 |
|
266 |
|
267 |
-
|
268 |
|
269 |
-
|
270 |
|
271 |
|
272 |
-
|
273 |
|
274 |
-
|
275 |
|
276 |
-
- New shortcode `[su_image_carousel]` which will take place of `[su_slider]` and `[su_carousel]` in the future
|
277 |
-
- New attribute `download` for the `[su_button]` shortcode (allows immediate downloading of specified URL in a button)
|
278 |
-
- New attribute `id` for the `[su_heading]` shortcode (allows linking to a heading)
|
279 |
-
- New attribute `wrapper` for the `[su_dummy_text]` shortcode (allows disabling of the div wrapper)
|
280 |
-
- New attribute `mobile` for the `[su_lightbox]` shortcode (allows disabling lightbox on mobile devices)
|
281 |
|
282 |
-
|
283 |
|
284 |
-
|
285 |
-
- `[su_button]` with `target=blank` will now be displayed with `rel='noopener noreferrer`
|
286 |
-
- Slightly improved appearance of the *Available shortcodes* screen
|
287 |
-
- *Vertical tabs* are now aligned with CSS flexbox, not JS
|
288 |
-
- Added `shortcodes.full.css` file to reference the default shortcode styles
|
289 |
-
- Minor improvements to `[su_table]`, `[su_row]`, and `[su_column]` shortcodes
|
290 |
|
291 |
-
|
292 |
|
293 |
-
|
294 |
-
|
295 |
|
296 |
-
**Security**
|
297 |
|
298 |
-
|
299 |
-
- *Error messages* are now displayed only to allowed users (user must have required capability)
|
300 |
|
|
|
301 |
|
302 |
-
= 5.3.0 =
|
303 |
|
304 |
-
|
305 |
|
306 |
-
|
307 |
-
- New option `indent` for the `[su_list]` shortcode, which allows adjusting of list indentation
|
308 |
|
309 |
-
**Fixes**
|
310 |
|
311 |
-
|
312 |
-
- Fixed close icon class name in the presets menu
|
313 |
-
- Fixed issue with unwanted content inside single shortcodes
|
314 |
-
- Fixed warning when non-numeric value is used for the button size attribute
|
315 |
-
- Min-width for responsive tables is set to 100%
|
316 |
|
|
|
317 |
|
318 |
-
= 5.2.0 =
|
319 |
|
320 |
-
|
321 |
|
322 |
-
|
323 |
-
- Tabs are now working better with nested sliders/carousels
|
324 |
-
- Improved stability of some responsive elements, such as Google Maps
|
325 |
-
- YouTube and YouTube Advanced settings descriptions are now more clear
|
326 |
-
- New setting `Required user capability` which allows enabling the `Insert Shortcode` button for non-admin users
|
327 |
-
- New setting `Enable shortcodes in` which allows enabling shortcodes in text widgets and category descriptions
|
328 |
|
329 |
-
**Changes**
|
330 |
|
331 |
-
|
332 |
-
- Font Awesome replaced with [Fork Awesome](https://github.com/ForkAwesome/Fork-Awesome). Font Awesome stylesheet (v 4.7.0) will be completely removed in the next update. All icons are now use CSS class `sui` instead of `fa`
|
333 |
|
334 |
|
335 |
-
|
336 |
|
337 |
-
|
338 |
|
|
|
339 |
|
340 |
-
|
341 |
|
342 |
**What's new**
|
343 |
|
344 |
-
-
|
345 |
-
|
346 |
-
**Fixes**
|
347 |
-
|
348 |
-
- Fixed `<img>` icon appearance of the `[su_service]` shortcode
|
349 |
-
|
350 |
-
|
351 |
-
= 5.0.8 =
|
352 |
-
|
353 |
-
**Fixes**
|
354 |
-
|
355 |
-
- Fixed Live Preview, wasn't representing changed settings
|
356 |
-
- Fixed `[su_siblings]`, now it works again at top-level pages
|
357 |
-
|
358 |
-
**Other**
|
359 |
-
|
360 |
-
- Various code improvements
|
361 |
-
- New filters for gallery, slider, and carousel
|
362 |
-
- Returned `su_cmpt()` and `su_compatibility_mode_prefix()` utils
|
363 |
-
|
364 |
-
|
365 |
-
= 5.0.7 =
|
366 |
-
|
367 |
-
**Security update**
|
368 |
-
|
369 |
-
- Fixed shortcode generator preview vulnerability. [Description](https://www.pluginvulnerabilities.com/2018/09/25/full-disclosure-of-vulnerability-in-wordpress-plugin-with-700000-active-installations/).
|
370 |
-
|
371 |
-
= 5.0.6 =
|
372 |
-
|
373 |
-
**Fixes**
|
374 |
-
|
375 |
-
- Added missing images for `su_audio`, `su_video`, `su_slider` and `su_carousel`
|
376 |
-
- Fixed Fatal error: Call to a member function get_page_permastruct() on null in link-template.php:357
|
377 |
-
- Added missing `su_get_icon()` utility function
|
378 |
-
- Added missing `su_scattr()` utility function
|
379 |
-
- Added missing `su_do_shortcode()` utility function
|
380 |
-
|
381 |
-
|
382 |
-
= 5.0.5 =
|
383 |
-
|
384 |
-
**Improvements**
|
385 |
-
|
386 |
-
- Improved compatibility with fitvid.js;
|
387 |
-
- Improved appearance of the `Show more` and `Show less` links of the `su_expand` shortcode;
|
388 |
-
- The new option `mute` for `su_youtube` and `su_youtube_advanced` shortcodes;
|
389 |
-
- Support for the `youtube-nocookie.com` domain in `su_youtube` and `su_youtube_advanced` shortcodes;
|
390 |
-
- Support for nested shortcodes in the `title` attribute of the `su_button` shortcode;
|
391 |
-
- The new option `dnt` (do not track) for the `su_vimeo` shortcode, [learn more](https://help.vimeo.com/hc/en-us/articles/360001494447-Using-Player-Parameters);
|
392 |
-
- The new option `mute` for the `su_vimeo` shortcode;
|
393 |
-
- https support for the `su_dailymotion` shortcode;
|
394 |
-
- New options `title` and `rel` for the `su_permalink` shortcode;
|
395 |
-
- The `su_post` shortcode now support slugs in the `post_id` attribute;
|
396 |
-
- The new option `zoom` for `su_gmap`.
|
397 |
-
|
398 |
-
**Changes**
|
399 |
-
|
400 |
-
- Shortcodes styles merged into a single stylesheet.
|
401 |
|
402 |
**Fixes**
|
403 |
|
404 |
-
- Fixed
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
* Fixed: [scheduler] shortcode logic
|
413 |
-
|
414 |
-
= 5.0.3 =
|
415 |
-
* Changed: Inview.js library replaced with [jQuery.Inview](https://github.com/protonet/jquery.inview)
|
416 |
-
* Fixed: caching issue with [su_dummy_text]
|
417 |
-
* Fixed: PHP warning in [su_posts] shortcode when specified template does not exist
|
418 |
-
* Updated: Font Awesome to version 4.7.0
|
419 |
-
* Added: responsive styles for [su_pullquote]
|
420 |
-
|
421 |
-
= 5.0.2 =
|
422 |
-
* Fixed: an issue where RTL stylesheet won't displayed if custom CSS field is empty
|
423 |
-
* Fixed: icon sizes at 'Dashboard - Available Shortcodes' page
|
424 |
-
* Fixed: [expand] shortcode now works when loaded through AJAX
|
425 |
-
* Fixed: border-radius on [box] shortcode
|
426 |
-
* Fixed: compatibility with 'Plugin Organizer'
|
427 |
-
* Updated: OwlCarousel jQuery plugin
|
428 |
-
* Added: new attribute 'responsive' for table shortcode: [su_table responsive="no|yes"]
|
429 |
-
* Added: new attribute 'playsinline' for youtube_advanced shortcode: [su_youtube_advanced playsinline="no|yes"]
|
430 |
-
|
431 |
-
= 5.0.1 =
|
432 |
-
* Fixed: serious security vulnerability, which allows attacker to run any code using filter in meta, post, or user shortcodes. Thanks to Robert L Mathews.
|
433 |
-
* Fixed: changed admin menu position (it was replacing 'Settings' menu on some installations)
|
434 |
-
* Fixed: shortcodes prefix field now accepts special characters
|
435 |
-
* Fixed: old bug when unwanted code parts was added with shortcode
|
436 |
-
* Fixed: bug, where backslashes were removed from custom CSS code
|
437 |
-
* Added: new attribute 'ID' for [button] shortcode
|
438 |
-
* Added: new filter 'su/slides_query', which can be used to modify posts query for slider, carousel and custom_gallery shortcodes
|
439 |
-
* Added: new filter 'su/assets/custom_css/template' to filter custom css output
|
440 |
-
* Minor fixes
|
441 |
-
|
442 |
-
= 5.0.0 =
|
443 |
-
* Read [this blog post](https://vanokhin.com/whats-new-in-shortcodes-ultimate-5/) to learn more about update
|
444 |
-
* New project website [getshortcodes.com](https://getshortcodes.com/)
|
445 |
-
* New documentation [getshortcodes.com/docs](https://getshortcodes.com/docs/)
|
446 |
-
* Added: 'Available shortcodes' admin menu
|
447 |
-
* Removed: 'Examples' admin menu
|
448 |
-
* Removed: 'Cheatsheet' admin menu
|
449 |
-
* Fixed: [feed] shortcode (now it uses SimplePie)
|
450 |
-
* Changed default content for [tabs], [row] and [accordion] shortcodes
|
451 |
-
* Fixed: [user] shortcode works when user is not logged in
|
452 |
-
* Changed: Security improvement. Plugin will now strip all HTML tags from Custom CSS code
|
453 |
-
* Minor improvements and fixes
|
454 |
-
|
455 |
-
= 4.10.2 =
|
456 |
-
* Improved: compatibility with PHP7 ([user] and [post] shortcodes)
|
457 |
-
* Fixed: [slider] and [custom_gallery] markup (skipped whitespaces among link attributes)
|
458 |
-
* Removed: user capability check in [permalink]
|
459 |
-
|
460 |
-
= 4.10.1 =
|
461 |
-
* Fixed: lightbox javascript
|
462 |
-
|
463 |
-
= 4.10.0 =
|
464 |
-
* Fixed: security vulnerability at 'Examples' admin page (insecure call of file_get_contents() at inc/core/tools.php:774)
|
465 |
-
* Fixed: added access check to permalink shortcode. [Pull request #20](https://github.com/gndev/shortcodes-ultimate/pull/20).
|
466 |
-
* Added: PHP7 compatibility. Checked with [php7cc](https://github.com/sstalle/php7cc) and [PHP Compatibility Checker](https://wordpress.org/plugins/php-compatibility-checker/). [Pull request #45](https://github.com/gndev/shortcodes-ultimate/pull/45).
|
467 |
-
* Added: https support for Google Maps. [Pull request #40](https://github.com/gndev/shortcodes-ultimate/pull/40).
|
468 |
-
* Added: https support for Youtube. [Pull request #39](https://github.com/gndev/shortcodes-ultimate/pull/39).
|
469 |
-
|
470 |
-
= 4.9.9 =
|
471 |
-
* Fixed: vote popup at plugins page
|
472 |
-
* Minor improvements, fixes
|
473 |
-
|
474 |
-
= 4.9.8.1 =
|
475 |
-
* Fixed: compatibility with WordPress 4.3+
|
476 |
-
* Added: lightbox captions for slider, carousel and custom_gallery. Commit by [Valentino Pistis](https://github.com/vpistis)
|
477 |
-
* Changed: text domain from 'su' to 'shortcodes-ultimate'
|
478 |
-
|
479 |
-
= 4.9.8 =
|
480 |
-
* Added: Spanish translation
|
481 |
-
* Updated: Font Awesome updated to 4.4.0
|
482 |
-
* Fixed: buttons line-height on narrow screens
|
483 |
-
* Fixed: nested spoilers
|
484 |
-
|
485 |
-
= 4.9.7 =
|
486 |
-
* Added: [document] is now compatible with https
|
487 |
-
* Fixed: carousel items width calculation
|
488 |
-
* Added: new attribute for [button title=""], [forum topic](https://wordpress.org/support/topic/how-add-title-tag-to-a-button)
|
489 |
-
* Fixed: stripslashes for [button] content
|
490 |
-
|
491 |
-
= 4.9.6 =
|
492 |
-
* Fixed: Quick fix for disabled custom css since previous update
|
493 |
-
|
494 |
-
= 4.9.5 =
|
495 |
-
* Added: basic RTL support
|
496 |
-
* Fixed: JS error (blocking shortcodes settings) on WordPress 3.5
|
497 |
-
* Fixed: minor improvement for slider/gallery posts query. [Forum topic](https://wordpress.org/support/topic/slider-code-suggestion)
|
498 |
-
* Fixed: minor imrovements on [quote], fixed markup bug for long values in cite, thanks to [Anatoly Yumashev](http://systemo.biz/)
|
499 |
-
* Added: completely redesigned search feature. Now it's like a Google, but for shortcodes =)
|
500 |
-
* Added: Insert shortcode popup window hotkey. So now, you can open Insert shortcode window, choose shortcode and insert it with just one click
|
501 |
-
* Updated: new demo video at plugin settings page (About tab)
|
502 |
-
* Updated: new plugin's banner and icon
|
503 |
-
|
504 |
-
= 4.9.4 =
|
505 |
-
* Updated: Japanese translation
|
506 |
-
* Updated: Polish translation
|
507 |
-
* Fixed: minor fixes in shortcode settings window
|
508 |
-
* Fixed: vulnerability in Examples preview. Added wp_nonce check. Thanks to [Kacper Szurek](http://security.szurek.pl/)
|
509 |
-
* Fixed: vulnerability at Custom CSS page. Added wp_nonce check. Thanks to [Ryan Satterfield](https://planetzuda.com/)
|
510 |
-
* Removed: skins directory creation
|
511 |
-
|
512 |
-
= 4.9.3 =
|
513 |
-
* Updated: owl-carousel.js
|
514 |
-
* Added: minor UI improvements
|
515 |
-
* Fixed: [vimeo] ssl issue (thanks to Adam)
|
516 |
-
* Fixed: multiple errors on cheatsheet page
|
517 |
-
* Fixed: errors when updating user profile, [forum topic](https://wordpress.org/support/topic/error-message-when-updating-users-in-wp-admin)
|
518 |
-
* Removed: global skin option at settings page
|
519 |
-
|
520 |
-
= 4.9.2 =
|
521 |
-
* Added: minor improvements for tabs/spoilers anchors (auto-removing extra # characters)
|
522 |
-
* Added: compatibility with TablePress's advanced editor
|
523 |
-
* Added: new option for tabs. You can now link any tab to any webpage [su_tab url="http://" target="blank"]
|
524 |
-
* Added: new option wmode for [youtube_advanced], [forum topic](http://wordpress.org/support/topic/youtube-player-option-request)
|
525 |
-
* Added: new shortcode [lightbox_content]
|
526 |
-
* Fixed: lightbox and galleries scripts, [forum topic](http://wordpress.org/support/topic/carousel-su-little-hack)
|
527 |
-
* Fixed: removed global function $.support.transition, [forum topic](http://wordpress.org/support/topic/transition-check-returns-string-instead-of-object)
|
528 |
-
* Updated: Russian language
|
529 |
-
* Updated: Japanese language
|
530 |
-
* Updated: FontAwesome, 4.1.0
|
531 |
-
* Updated: Magnific Popup, 0.9.9
|
532 |
-
|
533 |
-
= 4.9.1 =
|
534 |
-
* Added: New shortcode [scheduler]
|
535 |
-
* Added: New shortcode [expand]
|
536 |
-
* Added: New options for [divider]
|
537 |
-
* Added: New option `rel` for [button]
|
538 |
-
* Fixed: animations script has been changed. CSS animations will be skipped in non-supported browsers, [forum topic](http://wordpress.org/support/topic/disable-animations-on-non-supported-devicesbrowsers)
|
539 |
-
* Fixed: templates/default-loop.php - removed extra n character in comments number, [forum topic](http://wordpress.org/support/topic/minor-bug-in-templatesdefault-loopphp)
|
540 |
-
* Fixed: large DB query on sites with many users, [forum topic](http://wordpress.org/support/topic/installing-sc-ultimate-on-site-with-30000-wp-users)
|
541 |
-
|
542 |
-
= 4.9.0 =
|
543 |
-
* New shortcode [qrcode] allows you to generate colorful and responsive QR codes!
|
544 |
-
* Improved shortcode search. Just type shortcode name and hit Enter
|
545 |
-
* Updated Animate.css (animations library)
|
546 |
-
* Updated ACE editor (custom CSS editor)
|
547 |
-
* Responsive CSS for [tabs]
|
548 |
-
* Highly decreased plugin size
|
549 |
-
|
550 |
-
= 4.8 =
|
551 |
-
* Minor UI fixes (compatibility with page builders)
|
552 |
-
* Czech translation by [Punc00](http://nuze.cz/)
|
553 |
-
* Added: full compatibility with multiple editors on same page - [fourm topic](http://wordpress.org/support/topic/enhance-compatibility-with-other-plugins)
|
554 |
-
* Fixed: extra CSS class for [menu] - [forum topic](http://wordpress.org/support/topic/extra-css-class-not-working-on-menu-shortcode-video-included)
|
555 |
-
* Fixed: Swiper click event, Swiper has been updated - [forum topic](http://wordpress.org/support/topic/carousel-links-not-working)
|
556 |
-
* Fixed: [spoiler]'s content is now hidden until the page is loaded
|
557 |
-
* New dashboard page: Cheatsheet
|
558 |
-
* Minor [spoiler] fix, for hidden spoiler content
|
559 |
-
* Updated Japanese translation
|
560 |
-
|
561 |
-
= 4.7 =
|
562 |
-
* Long-awaited feature: slider, carousel and custom_gallery links can now be open with lightbox
|
563 |
-
* Long-awaited feature: custom links in slider, carousel and custom_gallery shortcodes
|
564 |
-
* Fixed https bug in FontAwesome enqueue
|
565 |
-
* Fixed bug with multiple users queries - [forum topic](http://wordpress.org/support/topic/plugin-making-700-sql-calls)
|
566 |
-
* New Ghost style for [button]
|
567 |
-
* Minor UI fixes (for WP 3.9+)
|
568 |
-
* New shortcode [dailymotion]
|
569 |
-
* YouTube (advanced) can now use https protocol
|
570 |
-
* Additional help notes in Shortcode Generator
|
571 |
-
* Slovak language
|
572 |
-
|
573 |
-
= 4.6 =
|
574 |
-
* Auto-save for shortcodes settings. Now you don't need to adjust it again and again
|
575 |
-
* New premium add-on - [Extra Shortcodes](http://gndev.info/shortcodes-ultimate/extra/)
|
576 |
-
* Minor UX improvements
|
577 |
-
* New locale - VI
|
578 |
-
* Fixed bug with tax_term IDs in [posts] shortcode, [forum topic](http://wordpress.org/support/topic/posts-tax_term-category-number)
|
579 |
-
* Fixed bug with service title, [forum topic](http://wordpress.org/support/topic/service-shortcode-not-wrapping-properly-on-mobile-browser)
|
580 |
-
* Fixed bug with animations names in shortcode generator, [forum topic](http://wordpress.org/support/topic/animations-2)
|
581 |
-
* Updated settings pages capabilities
|
582 |
-
* Added some hooks
|
583 |
-
* Updated .pot file
|
584 |
-
* Font-Awesome is now loaded from bootstrap CDN. [Technical details](http://stackoverflow.com/questions/20032426/fontawesome-doesnt-display-in-firefox).
|
585 |
-
* New review - [Shortcodes Ultimate: Ultimatize your written content](http://wisdmlabs.com/blog/how-to-style-wordpress-themes-with-shortcodes-ultimate/)
|
586 |
-
* New review - [Add 40+ New Layout Features To WordPress with Shortcodes Ultimate](http://www.makeuseof.com/tag/add-40-new-layout-features-wordpress-shortcodes-ultimate/)
|
587 |
-
* New review - [Show Me the Shortcode](http://thewpchick.com/show-shortcode/) + Video
|
588 |
-
* Updated readme.txt
|
589 |
-
* Compatibility with recent version of [SiteOrigin page builder](siteorigin.com/page-builder/) - it's free!
|
590 |
-
* Compatibility with recent version of [Visual Composer](http://vc.wpbakery.com/)
|
591 |
-
* Compatibility with recent version of [Elegant Themes page builder](http://www.elegantthemes.com/gallery/elegant-builder/)
|
592 |
-
|
593 |
-
= 4.5 =
|
594 |
-
* Updated some examples
|
595 |
-
* Removed import functions. Old versions of plugin (like 3.9.5) is not supported anymore
|
596 |
-
* Updated custom formatting filter
|
597 |
-
* Updated Japanese translation
|
598 |
-
* Added NL translation
|
599 |
-
* Minor fixes
|
600 |
-
* Presets. Now you need to adjust the shortcodes only once
|
601 |
-
* New WP filters for shortcodes attributes
|
602 |
-
* New option for compatibility mode prefix
|
603 |
-
* Compatibility mode is now enabled by default
|
604 |
-
* Font-awesome updated to 4.0.3
|
605 |
-
* New shortcode [meta]
|
606 |
-
* New shortcode [user]
|
607 |
-
* New shortcode [post]
|
608 |
-
* New attribute limit for [slider], [carousel] and [custom_gallery]
|
609 |
-
* Minor UX improvements
|
610 |
-
|
611 |
-
= 4.4 =
|
612 |
-
* __IMPORTANT__: new galleries mechanism. Your created galleries will work but will not be visible in admin panel. Now, you're able to create galleries right in "Insert shortcode" window. Also, you can now create galleries from posts, categories or even custom taxonomies.
|
613 |
-
* Removed all default links (default youtube videos)
|
614 |
-
* Updated admin page framework Sunrise
|
615 |
-
* Minor admin panel fixes
|
616 |
-
* Fixed file_get_contents() (disabled http wrappers) issue at the examples page
|
617 |
-
* Added classes Shortcodes_Ultimate_Generator, Shortcodes_Ultimate_Shortcodes and Shortcodes_Ultimate_Data
|
618 |
-
* Removed unused classes MediaUpload and ImageMeta
|
619 |
-
* New shortocde [dummy_image]
|
620 |
-
* New shortocde [dummy_text]
|
621 |
-
* New shortocde [animate]
|
622 |
-
* New shortocde [youtube_advanced]
|
623 |
-
* New admin page - Examples
|
624 |
-
* New admin page - Add-ons
|
625 |
-
* Font Awesome updated to version 4
|
626 |
-
* New attr [spoiler icon=""]
|
627 |
-
* Fixed issue with date format in [posts]
|
628 |
-
* New slider control for shortcode generator
|
629 |
-
* Small fixes
|
630 |
-
|
631 |
-
= 4.3 =
|
632 |
-
* New text-shadow picker for [button]
|
633 |
-
* Anchor navigation for spoilers and tabs - [forum topic](http://wordpress.org/support/topic/hyperlinks-to-spoilers-and-tabs)
|
634 |
-
* Small fixes
|
635 |
-
* IMPORTANT: removed old list icons. These icons replaced with new font-awesome icons
|
636 |
-
* New icon picker for [service], [button] and [list]
|
637 |
-
* Media manager is now works on widgets page
|
638 |
-
* Shortcodes inside of [button]
|
639 |
-
* Fixed fatal error in [media]
|
640 |
-
* New media manager added for galleries manager
|
641 |
-
* New media manager added to the file fields in Generator
|
642 |
-
* Z-index for visual composer - [forum topic](http://wordpress.org/support/topic/compatible-with-visual-composer)
|
643 |
-
* New attr for [button] onclick
|
644 |
-
* Fixed settings page
|
645 |
-
* Fixed [video] player
|
646 |
-
|
647 |
-
= 4.2 =
|
648 |
-
* Font Awesome icons (in Generator)
|
649 |
-
* Fixed warning in footer - [forum topic](http://wordpress.org/support/topic/bug-showing-in-online-site-after-updating-the-plugin)
|
650 |
-
* Removed warning at settings page - [forum topic](http://wordpress.org/support/topic/warning-on-settings-page)
|
651 |
-
* Removed another warning (undefined index) - [forum topic](http://wordpress.org/support/topic/undefined-index-with-wp_debug-true)
|
652 |
-
* Changed syntax for shortcodes inside of attributes - [documentation](http://gndev.info/kb/how-to-use-another-shortcodes-inside-of-attributes/)
|
653 |
-
* Small performance improvemets
|
654 |
-
* Aded font-awesome.css. Will be completely included in closest versions
|
655 |
-
* Added default taxonomy value for [posts]
|
656 |
-
* Added default post_type value for [posts]
|
657 |
-
* Added ability to use shortcodes inside of attributes
|
658 |
-
* Translated into Japanese
|
659 |
-
* Fixed [button wide=yes]
|
660 |
-
* Fixed media query for [column]
|
661 |
-
* Added new attr [column center=yes]
|
662 |
-
* Improved js code for spoilers and tabs
|
663 |
-
* Improved js code for generator
|
664 |
-
* Added pot file
|
665 |
-
* Fixed [button] css code
|
666 |
-
* Updated [accordion], [spoiler] and [tabs] js code
|
667 |
-
* Fixed [tooltip]
|
668 |
-
* Updated Greek translation
|
669 |
-
* Fixed [lightbox]
|
670 |
-
* Disabled wp_footer check
|
671 |
-
* Fixed wp_footer notice, again
|
672 |
-
* Small fix for tooltips
|
673 |
-
* Fixed wp_footer notice
|
674 |
-
* Greek translation
|
675 |
-
* Added compatibility mode prefix for spoilers inside of accordion
|
676 |
-
* Updated qTip plugin
|
677 |
-
* Added shortcode [tooltip]
|
678 |
-
* Added new attribute. [tab disabled="yes"]. Now, any tab can be disabled. [Forum topic](http://wordpress.org/support/topic/tabs-how-to-disable-one-of-the-tabs)
|
679 |
-
* Added [accordion] scrolling. [Forum topic](http://wordpress.org/support/topic/accordion-usability-issue)
|
680 |
-
* Added wp_footer check. User will be noticed if current theme doen't includes wp_footer
|
681 |
-
* Updated caching mechanism. Cache will be reseted when you add or remove terms
|
682 |
-
* Updated galleries mechanism. Removed some conflicts
|
683 |
-
* Fixed spoiler background for style=fancy
|
684 |
-
* Additional access check option for Shortcode Generator
|
685 |
-
|
686 |
-
= 4.1 =
|
687 |
-
* [5 metro skins](http://gndev.info/shortcodes-ultimate/metro-skins/)
|
688 |
-
* New screencast - [How to create image gallery](http://www.youtube.com/watch?v=kCWyO2F7jTw)
|
689 |
-
* New attribute "center" for [button]. Buttons can now be centered on the page
|
690 |
-
* Updated [frame]. Now it can contain other shortcodes
|
691 |
-
* Updated caching mechanism. Cache now will be reseted on plugin activation
|
692 |
-
* Fixed many PHP warnings when debug mode enabled
|
693 |
-
* Added backward compatibility for [media]. Shortcode has basic support for youtube and vimeo videos
|
694 |
-
* Fixed bug with hidden single [tab]
|
695 |
-
* Added attribute "active" for tabs container. This option allows you to select tab number that will be open by default
|
696 |
-
* Fixd button style 3D
|
697 |
-
* Added backward compatibility for [frame]
|
698 |
-
* Fixed [column] margins
|
699 |
-
* Added backward compatibility for [tabs]. Now it accepts style=3 and vertical attributes
|
700 |
-
* Added backward compatibility for [spoiler]. Now it accepts 0 and 1 as values for attribute open. Also, it now accepts style attribute (1, 2, default, fancy, simple)
|
701 |
-
* Added custom CSS import from previous versions. Styles will be imported automatically and prepended to the existing CSS-code
|
702 |
-
* Added backward compatibility for [highlight]. Now it accepts bg and background attributes
|
703 |
-
* Added backward compatibility for [label]. Now it accepts style and type attributes
|
704 |
-
* Added backward compatibility for [dropcap]. Now it accepts 1, 2 and 3 as style values
|
705 |
-
* Added backward compatibility for [permalink]. Now it accepts p and id attributes
|
706 |
-
* Added backward compatibility for [button]. Need to test
|
707 |
-
* Added backward compatibility for [members]. Now it accepts style and login attributes
|
708 |
-
* Added backward compatibility for [box]. Now it accepts color and box_color attributes
|
709 |
-
* Added backward compatibility for [note]. Now it accepts color and note_color attributes
|
710 |
-
* Added backward compatibility for [column]. Now it accepts attribute last and can be not wrapped with [row]
|
711 |
-
* Added backward compatibility for [document]. Now it accepts file and url attributes
|
712 |
-
|
713 |
-
= 4.0 =
|
714 |
-
* [Official plugin page](http://gndev.info/shortcodes-ultimate/)
|
715 |
-
* [Premium add-on for creating custom shortcodes](http://gndev.info/shortcodes-ultimate/maker/)
|
716 |
-
* Plugin based on [Sunrise Plugin Framework](https://github.com/gndev/sunrise)
|
717 |
-
* [GitHub repo](https://github.com/gndev/shortcodes-ultimate). Now you can easily fork and modify best plugin in the world (:
|
718 |
-
* Brand new Shortcode Generator, [demo video](http://www.youtube.com/watch?v=DR2c266yWEA)
|
719 |
-
* [Shortcodes API](http://gndev.info/kb/shortcodes-ultimate-api-overview/)
|
720 |
-
* Completely reorganized code. Added and removed some shortcodes
|
721 |
-
* For security maniacs: timthumb.php replaced by native WordPress mechanism
|
722 |
-
* For speed-up maniacs: completely rewritten assets mechanism. Now css and js files included on page depend on used shortcodes
|
723 |
-
* Added new shortcode [posts]. This is awesome and flexible mechanism to display your content in many different ways
|
724 |
-
* Now you can create your own custom skins for shortcodes
|
725 |
-
* Columns, google maps, google document viewer, youtube player, vimeo player and custom audio player is now fully responsive
|
726 |
-
|
727 |
-
= 3.9 =
|
728 |
-
* More screencasts
|
729 |
-
* Special widget for shortcodes
|
730 |
-
* Small fixes
|
731 |
-
* Hebrew translation
|
732 |
-
* [Awesome tutorial by Digital Cascade TV](http://www.youtube.com/watch?v=IjmaXz-b55I)
|
733 |
-
* Partners section on settings page
|
734 |
-
* Generator select improved with [Chosen](http://harvesthq.github.com/chosen/)
|
735 |
-
* Farbtastic color picker
|
736 |
-
|
737 |
-
= 3.8 (security release) =
|
738 |
-
* 2 new translations (Sk, Lt)
|
739 |
-
* Donate button in control panel
|
740 |
-
* Updated timthumb.php (version 2.8.10)
|
741 |
-
* Added 2 useful screencasts
|
742 |
-
|
743 |
-
= 3.7 =
|
744 |
-
* Complete support for nested shortcodes. Check the FAQ page.
|
745 |
-
* New shortcode [label]
|
746 |
-
* New style for buttons [button style="5"]
|
747 |
-
* Fixed images ordering for [custom_gallery], [jcarousel] and [nivo_slider]
|
748 |
-
|
749 |
-
= 3.6 =
|
750 |
-
* Descriptions for [custom_gallery]
|
751 |
-
* Custom options for jwPlayer
|
752 |
-
* Fixed size option for sliders and gallery
|
753 |
-
|
754 |
-
= 3.5 =
|
755 |
-
* New shortcode [accordion] for muliple spoilers
|
756 |
-
* Improved spoiler shortcode (check settings page)
|
757 |
-
* Multiple tabs bugfix
|
758 |
-
* Authors can also use shortcode generator
|
759 |
-
* Nested shortcodes: spoiler, column, tabs, box, note
|
760 |
-
|
761 |
-
= 3.4 =
|
762 |
-
* Belarusian translation
|
763 |
-
* New shortcode [dropcap]
|
764 |
-
|
765 |
-
= 3.3 =
|
766 |
-
* Changed: [nivo_slider] and [jcarousel] (see docs in console)
|
767 |
-
* New shortcode: [custom_gallery]
|
768 |
-
* New parameter: [members login="0|1"]
|
769 |
-
* New shortcode: guests
|
770 |
-
* German translation
|
771 |
-
|
772 |
-
= 3.0 =
|
773 |
-
* Button for WYSIWIG editor (search it near Upload/Insert buttons)
|
774 |
-
* New shortcode: private (private notes for editors)
|
775 |
-
* Patched and secure timthumb.php
|
776 |
-
|
777 |
-
= 2.7 =
|
778 |
-
* French translation
|
779 |
-
* Fixed for work with new jQuery 1.6 in WP 3.2
|
780 |
-
|
781 |
-
= 2.5 =
|
782 |
-
* Theme integration
|
783 |
-
|
784 |
-
= 2.4 =
|
785 |
-
* New shortcode: jcarousel
|
786 |
-
|
787 |
-
= 2.3 =
|
788 |
-
* New admin page: Demo
|
789 |
-
|
790 |
-
= 2.2 =
|
791 |
-
* New shortcode: document
|
792 |
-
* New shortcode: members
|
793 |
-
* New shortcode: feed
|
794 |
-
* New attr: link="caption" for [nivo_slider]
|
795 |
-
* New attr: p for [subpages]
|
796 |
-
* New tabs style (style=3)
|
797 |
-
|
798 |
-
= 2.1 =
|
799 |
-
* New option: disable any script
|
800 |
-
* New option: disable any stylesheet
|
801 |
-
* New attribute for column shortcode - style
|
802 |
-
* New attribute for spoiler shortcode - style
|
803 |
-
|
804 |
-
= 2.0 =
|
805 |
-
* New shortcode: menu
|
806 |
-
* New shortcode: subpages
|
807 |
-
* New shortcode: siblings
|
808 |
-
* Some admin fixes
|
809 |
-
* New button attribute - class
|
810 |
-
* New button attribute - target
|
811 |
-
* Different tabs styles (1 old + 1 new)
|
812 |
-
|
813 |
-
= 1.9 =
|
814 |
-
* New shortcode: permalink
|
815 |
-
* New shortcode: bloginfo
|
816 |
-
|
817 |
-
= 1.8 =
|
818 |
-
* Some small additions
|
819 |
-
* Ajax admin page
|
820 |
-
* No-js compatibility
|
821 |
-
* Multiple tabs support
|
822 |
-
|
823 |
-
= 1.7 =
|
824 |
-
* Improved settings page design
|
825 |
-
* Added shortcode nivo_slider
|
826 |
-
* Added shortcode photoshop
|
827 |
-
|
828 |
-
= 1.6 =
|
829 |
-
* New admin panel
|
830 |
-
* Custom CSS editor with syntax hughlight
|
831 |
-
* Small fixes
|
832 |
-
* Added donation forms
|
833 |
-
|
834 |
-
= 1.5 =
|
835 |
-
* Added option "Compatibility mode"
|
836 |
-
* Added new button styles
|
837 |
-
* Added new list styles
|
838 |
-
* Added new shortcode media
|
839 |
-
* Added new shortcode table
|
840 |
-
|
841 |
-
= 1.4 =
|
842 |
-
* Added shortcode "Fancy link"
|
843 |
-
|
844 |
-
= 1.3 =
|
845 |
-
* Some fixes
|
846 |
-
|
847 |
-
= 1.2 =
|
848 |
-
* Localization support
|
849 |
-
|
850 |
-
= 1.1 =
|
851 |
-
* Added options page
|
852 |
-
* Fixed options saving
|
853 |
-
|
854 |
-
= 1.0 =
|
855 |
-
* Initial release
|
1 |
+
# WordPress Shortcodes Plugin — Shortcodes Ultimate
|
2 |
Contributors: gn_themes
|
3 |
License: GPLv3
|
4 |
Donate link: https://paypal.me/anovladimir
|
5 |
Tags: shortcode, toggle, columns, button, slider
|
6 |
Requires at least: 4.6
|
7 |
+
Tested up to: 5.5
|
8 |
Requires PHP: 5.3
|
9 |
+
Stable tag: 5.9.0
|
|
|
10 |
|
11 |
A comprehensive collection of visual components for your site
|
12 |
|
13 |
|
14 |
+
## Description
|
15 |
|
16 |
[Shortcodes Ultimate](https://getshortcodes.com/?utm_campaign=wporg&utm_source=readme&utm_medium=description) is a comprehensive collection of various visual and functional elements, which you can use in the post editor, text widgets or even in template files. Using Shortcodes Ultimate you can easily create tabs, buttons, boxes, sliders and carousels, responsive videos and much, much more.
|
17 |
|
18 |
|
19 |
+
### Features
|
20 |
|
21 |
+
- 50+ beautiful shortcodes
|
22 |
+
- 1-click shortcode insertion with live preview
|
23 |
+
- Gutenberg-ready
|
24 |
+
- Works with any theme
|
25 |
+
- Modern responsive design
|
26 |
+
- Documentation
|
27 |
+
- Custom CSS editor
|
28 |
+
- Custom widget
|
29 |
+
- Translation-ready
|
30 |
+
- RTL support
|
31 |
+
- Developer-friendly
|
32 |
|
33 |
|
34 |
+
### Links
|
35 |
|
36 |
+
- [Available Shortcodes](https://getshortcodes.com/shortcodes/?utm_campaign=wporg&utm_source=readme&utm_medium=available-shortcodes)
|
37 |
+
- [Add-ons](https://getshortcodes.com/add-ons/?utm_campaign=wporg&utm_source=readme&utm_medium=add-ons)
|
38 |
+
- [Documentation](https://getshortcodes.com/docs/?utm_campaign=wporg&utm_source=readme&utm_medium=docs)
|
39 |
+
- [Support Forum](https://wordpress.org/support/plugin/shortcodes-ultimate)
|
40 |
+
- [Premium Support](https://getshortcodes.com/support/?utm_campaign=wporg&utm_source=readme&utm_medium=support)
|
|
|
41 |
|
42 |
|
43 |
+
### Check out premium add-ons!
|
44 |
|
45 |
+
- [Extra Shortcodes](https://getshortcodes.com/add-ons/extra-shortcodes/?utm_campaign=wporg&utm_source=readme&utm_medium=extra-shortcodes) - 15+ additional shortcodes
|
46 |
+
- [Additional Skins](https://getshortcodes.com/add-ons/additional-skins/?utm_campaign=wporg&utm_source=readme&utm_medium=additional-skins) - 60+ additional skins
|
47 |
+
- [Shortcode Creator](https://getshortcodes.com/add-ons/shortcode-creator/?utm_campaign=wporg&utm_source=readme&utm_medium=shortcode-creator) - create your own custom shortcodes
|
48 |
+
- **[Add-ons Bundle](https://getshortcodes.com/add-ons/add-ons-bundle/?utm_campaign=wporg&utm_source=readme&utm_medium=add-ons-bundle)** - All-in-one!
|
49 |
|
50 |
|
51 |
+
### Available Shortcodes
|
52 |
|
53 |
`
|
54 |
Heading Tabs Spoiler Accordion
|
67 |
`
|
68 |
|
69 |
|
70 |
+
## Installation
|
71 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
|
73 |
+
### From within dashboard (recommended)
|
74 |
|
75 |
+
1. Navigate to _Dashboard – Plugins – Add New_;
|
76 |
+
2. Search for _Shortcodes Ultimate_;
|
77 |
+
3. Click _Install_, then _Activate_.
|
78 |
|
79 |
+
[Video Tutorial](https://www.youtube.com/watch?v=6xhplrZJD9c).
|
80 |
|
|
|
|
|
|
|
81 |
|
82 |
+
### Manual installation
|
83 |
|
84 |
+
1. Download the plugin as a `.zip` file;
|
85 |
+
2. Unzip downloaded archive and upload `shortcodes-ultimate` folder under your `/wp-content/plugins/` directory (resulted plugin path should be `/wp-content/plugins/shortcodes-ultimate/`);
|
86 |
+
3. Navigate to *Dashboard – Plugins* and activate the plugin.
|
87 |
|
|
|
|
|
|
|
88 |
|
89 |
+
## Screenshots
|
|
|
|
|
|
|
90 |
|
91 |
1. Insert Shortcode button added above the editor
|
92 |
2. Shortcode insertion window
|
95 |
5. Shortcodes: spoiler, service, list, columns, note
|
96 |
|
97 |
|
98 |
+
## Frequently Asked Questions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
|
100 |
|
101 |
+
### How this plugin works
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
|
103 |
+
[How Shortcodes Ultimate plugin works](https://getshortcodes.com/docs/how-shortcodes-ultimate-plugin-works/).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
|
105 |
|
106 |
+
### Shortcodes do not work. Why?
|
107 |
|
108 |
+
The most common reasons of this issue are listed [here](https://getshortcodes.com/docs/shortcodes-do-not-work/).
|
109 |
|
110 |
|
111 |
+
### Insert shortcode button do not work. Why?
|
112 |
|
113 |
+
The most common reasons of this issue are listed [here](https://getshortcodes.com/docs/insert-shortcode-button-do-not-work/).
|
114 |
|
|
|
|
|
|
|
|
|
|
|
115 |
|
116 |
+
### Can I remove default shortcodes?
|
117 |
|
118 |
+
Yes, you can remove default shortcodes using 'su/data/shortcodes' filter. Tutorial: [How to remove default shortcodes](https://getshortcodes.com/docs/disabling-built-in-shortcodes/).
|
|
|
|
|
|
|
|
|
|
|
119 |
|
120 |
+
### Can I create custom shortcodes?
|
121 |
|
122 |
+
Yes, you can create custom shortcodes using 'su/data/shortcodes' filter. Tutorial: [How to add custom shortcodes](https://getshortcodes.com/docs/registering-custom-shortcodes/).
|
123 |
+
Alternatively, you can use [Shortcode Creator add-on](https://getshortcodes.com/add-ons/shortcode-creator/).
|
124 |
|
|
|
125 |
|
126 |
+
### Can I use shortcodes in template files?
|
|
|
127 |
|
128 |
+
Yes! [How to use shortcodes in template files](https://getshortcodes.com/docs/using-shortcodes-in-template-files/).
|
129 |
|
|
|
130 |
|
131 |
+
### Will this plugin work with my theme?
|
132 |
|
133 |
+
Yes! Shortcodes Ultimate is designed to work with any theme, but your theme must include very basic things: 'wp_head' and 'wp_footer' template tags. Sometimes, the plugin may not work properly because of javascript errors caused by third-party plugins/themes.
|
|
|
134 |
|
|
|
135 |
|
136 |
+
### Where can I report a bug or suggest a feature?
|
|
|
|
|
|
|
|
|
137 |
|
138 |
+
[Support Forum](https://wordpress.org/support/plugin/shortcodes-ultimate).
|
139 |
|
|
|
140 |
|
141 |
+
### Where can I get help?
|
142 |
|
143 |
+
First, visit the [Help Center](https://getshortcodes.com/support/). If you get stuck, ask for help at the [official support forum](https://wordpress.org/support/plugin/shortcodes-ultimate). Also, you can get personal support from the developer by purchasing any of the [premium add-ons](https://getshortcodes.com/add-ons/).
|
|
|
|
|
|
|
|
|
|
|
144 |
|
|
|
145 |
|
146 |
+
## Changelog
|
|
|
147 |
|
148 |
|
149 |
+
### 5.9.0
|
150 |
|
151 |
+
**Important changes**
|
152 |
|
153 |
+
`[su_slider]` and `[su_carousel]` shortcodes are marked as deprecated. These shortcodes will disappaer from the *Available shortcodes* page and from the *Insert shortcode* window. Deprecated shortcodes will continue to work, but you'll not be able to insert them. You can enable deprecated shortcodes under *Dashboard → Shortcodes → Settings → Advanced settings*, but that's not recommended.
|
154 |
|
155 |
+
Use [su_image_carousel](https://getshortcodes.com/docs/image-carousel/) instead, it has more options, and much more reliable.
|
156 |
|
157 |
**What's new**
|
158 |
|
159 |
+
- `[su_image_carousel]` now supports media taxonomies
|
160 |
+
- New options `min_width` and `max_width` for `[su_lightbox_content]` shortcode
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
|
162 |
**Fixes**
|
163 |
|
164 |
+
- Fixed fatal errors `WP_Error` in `[su_slider]` and `[su_custom_gallery]`
|
165 |
+
- Fixed PHP notice `undefined variable` in `[su_post]` shortcode
|
166 |
+
- Fixed PHP notice `top_link` in `[su_divider]` shortcode
|
167 |
+
- Fixed PHP notice `filter_content` in `[su_post]` shortcode
|
168 |
+
- Fixed `related` option in `[su_dailymotion]` shortcode
|
169 |
+
- Fixed non-working *Slide Link* issue with `[su_custom_gallery]`
|
170 |
+
- Minor improvement to `[su_image_carousel]`
|
171 |
+
- Minor UI improvements
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shortcodes-ultimate.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Plugin Name: Shortcodes Ultimate
|
4 |
* Plugin URI: https://getshortcodes.com/
|
5 |
-
* Version: 5.
|
6 |
* Author: Vladimir Anokhin
|
7 |
* Author URI: https://vanokhin.com/
|
8 |
* Description: A comprehensive collection of visual components for WordPress
|
@@ -14,7 +14,7 @@
|
|
14 |
* Define plugin constants.
|
15 |
*/
|
16 |
define( 'SU_PLUGIN_FILE', __FILE__ );
|
17 |
-
define( 'SU_PLUGIN_VERSION', '5.
|
18 |
|
19 |
/**
|
20 |
* Load dependencies.
|
2 |
/**
|
3 |
* Plugin Name: Shortcodes Ultimate
|
4 |
* Plugin URI: https://getshortcodes.com/
|
5 |
+
* Version: 5.9.0
|
6 |
* Author: Vladimir Anokhin
|
7 |
* Author URI: https://vanokhin.com/
|
8 |
* Description: A comprehensive collection of visual components for WordPress
|
14 |
* Define plugin constants.
|
15 |
*/
|
16 |
define( 'SU_PLUGIN_FILE', __FILE__ );
|
17 |
+
define( 'SU_PLUGIN_VERSION', '5.9.0' );
|
18 |
|
19 |
/**
|
20 |
* Load dependencies.
|
templates/README.txt
DELETED
@@ -1,5 +0,0 @@
|
|
1 |
-
Do not edit templates in the plugin folder, since all your changes will be lost after plugin update.
|
2 |
-
|
3 |
-
Read the following article to learn how to edit default templates or create a custom one:
|
4 |
-
|
5 |
-
https://getshortcodes.com/docs/posts/#built-in-templates
|
|
|
|
|
|
|
|
|
|
templates/teaser-loop.php
DELETED
@@ -1,23 +0,0 @@
|
|
1 |
-
<div class="su-posts su-posts-teaser-loop">
|
2 |
-
<?php
|
3 |
-
// Posts are found
|
4 |
-
if ( $posts->have_posts() ) {
|
5 |
-
while ( $posts->have_posts() ) :
|
6 |
-
$posts->the_post();
|
7 |
-
global $post;
|
8 |
-
?>
|
9 |
-
<div id="su-post-<?php the_ID(); ?>" class="su-post">
|
10 |
-
<?php if ( has_post_thumbnail() ) : ?>
|
11 |
-
<a class="su-post-thumbnail" href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a>
|
12 |
-
<?php endif; ?>
|
13 |
-
<h2 class="su-post-title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
|
14 |
-
</div>
|
15 |
-
<?php
|
16 |
-
endwhile;
|
17 |
-
}
|
18 |
-
// Posts not found
|
19 |
-
else {
|
20 |
-
echo '<h4>' . __( 'Posts not found', 'shortcodes-ultimate' ) . '</h4>';
|
21 |
-
}
|
22 |
-
?>
|
23 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|