Shortcodes Ultimate - Version 5.9.0

Version Description

Download this release

Release Info

Developer gn_themes
Plugin Icon 128x128 Shortcodes Ultimate
Version 5.9.0
Comparing to
See all releases

Code changes from version 5.8.1 to 5.9.0

Files changed (40) hide show
  1. admin/css/generator.css +1 -1
  2. admin/images/shortcodes/display-posts.svg +1 -0
  3. changelog.txt +702 -0
  4. credits.txt +13 -0
  5. inc/core/generator-views.php +3 -1
  6. includes/config/addons.php +1 -1
  7. includes/config/animations.php +1 -1
  8. includes/config/borders.php +1 -1
  9. includes/config/crop-ratios.php +1 -1
  10. includes/config/default-settings.php +1 -1
  11. includes/config/groups.php +1 -1
  12. includes/config/icons.php +1 -1
  13. includes/config/supported-blocks.php +1 -1
  14. includes/css/shortcodes.css +1 -1
  15. includes/css/shortcodes.full.css +140 -0
  16. includes/functions-galleries.php +270 -230
  17. includes/functions-helpers.php +28 -2
  18. includes/js/generator/index.js +1 -1
  19. includes/js/generator/index.js.map +1 -1
  20. includes/partials/shortcodes/posts/templates/README.txt +5 -0
  21. {templates → includes/partials/shortcodes/posts/templates}/default-loop.php +14 -0
  22. {templates → includes/partials/shortcodes/posts/templates}/list-loop.php +14 -0
  23. {templates → includes/partials/shortcodes/posts/templates}/single-post.php +14 -0
  24. includes/partials/shortcodes/posts/templates/teaser-loop.php +31 -0
  25. includes/shortcodes/0-all.php +1 -0
  26. includes/shortcodes/carousel.php +3 -1
  27. includes/shortcodes/custom-gallery.php +5 -0
  28. includes/shortcodes/dailymotion.php +5 -1
  29. includes/shortcodes/display-posts.php +570 -0
  30. includes/shortcodes/divider.php +1 -0
  31. includes/shortcodes/image-carousel.php +2 -8
  32. includes/shortcodes/lightbox-content.php +138 -76
  33. includes/shortcodes/post.php +8 -4
  34. includes/shortcodes/posts.php +55 -32
  35. includes/shortcodes/slider.php +8 -1
  36. languages/shortcodes-ultimate.pot +480 -299
  37. readme.txt +74 -758
  38. shortcodes-ultimate.php +2 -2
  39. templates/README.txt +0 -5
  40. 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 `&amp;`, 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
- * Get slides data.
5
  *
6
- * @since 5.0.5
7
- * @param array $args Query args.
8
- * @return array Slides collection.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  */
10
- function su_get_slides( $args ) {
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
- foreach ( array( 'media', 'posts', 'category', 'taxonomy' ) as $type ) {
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
- // Source: posts
60
- if ( 'posts' === $args['source']['type'] ) {
61
-
62
- if ( 'recent' !== $args['source']['val'] ) {
63
 
64
- $query['post__in'] = (array) explode( ',', $args['source']['val'] );
65
- $query['orderby'] = 'post__in';
66
- $query['post_type'] = 'any';
67
 
 
 
68
  }
69
 
70
- } elseif ( 'category' === $args['source']['type'] ) {
71
- $query['category__in'] = (array) explode( ',', $args['source']['val'] );
72
- } elseif ( 'taxonomy' === $args['source']['type'] ) {
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
- $query['tax_query'] = array(
84
- array(
85
- 'taxonomy' => $args['source']['val'][0],
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
- foreach ( $query->posts as $post ) {
100
-
101
- $thumb = 'media' === $args['source']['type'] || 'attachment' === $post->post_type
102
- ? $post->ID
103
- : get_post_thumbnail_id( $post->ID );
104
-
105
- if ( ! su_is_positive_number( $thumb ) ) {
106
- continue;
107
- }
108
 
109
- $slide = array(
110
- 'image' => wp_get_attachment_url( $thumb ),
111
- 'link' => '',
112
- 'title' => get_the_title( $post->ID ),
113
- );
114
 
115
- if ( 'image' === $args['link'] || 'lightbox' === $args['link'] ) {
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
- } elseif ( 'attachment' === $args['link'] ) {
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
- $slides = array();
 
 
154
 
155
- $args['gallery'] = null === $args['gallery']
156
- ? 0
157
- : $args['gallery'] - 1;
158
 
159
- $galleries = get_option( 'su_option_galleries-432' );
160
 
161
- if ( ! is_array( $galleries ) ) {
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
- * Helper function to get gallery slides.
175
- *
176
- * Example input:
177
  *
178
- * media: 1, 2, 3
179
- * media: recent
180
- * posts: 1, 2, 3
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 su_get_gallery_slides( $source, $args = array() ) {
201
 
202
- $slides = array();
203
- $query = array();
204
- $source = su_parse_images_source( $source );
205
 
206
  if ( ! $source ) {
207
- return array();
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'] = intval( $args['limit'] );
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'] = intval( $args['limit'] );
236
  }
237
 
238
- if ( 'recent' !== $source['ids'] ) {
239
 
240
- $query['posts_per_page'] = -1;
241
- $query['post__in'] = $source['ids'];
242
- $query['orderby'] = 'post__in';
 
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'] = intval( $args['limit'] );
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
- case 'post':
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
- default:
313
- $slide['link'] = '';
314
- break;
 
315
 
316
  }
317
 
318
- $slides[] = $slide;
319
-
320
  }
321
 
322
- return $slides;
 
 
 
323
 
324
  }
325
 
@@ -337,7 +192,7 @@ function su_get_gallery_slides( $source, $args = array() ) {
337
  * Output:
338
  *
339
  * [
340
- * 'type' => 'media',
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 . DIRECTORY_SEPARATOR . $path );
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
- 'name' => __( 'Carousel', 'shortcodes-ultimate' ),
 
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', 'related', '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
  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( array(
4
- 'id' => 'lightbox_content',
5
- 'callback' => 'su_shortcode_lightbox_content',
6
- 'image' => su_get_plugin_url() . 'admin/images/shortcodes/lightbox_content.svg',
7
- 'name' => __( 'Lightbox content', 'shortcodes-ultimate' ),
8
- 'type' => 'wrap',
9
- 'group' => 'gallery',
 
10
  'required_sibling' => 'lightbox',
11
- 'article' => 'https://getshortcodes.com/docs/lightbox/',
12
- 'atts' => array(
13
- 'id' => array(
14
  'default' => '',
15
- 'name' => __( 'ID', 'shortcodes-ultimate' ),
16
- 'desc' => sprintf( __( 'Enter here the ID from Content source field. %s Example value: %s', 'shortcodes-ultimate' ), '<br>', '<b%value>my-custom-popup</b>' )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  ),
18
- 'width' => array(
19
- 'default' => '50%',
20
- 'name' => __( 'Width', 'shortcodes-ultimate' ),
21
- 'desc' => sprintf( __( 'Adjust the width for inline content (in pixels or percents). %s Example values: %s, %s, %s', 'shortcodes-ultimate' ), '<br>', '<b%value>300px</b>', '<b%value>600px</b>', '<b%value>90%</b>' )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  ),
23
- 'margin' => array(
24
- 'type' => 'slider',
25
- 'min' => 0,
26
- 'max' => 600,
27
- 'step' => 5,
28
  'default' => 40,
29
- 'name' => __( 'Margin', 'shortcodes-ultimate' ),
30
- 'desc' => __( 'Adjust the margin for inline content (in pixels)', 'shortcodes-ultimate' )
31
  ),
32
- 'padding' => array(
33
- 'type' => 'slider',
34
- 'min' => 0,
35
- 'max' => 600,
36
- 'step' => 5,
37
  'default' => 40,
38
- 'name' => __( 'Padding', 'shortcodes-ultimate' ),
39
- 'desc' => __( 'Adjust the padding for inline content (in pixels)', 'shortcodes-ultimate' )
40
  ),
41
  'text_align' => array(
42
- 'type' => 'select',
43
- 'values' => array(
44
  'left' => __( 'Left', 'shortcodes-ultimate' ),
45
  'center' => __( 'Center', 'shortcodes-ultimate' ),
46
- 'right' => __( 'Right', 'shortcodes-ultimate' )
47
  ),
48
  'default' => 'center',
49
- 'name' => __( 'Text alignment', 'shortcodes-ultimate' ),
50
- 'desc' => __( 'Select the text alignment', 'shortcodes-ultimate' )
51
  ),
52
  'background' => array(
53
- 'type' => 'color',
54
  'default' => '#FFFFFF',
55
- 'name' => __( 'Background color', 'shortcodes-ultimate' ),
56
- 'desc' => __( 'Pick a background color', 'shortcodes-ultimate' )
57
  ),
58
- 'color' => array(
59
- 'type' => 'color',
60
  'default' => '#333333',
61
- 'name' => __( 'Text color', 'shortcodes-ultimate' ),
62
- 'desc' => __( 'Pick a text color', 'shortcodes-ultimate' )
63
  ),
64
- 'color' => array(
65
- 'type' => 'color',
66
  'default' => '#333333',
67
- 'name' => __( 'Text color', 'shortcodes-ultimate' ),
68
- 'desc' => __( 'Pick a text color', 'shortcodes-ultimate' )
69
  ),
70
- 'shadow' => array(
71
- 'type' => 'shadow',
72
  'default' => '0px 0px 15px #333333',
73
- 'name' => __( 'Shadow', 'shortcodes-ultimate' ),
74
- 'desc' => __( 'Adjust the shadow for content box', 'shortcodes-ultimate' )
75
  ),
76
- 'class' => array(
77
- 'type' => 'extra_css_class',
78
- 'name' => __( 'Extra CSS class', 'shortcodes-ultimate' ),
79
- 'desc' => __( 'Additional CSS class name(s) separated by space(s)', 'shortcodes-ultimate' ),
80
  'default' => '',
81
  ),
82
  ),
83
- 'content' => __( 'Inline content', 'shortcodes-ultimate' ),
84
- 'desc' => __( 'Inline content for lightbox', 'shortcodes-ultimate' ),
85
- 'icon' => 'external-link',
86
- ) );
 
87
 
88
  function su_shortcode_lightbox_content( $atts = null, $content = null ) {
89
 
90
- $atts = shortcode_atts( array(
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
- return su_error_message( 'Lightbox content', __( 'please specify correct ID for this block. You should use same ID as in the Content source field (when inserting lightbox shortcode)', 'shortcodes-ultimate' ) );
 
 
 
 
 
106
  }
107
 
108
- $return = '<div class="su-lightbox-content su-u-trim ' . su_get_css_class( $atts ) . '" id="' . trim( $atts['id'], '#' ) . '" style="display:none;width:' . $atts['width'] . ';margin-top:' . $atts['margin'] . 'px;margin-bottom:' . $atts['margin'] . 'px;padding:' . $atts['padding'] . 'px;background-color:' . $atts['background'] . ';color:' . $atts['color'] . ';box-shadow:' . $atts['shadow'] . ';text-align:' . $atts['text_align'] . '">' . do_shortcode( $content ) . '</div>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
109
 
110
- return did_action( 'su/generator/preview/before' )
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( 'post', $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'] = 'post_content';
97
- $filter_content = true;
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
- // Add extension to template name
387
- $atts['template'] = su_set_file_extension( $atts['template'], 'php' );
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
- 'name' => __( 'Slider', 'shortcodes-ultimate' ),
 
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:73, includes/shortcodes/tooltip.php:46
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:419, inc/core/widget.php:14, inc/core/widget.php:40, admin/partials/help/sidebar.php:3
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:147, includes/shortcodes/image-carousel.php:20
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:395
276
  msgid "Original image size"
277
  msgstr ""
278
 
279
- #: includes/functions-galleries.php:414
280
  msgid "Slide link"
281
  msgstr ""
282
 
283
- #: includes/functions-galleries.php:420
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:93
 
 
 
 
 
369
  msgid "Yes"
370
  msgstr ""
371
 
372
- #: inc/core/generator-views.php:93
373
  msgid "No"
374
  msgstr ""
375
 
376
- #: inc/core/generator-views.php:98, inc/core/generator-views.php:98, inc/core/generator-views.php:103, inc/core/generator-views.php:103
377
  msgid "Media manager"
378
  msgstr ""
379
 
380
- #: inc/core/generator-views.php:103, inc/core/generator-views.php:103
381
  msgid "Icon picker"
382
  msgstr ""
383
 
384
- #: inc/core/generator-views.php:103
385
  msgid "Filter icons"
386
  msgstr ""
387
 
388
- #: inc/core/generator-views.php:124
389
  msgid "Horizontal offset"
390
  msgstr ""
391
 
392
- #: inc/core/generator-views.php:124
393
  msgid "Vertical offset"
394
  msgstr ""
395
 
396
- #: inc/core/generator-views.php:124
397
  msgid "Blur"
398
  msgstr ""
399
 
400
- #: inc/core/generator-views.php:124, includes/shortcodes/box.php:35
401
  msgid "Color"
402
  msgstr ""
403
 
404
- #: inc/core/generator-views.php:135
405
  msgid "Border width"
406
  msgstr ""
407
 
408
- #: inc/core/generator-views.php:135
409
  msgid "Border style"
410
  msgstr ""
411
 
412
- #: inc/core/generator-views.php:135
413
  msgid "Border color"
414
  msgstr ""
415
 
416
- #: inc/core/generator-views.php:146, includes/shortcodes/image-carousel.php:18
417
  msgid "Media library"
418
  msgstr ""
419
 
420
- #: inc/core/generator-views.php:148, includes/shortcodes/image-carousel.php:21, includes/shortcodes/posts.php:56
421
  msgid "Taxonomy"
422
  msgstr ""
423
 
424
- #: inc/core/generator-views.php:155
425
  msgid "Select images source"
426
  msgstr ""
427
 
428
- #: inc/core/generator-views.php:166
429
  msgid "Select taxonomy"
430
  msgstr ""
431
 
432
- #: inc/core/generator-views.php:177
433
  msgid "Add images"
434
  msgstr ""
435
 
436
- #: inc/core/generator-views.php:177
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:177
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:177
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:34, includes/shortcodes/custom-gallery.php:30, 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:34
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:141, includes/shortcodes/column.php:40, includes/shortcodes/csv-table.php:52, includes/shortcodes/custom-gallery.php:82, includes/shortcodes/dailymotion.php:103, 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:78, 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:122, 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
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:142, includes/shortcodes/column.php:41, includes/shortcodes/csv-table.php:53, includes/shortcodes/custom-gallery.php:83, includes/shortcodes/dailymotion.php:104, 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:79, 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:123, 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
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:61, 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:20, includes/shortcodes/slider.php:61, includes/shortcodes/video.php:35, includes/shortcodes/vimeo.php:23, includes/shortcodes/youtube-advanced.php:29, includes/shortcodes/youtube.php:23
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&#37;</b>"
722
  msgstr ""
723
 
724
- #: includes/shortcodes/audio.php:26, includes/shortcodes/carousel.php:128, includes/shortcodes/dailymotion.php:44, includes/shortcodes/image-carousel.php:157, includes/shortcodes/slider.php:109, includes/shortcodes/video.php:56, includes/shortcodes/vimeo.php:44, includes/shortcodes/youtube-advanced.php:72, includes/shortcodes/youtube.php:44
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:48, 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:48, includes/shortcodes/tabs.php:102
841
  msgid "Open in same tab"
842
  msgstr ""
843
 
844
- #: includes/shortcodes/button.php:22, includes/shortcodes/carousel.php:49, 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:49, includes/shortcodes/tabs.php:103
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:61, includes/shortcodes/lightbox-content.php:67, includes/shortcodes/note.php:23
885
  msgid "Text color"
886
  msgstr ""
887
 
@@ -1001,163 +986,164 @@ msgstr ""
1001
  msgid "Styled button"
1002
  msgstr ""
1003
 
1004
- #: includes/shortcodes/carousel.php:7
1005
- msgid "Carousel"
 
1006
  msgstr ""
1007
 
1008
- #: includes/shortcodes/carousel.php:12, includes/shortcodes/slider.php:12
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:13, includes/shortcodes/slider.php:13
1013
  msgid "Switch to Image Carousel"
1014
  msgstr ""
1015
 
1016
- #: includes/shortcodes/carousel.php:19, includes/shortcodes/custom-gallery.php:15, includes/shortcodes/slider.php:19
1017
  msgid "Source"
1018
  msgstr ""
1019
 
1020
- #: includes/shortcodes/carousel.php:20, includes/shortcodes/custom-gallery.php:16, includes/shortcodes/slider.php:20
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:28, includes/shortcodes/custom-gallery.php:24, includes/shortcodes/feed.php:24, includes/shortcodes/image-carousel.php:32, includes/shortcodes/slider.php:28
1025
  msgid "Limit"
1026
  msgstr ""
1027
 
1028
- #: includes/shortcodes/carousel.php:29, includes/shortcodes/custom-gallery.php:25, includes/shortcodes/slider.php:29
1029
  msgid "Maximum number of image source posts (for recent posts, category and custom taxonomy)"
1030
  msgstr ""
1031
 
1032
- #: includes/shortcodes/carousel.php:35, includes/shortcodes/custom-gallery.php:31, includes/shortcodes/image-carousel.php:131, includes/shortcodes/slider.php:35
1033
  msgid "Full-size image"
1034
  msgstr ""
1035
 
1036
- #: includes/shortcodes/carousel.php:36, includes/shortcodes/custom-gallery.php:32, includes/shortcodes/image-carousel.php:132, includes/shortcodes/lightbox.php:8, includes/shortcodes/slider.php:36
1037
  msgid "Lightbox"
1038
  msgstr ""
1039
 
1040
- #: includes/shortcodes/carousel.php:37, includes/shortcodes/custom-gallery.php:33, includes/shortcodes/slider.php:37
1041
  msgid "Slide link (added in media editor)"
1042
  msgstr ""
1043
 
1044
- #: includes/shortcodes/carousel.php:38, includes/shortcodes/custom-gallery.php:34, includes/shortcodes/image-carousel.php:134, includes/shortcodes/slider.php:38
1045
  msgid "Attachment page"
1046
  msgstr ""
1047
 
1048
- #: includes/shortcodes/carousel.php:39, includes/shortcodes/custom-gallery.php:35, includes/shortcodes/image-carousel.php:135, includes/shortcodes/slider.php:39
1049
  msgid "Post permalink"
1050
  msgstr ""
1051
 
1052
- #: includes/shortcodes/carousel.php:42, includes/shortcodes/custom-gallery.php:38, includes/shortcodes/slider.php:42
1053
  msgid "Links"
1054
  msgstr ""
1055
 
1056
- #: includes/shortcodes/carousel.php:43, includes/shortcodes/custom-gallery.php:39, includes/shortcodes/slider.php:43
1057
  msgid "Select which links will be used for images in this gallery"
1058
  msgstr ""
1059
 
1060
- #: includes/shortcodes/carousel.php:52, includes/shortcodes/custom-gallery.php:48, includes/shortcodes/feed.php:34, includes/shortcodes/image-carousel.php:148, includes/shortcodes/slider.php:52
1061
  msgid "Links target"
1062
  msgstr ""
1063
 
1064
- #: includes/shortcodes/carousel.php:53, includes/shortcodes/custom-gallery.php:49, includes/shortcodes/slider.php:53
1065
  msgid "Open links in"
1066
  msgstr ""
1067
 
1068
- #: includes/shortcodes/carousel.php:62
1069
  msgid "Carousel width (in pixels)"
1070
  msgstr ""
1071
 
1072
- #: includes/shortcodes/carousel.php:70, 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:69, 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
1073
  msgid "Height"
1074
  msgstr ""
1075
 
1076
- #: includes/shortcodes/carousel.php:71
1077
  msgid "Carousel height (in pixels)"
1078
  msgstr ""
1079
 
1080
- #: includes/shortcodes/carousel.php:76, 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:74, includes/shortcodes/table.php:17, includes/shortcodes/vimeo.php:38, includes/shortcodes/youtube-advanced.php:44, includes/shortcodes/youtube.php:38
1081
  msgid "Responsive"
1082
  msgstr ""
1083
 
1084
- #: includes/shortcodes/carousel.php:77
1085
  msgid "Ignore width and height parameters and make carousel responsive"
1086
  msgstr ""
1087
 
1088
- #: includes/shortcodes/carousel.php:85
1089
  msgid "Items to show"
1090
  msgstr ""
1091
 
1092
- #: includes/shortcodes/carousel.php:86
1093
  msgid "How much carousel items is visible"
1094
  msgstr ""
1095
 
1096
- #: includes/shortcodes/carousel.php:93
1097
  msgid "Scroll number"
1098
  msgstr ""
1099
 
1100
- #: includes/shortcodes/carousel.php:94
1101
  msgid "How much items are scrolled in one transition"
1102
  msgstr ""
1103
 
1104
- #: includes/shortcodes/carousel.php:99, includes/shortcodes/custom-gallery.php:77, includes/shortcodes/slider.php:80
1105
  msgid "Show titles"
1106
  msgstr ""
1107
 
1108
- #: includes/shortcodes/carousel.php:99
1109
  msgid "Display titles for each item"
1110
  msgstr ""
1111
 
1112
- #: includes/shortcodes/carousel.php:104, 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:45, includes/shortcodes/qrcode.php:45, includes/shortcodes/slider.php:85
1113
  msgid "Center"
1114
  msgstr ""
1115
 
1116
- #: includes/shortcodes/carousel.php:104
1117
  msgid "Is carousel centered on the page"
1118
  msgstr ""
1119
 
1120
- #: includes/shortcodes/carousel.php:109, includes/shortcodes/slider.php:90
1121
  msgid "Arrows"
1122
  msgstr ""
1123
 
1124
- #: includes/shortcodes/carousel.php:109, includes/shortcodes/slider.php:90
1125
  msgid "Show left and right arrows"
1126
  msgstr ""
1127
 
1128
- #: includes/shortcodes/carousel.php:114, includes/shortcodes/slider.php:95
1129
  msgid "Pagination"
1130
  msgstr ""
1131
 
1132
- #: includes/shortcodes/carousel.php:115, includes/shortcodes/slider.php:96
1133
  msgid "Show pagination"
1134
  msgstr ""
1135
 
1136
- #: includes/shortcodes/carousel.php:119, includes/shortcodes/slider.php:100
1137
  msgid "Mouse wheel control"
1138
  msgstr ""
1139
 
1140
- #: includes/shortcodes/carousel.php:120
1141
  msgid "Allow to rotate carousel with mouse wheel"
1142
  msgstr ""
1143
 
1144
- #: includes/shortcodes/carousel.php:129
1145
  msgid "Choose interval between auto animations. Set to 0 to disable autoplay"
1146
  msgstr ""
1147
 
1148
- #: includes/shortcodes/carousel.php:137, includes/shortcodes/slider.php:118
1149
  msgid "Speed"
1150
  msgstr ""
1151
 
1152
- #: includes/shortcodes/carousel.php:137, includes/shortcodes/slider.php:118
1153
  msgid "Specify animation speed"
1154
  msgstr ""
1155
 
1156
- #: includes/shortcodes/carousel.php:146
1157
  msgid "Customizable image carousel"
1158
  msgstr ""
1159
 
1160
- #: includes/shortcodes/carousel.php:236, includes/shortcodes/custom-gallery.php:157, includes/shortcodes/image-carousel.php:236, includes/shortcodes/slider.php:209
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:55, includes/shortcodes/qrcode.php:76
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:29, includes/shortcodes/qrcode.php:37
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:44, includes/shortcodes/pullquote.php:14, includes/shortcodes/qrcode.php:44, includes/shortcodes/tooltip.php:36
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:46, includes/shortcodes/pullquote.php:15, includes/shortcodes/qrcode.php:46, includes/shortcodes/tooltip.php:37
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:7
2153
  msgid "Lightbox content"
2154
  msgstr ""
2155
 
2156
- #: includes/shortcodes/lightbox-content.php:15, includes/shortcodes/permalink.php:13, includes/shortcodes/user.php:21
2157
  msgid "ID"
2158
  msgstr ""
2159
 
2160
- #: includes/shortcodes/lightbox-content.php:16
2161
- msgid "Enter here the ID from Content source field. %s Example value: %s"
2162
  msgstr ""
2163
 
2164
- #: includes/shortcodes/lightbox-content.php:21
2165
- msgid "Adjust the width for inline content (in pixels or percents). %s Example values: %s, %s, %s"
2166
  msgstr ""
2167
 
2168
- #: includes/shortcodes/lightbox-content.php:30
2169
- msgid "Adjust the margin for inline content (in pixels)"
2170
  msgstr ""
2171
 
2172
- #: includes/shortcodes/lightbox-content.php:38
2173
- msgid "Padding"
2174
  msgstr ""
2175
 
2176
  #: includes/shortcodes/lightbox-content.php:39
2177
- msgid "Adjust the padding for inline content (in pixels)"
 
 
 
 
2178
  msgstr ""
2179
 
2180
  #: includes/shortcodes/lightbox-content.php:49
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2181
  msgid "Text alignment"
2182
  msgstr ""
2183
 
2184
- #: includes/shortcodes/lightbox-content.php:50
2185
  msgid "Select the text alignment"
2186
  msgstr ""
2187
 
2188
- #: includes/shortcodes/lightbox-content.php:56, includes/shortcodes/qrcode.php:77
2189
  msgid "Pick a background color"
2190
  msgstr ""
2191
 
2192
- #: includes/shortcodes/lightbox-content.php:62, includes/shortcodes/lightbox-content.php:68
2193
  msgid "Pick a text color"
2194
  msgstr ""
2195
 
2196
- #: includes/shortcodes/lightbox-content.php:74
2197
  msgid "Adjust the shadow for content box"
2198
  msgstr ""
2199
 
2200
- #: includes/shortcodes/lightbox-content.php:83
2201
  msgid "Inline content"
2202
  msgstr ""
2203
 
2204
- #: includes/shortcodes/lightbox-content.php:84
2205
  msgid "Inline content for lightbox"
2206
  msgstr ""
2207
 
2208
- #: includes/shortcodes/lightbox-content.php:105
2209
- msgid "please specify correct ID for this block. You should use same ID as in the Content source field (when inserting lightbox shortcode)"
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:89
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
- #: includes/shortcodes/slider.php:7
2998
- msgid "Slider"
 
2999
  msgstr ""
3000
 
3001
- #: includes/shortcodes/slider.php:61
3002
  msgid "Slider width (in pixels)"
3003
  msgstr ""
3004
 
3005
- #: includes/shortcodes/slider.php:69
3006
  msgid "Slider height (in pixels)"
3007
  msgstr ""
3008
 
3009
- #: includes/shortcodes/slider.php:75
3010
  msgid "Ignore width and height parameters and make slider responsive"
3011
  msgstr ""
3012
 
3013
- #: includes/shortcodes/slider.php:80
3014
  msgid "Display slide titles"
3015
  msgstr ""
3016
 
3017
- #: includes/shortcodes/slider.php:85
3018
  msgid "Is slider centered on the page"
3019
  msgstr ""
3020
 
3021
- #: includes/shortcodes/slider.php:101
3022
  msgid "Allow to change slides with mouse wheel"
3023
  msgstr ""
3024
 
3025
- #: includes/shortcodes/slider.php:110
3026
  msgid "Choose interval between slide animations. Set to 0 to disable autoplay"
3027
  msgstr ""
3028
 
3029
- #: includes/shortcodes/slider.php:127
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&#37;</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
- === 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
  Requires PHP: 5.3
8
- Tested up to: 5.4
9
- Stable tag: 5.8.1
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
- * [GitHub](https://github.com/vanokhin/shortcodes-ultimate)
42
 
43
 
44
- = Check out premium add-ons! =
45
 
46
- * [Extra Shortcodes](https://getshortcodes.com/add-ons/extra-shortcodes/?utm_campaign=wporg&utm_source=readme&utm_medium=extra-shortcodes) - 15+ additional shortcodes
47
- * [Additional Skins](https://getshortcodes.com/add-ons/additional-skins/?utm_campaign=wporg&utm_source=readme&utm_medium=additional-skins) - 60+ additional skins
48
- * [Shortcode Creator](https://getshortcodes.com/add-ons/shortcode-creator/?utm_campaign=wporg&utm_source=readme&utm_medium=shortcode-creator) - create your own custom shortcodes
49
- * __[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!
50
 
51
 
52
- = Available Shortcodes =
53
 
54
  `
55
  Heading Tabs Spoiler Accordion
@@ -68,43 +67,26 @@ QR code Scheduler
68
  `
69
 
70
 
71
- = Thanks to these great guys for contribution =
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
- == Installation ==
 
 
89
 
90
- = From within dashboard (recommended) =
91
 
92
- 1. Navigate to `Dashboard` ▸ `Plugins` ▸ `Add New`;
93
- 2. Search for `Shortcodes Ultimate`;
94
- 3. Click `Install`, then `Activate`.
95
 
96
- [Watch video of the process](https://www.youtube.com/watch?v=6xhplrZJD9c).
97
 
98
- = Manual installation =
 
 
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
- [Detailed installation guide](https://getshortcodes.com/docs/plugin-installation/).
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
- == Frequently Asked Questions ==
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
- **Fixes**
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 `&amp;`, 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
- - 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).
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
- = 5.4.1 =
268
 
269
- This update fix various issues related to version 5.4.0
270
 
271
 
272
- = 5.4.0 =
273
 
274
- **What's new**
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
- **Improvements**
283
 
284
- - *Custom CSS code* field now has syntax highlighting
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
- **Fixes**
292
 
293
- - Fixed issue with `[su_lightbox]` on iOS
294
- - Removed `!important` from column styles for mobile devices
295
 
296
- **Security**
297
 
298
- - `[su_posts]` and `[su_template]` are now allow only templates from active theme or plugin folders
299
- - *Error messages* are now displayed only to allowed users (user must have required capability)
300
 
 
301
 
302
- = 5.3.0 =
303
 
304
- **What's new**
305
 
306
- - New shortcode `[su_csv_table]` for displaying CSV tables
307
- - New option `indent` for the `[su_list]` shortcode, which allows adjusting of list indentation
308
 
309
- **Fixes**
310
 
311
- - Fixed inaccessible fields in media modal (while inserting Gallery/Slider/Carousel shortcodes)
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
- **Improvements**
321
 
322
- - Tabs and accordions/spoilers are now accessible from keyboard
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
- - youtube_advanced showinfo parameter is deprecated and removed from the plugin. [Why?](https://developers.google.com/youtube/player_parameters#release_notes_08_23_2018)
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
- = 5.1.1 =
336
 
337
- - Gutenberg compatibility enabled by default
338
 
 
339
 
340
- = 5.1.0 =
341
 
342
  **What's new**
343
 
344
- - Added compatibility with the Gutenberg editor. [Learn more](https://vanokhin.com/su-now-supports-gutenberg/).
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 warning in `su_siblings` shortcode.
405
-
406
-
407
- = 5.0.4 =
408
- * Fixed: added missing FontAwesome icons
409
- * Fixed: is_plugin_active call removed on frontend
410
- * Fixed: nested shortcodes
411
- * Fixed: issue with spoiler loaded through ajax
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.8.1
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.8.1' );
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>