Version Description
Download this release
Release Info
Developer | nko |
Plugin | Visual Portfolio, Photo Gallery & Post Grid |
Version | 2.10.0 |
Comparing to | |
See all releases |
Code changes from version 2.9.1 to 2.10.0
- assets/admin/css/style-rtl.min.css +1 -1
- assets/admin/css/style.min.css +1 -1
- assets/admin/js/elementor.js +1 -1
- assets/admin/js/mce-dropdown.js +1 -1
- assets/admin/js/script.js +1 -1
- assets/admin/js/vc-frontend.js +1 -1
- assets/js/main.js +7 -2
- assets/js/main.min.js +1 -1
- assets/js/preview.js +1 -1
- class-visual-portfolio.php +6 -62
- classes/class-admin.php +66 -10
- classes/class-assets.php +22 -18
- classes/class-custom-post-type.php +2 -2
- classes/class-elementor-widget.php +2 -2
- classes/class-get-portfolio.php +26 -2
- classes/class-gutenberg.php +3 -3
- classes/class-migration.php +1 -1
- classes/class-preview.php +2 -2
- classes/class-settings.php +9 -1
- classes/class-supported-themes.php +1 -1
- classes/class-templates.php +102 -0
- classes/class-tinymce.php +1 -1
- classes/class-vc.php +1 -1
- gutenberg/components/controls-render/index.js +1 -1
- languages/visual-portfolio.pot +171 -167
- readme.md +70 -40
- templates/global/link-end.php +21 -0
- templates/global/link-start.php +46 -0
- templates/items-list/filter/dropdown/filter.php +3 -1
- templates/items-list/filter/filter.php +3 -1
- templates/items-list/filter/minimal/filter.php +3 -1
- templates/items-list/item-parts/excerpt.php +25 -0
- templates/items-list/item-parts/icon.php +42 -0
- templates/items-list/item-parts/inline-meta.php +53 -0
- templates/items-list/item-parts/meta-author.php +55 -0
- templates/items-list/item-parts/meta-categories.php +51 -0
- templates/items-list/item-parts/meta-comments.php +50 -0
- templates/items-list/item-parts/meta-date.php +33 -0
- templates/items-list/item-parts/meta-reading-time.php +46 -0
- templates/items-list/item-parts/meta-views.php +36 -0
- templates/items-list/item-parts/read-more.php +23 -0
- templates/items-list/item-parts/title.php +37 -0
- templates/items-list/items-style/emerge/image.php +14 -25
- templates/items-list/items-style/emerge/meta.php +16 -223
- templates/items-list/items-style/fade/image.php +14 -24
- templates/items-list/items-style/fade/meta.php +34 -257
- templates/items-list/items-style/fly/image.php +14 -24
- templates/items-list/items-style/fly/meta.php +35 -257
- templates/items-list/items-style/image.php +25 -58
- templates/items-list/items-style/meta.php +18 -231
- templates/items-list/layouts/slider/thumbnails.php +2 -1
- templates/items-list/pagination/infinite.php +1 -0
- templates/items-list/pagination/load-more.php +1 -0
- templates/items-list/pagination/minimal/infinite.php +1 -0
- templates/items-list/pagination/minimal/load-more.php +1 -0
- templates/items-list/pagination/minimal/paged.php +3 -1
- templates/items-list/pagination/paged.php +3 -1
- templates/items-list/sort/dropdown/sort.php +3 -1
- templates/items-list/sort/minimal/sort.php +3 -1
- templates/items-list/sort/sort.php +3 -1
- templates/items-list/wrapper-start.php +2 -1
- vendors/class-settings-api.php +38 -33
assets/admin/css/style-rtl.min.css
CHANGED
@@ -2,4 +2,4 @@
|
|
2 |
* Name : Visual Portfolio
|
3 |
* Version : @@plugin_version
|
4 |
* Author : nK https://nkdev.info
|
5 |
-
*/#adminmenu a[href*="page=visual_portfolio_go_pro"],.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]{font-weight:700;color:#ff6a38}#adminmenu a[href*="page=visual_portfolio_go_pro"] .dashicons,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"] .dashicons{-webkit-transition:none;-o-transition:none;transition:none}#adminmenu a[href*="page=visual_portfolio_go_pro"]:hover,#adminmenu a[href*="page=visual_portfolio_go_pro"]:focus,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:hover,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:focus{color:#f59372}.dashicons-visual-portfolio,.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon.svg");background-repeat:no-repeat;background-position:center center;background-size:18px;opacity:.6}.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon-mce.svg");opacity:1}.menu-top.current .dashicons-visual-portfolio,.menu-top:hover .dashicons-visual-portfolio,.wp-has-current-submenu .dashicons-visual-portfolio{opacity:1}.vc_element-icon[data-is-container="true"].icon-visual-portfolio,.vc_element-icon.icon-visual-portfolio{background-position:50% 50%}.vc_element-icon.icon-visual-portfolio,.vc_control-visual-portfolio{position:relative;overflow:hidden;background-image:url("../images/icon-gutenberg.svg");background-position:50% 50%;background-size:cover;border-radius:3px}.vc_add-element-container .icon-visual-portfolio{position:absolute}.vc_control-visual-portfolio{display:inline-block;width:18px;height:18px;margin:0 2px;cursor:pointer}.vc_controls-row .vc_control-visual-portfolio{float:left;margin:4px}.vc_control-visual-portfolio-overlay{position:absolute;top:0;left:0;bottom:0;right:0;z-index:2}.vp-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-sizing:border-box;box-sizing:border-box;margin-left:-15px;margin-right:-15px}.vp-col-1,.vp-col-2,.vp-col-3,.vp-col-4,.vp-col-5,.vp-col-6,.vp-col-7,.vp-col-8,.vp-col-9,.vp-col-10,.vp-col-11,.vp-col-12{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:15px;padding-right:15px}.vp-col-1{-ms-flex-preferred-size:8.33333%;flex-basis:8.33333%;max-width:8.33333%}.vp-col-2{-ms-flex-preferred-size:16.66667%;flex-basis:16.66667%;max-width:16.66667%}.vp-col-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.vp-col-4{-ms-flex-preferred-size:33.33333%;flex-basis:33.33333%;max-width:33.33333%}.vp-col-5{-ms-flex-preferred-size:41.66667%;flex-basis:41.66667%;max-width:41.66667%}.vp-col-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.vp-col-7{-ms-flex-preferred-size:58.33333%;flex-basis:58.33333%;max-width:58.33333%}.vp-col-8{-ms-flex-preferred-size:66.66667%;flex-basis:66.66667%;max-width:66.66667%}.vp-col-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.vp-col-10{-ms-flex-preferred-size:83.33333%;flex-basis:83.33333%;max-width:83.33333%}.vp-col-11{-ms-flex-preferred-size:91.66667%;flex-basis:91.66667%;max-width:91.66667%}.vp-col-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix .vp-control-html{margin-bottom:0}.vp-oembed-preview{position:relative;width:100%;padding-top:56.25%;color:#a2a2a2;background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-oembed-preview::after{content:"\f126";position:absolute;display:block;top:50%;right:50%;width:20px;height:20px;margin-top:-10px;margin-right:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;z-index:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vp-oembed-preview>iframe{position:absolute;top:0;right:0;width:100%;height:100%;z-index:2}.vpf-post-image-focal-point-panel .components-focal-point-picker_position-display-container .components-base-control__label{max-width:100%}.vpf-post-image-focal-point-panel .components-focal-point-picker_position-display-container .components-base-control{margin-bottom:0}.vpf-post-image-focal-point-panel ~ .editor-post-featured-image .editor-post-featured-image__preview{display:none}.vp-input{width:100%}.vp-portfolio__thumbnail{position:relative;display:block;max-width:70px;padding-top:100%;overflow:hidden;border-radius:3px}.vp-portfolio__thumbnail img{position:absolute;display:block;top:0;right:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.vp-portfolio__thumbnail:empty{background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-portfolio__thumbnail:empty,.vp-portfolio__thumbnail:empty:hover,.vp-portfolio__thumbnail:empty:active,.vp-portfolio__thumbnail:empty:focus{color:#a2a2a2}.vp-portfolio__thumbnail:empty::after{content:"\f128";position:absolute;display:block;top:50%;right:50%;width:20px;height:20px;margin-top:-10px;margin-right:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-list-table th.column-portfolio_post_thumbs{width:70px}.wp-list-table th.column-vp_lists_post_icon{width:28px}.wp-list-table th.column-vp_lists_post_shortcode{width:250px}@media screen and (max-width: 782px){.wp-list-table th.column-portfolio_post_thumbs,.wp-list-table th.column-vp_lists_post_icon{display:none}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-portfolio_post_thumbs,.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-vp_lists_post_icon{float:right;width:70px !important;min-width:70px}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-vp_lists_post_icon{width:40px !important}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-portfolio_post_thumbs::before{content:none}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-title{overflow:hidden;clear:left}}.notice.vpf-saved-layouts-notice{padding:11px 15px;margin-top:15px;font-size:14px;line-height:1.4}.notice.vpf-saved-layouts-notice h2{margin-top:5px;margin-bottom:12px}.notice.vpf-saved-layouts-notice p{font-size:15px}.notice.vpf-saved-layouts-notice svg{display:inline-block;width:1.3em;height:1.3em;margin-left:.2em;vertical-align:-.28em}.vp-portfolio-list__icon{position:relative;display:block;max-width:70px;padding-top:100%;overflow:hidden;color:inherit;color:#868686;background-color:#f1f1f1;border:1px solid #e8e8e8;border-radius:3px}.vp-portfolio-list__icon:hover,.vp-portfolio-list__icon:active,.vp-portfolio-list__icon:focus{color:#5f5f5f}.vp-portfolio-list__icon svg{position:absolute;display:block;top:15%;right:15%;width:70%;height:70%;-o-object-fit:cover;object-fit:cover}.portfolio_page_visual-portfolio-settings .description{opacity:.7}.portfolio_page_visual-portfolio-settings .metabox-holder .notice{padding:15px}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro>td{pointer-events:none}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .description{opacity:.3}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:18px;height:18px;margin-right:10px;font-family:sans-serif;font-size:11px;line-height:18px;color:#fff;text-align:center;cursor:pointer;background-color:#4c4c4c;border-radius:10px}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label>span{position:absolute;display:none;bottom:100%;width:130px;padding:5px;margin-bottom:10px;background-color:rgba(0,0,0,0.8);border-radius:4px;z-index:9990}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label:hover>span,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label:focus>span{display:block}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro.breakpoint_xs .vpf-settings-control-pro-label,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro.breakpoint_sm .vpf-settings-control-pro-label,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro.breakpoint_md .vpf-settings-control-pro-label,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro.breakpoint_lg .vpf-settings-control-pro-label,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro.breakpoint_xl .vpf-settings-control-pro-label{display:none}.portfolio_page_visual-portfolio-settings .social_pro_info>th{display:none}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro{max-width:240px;padding:20px;text-align:center;background-color:#e2e2e2;border-radius:4px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro h3{margin-top:0;margin-bottom:15px;font-size:13px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro p{margin-bottom:1em;font-size:13px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button{display:inline-block;padding:7px 15px;margin-top:5px;text-decoration:none;background:#2540cc;border-radius:3px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:hover,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:focus,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:active{color:#fff}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:hover,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:focus{background:#314cda}#vp_social_integrations h2,#vp_social_integrations .submit{display:none}
|
2 |
* Name : Visual Portfolio
|
3 |
* Version : @@plugin_version
|
4 |
* Author : nK https://nkdev.info
|
5 |
+
*/#adminmenu a[href*="page=visual_portfolio_go_pro"],.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]{font-weight:700;color:#ff6a38}#adminmenu a[href*="page=visual_portfolio_go_pro"] .dashicons,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"] .dashicons{-webkit-transition:none;-o-transition:none;transition:none}#adminmenu a[href*="page=visual_portfolio_go_pro"]:hover,#adminmenu a[href*="page=visual_portfolio_go_pro"]:focus,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:hover,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:focus{color:#f59372}.dashicons-visual-portfolio,.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon.svg");background-repeat:no-repeat;background-position:center center;background-size:18px;opacity:.6}.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon-mce.svg");opacity:1}.menu-top.current .dashicons-visual-portfolio,.menu-top:hover .dashicons-visual-portfolio,.wp-has-current-submenu .dashicons-visual-portfolio{opacity:1}.vc_element-icon[data-is-container="true"].icon-visual-portfolio,.vc_element-icon.icon-visual-portfolio{background-position:50% 50%}.vc_element-icon.icon-visual-portfolio,.vc_control-visual-portfolio{position:relative;overflow:hidden;background-image:url("../images/icon-gutenberg.svg");background-position:50% 50%;background-size:cover;border-radius:3px}.vc_add-element-container .icon-visual-portfolio{position:absolute}.vc_control-visual-portfolio{display:inline-block;width:18px;height:18px;margin:0 2px;cursor:pointer}.vc_controls-row .vc_control-visual-portfolio{float:left;margin:4px}.vc_control-visual-portfolio-overlay{position:absolute;top:0;left:0;bottom:0;right:0;z-index:2}.vp-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-sizing:border-box;box-sizing:border-box;margin-left:-15px;margin-right:-15px}.vp-col-1,.vp-col-2,.vp-col-3,.vp-col-4,.vp-col-5,.vp-col-6,.vp-col-7,.vp-col-8,.vp-col-9,.vp-col-10,.vp-col-11,.vp-col-12{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:15px;padding-right:15px}.vp-col-1{-ms-flex-preferred-size:8.33333%;flex-basis:8.33333%;max-width:8.33333%}.vp-col-2{-ms-flex-preferred-size:16.66667%;flex-basis:16.66667%;max-width:16.66667%}.vp-col-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.vp-col-4{-ms-flex-preferred-size:33.33333%;flex-basis:33.33333%;max-width:33.33333%}.vp-col-5{-ms-flex-preferred-size:41.66667%;flex-basis:41.66667%;max-width:41.66667%}.vp-col-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.vp-col-7{-ms-flex-preferred-size:58.33333%;flex-basis:58.33333%;max-width:58.33333%}.vp-col-8{-ms-flex-preferred-size:66.66667%;flex-basis:66.66667%;max-width:66.66667%}.vp-col-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.vp-col-10{-ms-flex-preferred-size:83.33333%;flex-basis:83.33333%;max-width:83.33333%}.vp-col-11{-ms-flex-preferred-size:91.66667%;flex-basis:91.66667%;max-width:91.66667%}.vp-col-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix .vp-control-html{margin-bottom:0}.vp-oembed-preview{position:relative;width:100%;padding-top:56.25%;color:#a2a2a2;background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-oembed-preview::after{content:"\f126";position:absolute;display:block;top:50%;right:50%;width:20px;height:20px;margin-top:-10px;margin-right:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;z-index:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vp-oembed-preview>iframe{position:absolute;top:0;right:0;width:100%;height:100%;z-index:2}.vpf-post-image-focal-point-panel .components-focal-point-picker_position-display-container .components-base-control__label{max-width:100%}.vpf-post-image-focal-point-panel .components-focal-point-picker_position-display-container .components-base-control{margin-bottom:0}.vpf-post-image-focal-point-panel ~ .editor-post-featured-image .editor-post-featured-image__preview{display:none}.vp-input{width:100%}.vp-portfolio__thumbnail{position:relative;display:block;max-width:70px;padding-top:100%;overflow:hidden;border-radius:3px}.vp-portfolio__thumbnail img{position:absolute;display:block;top:0;right:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.vp-portfolio__thumbnail:empty{background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-portfolio__thumbnail:empty,.vp-portfolio__thumbnail:empty:hover,.vp-portfolio__thumbnail:empty:active,.vp-portfolio__thumbnail:empty:focus{color:#a2a2a2}.vp-portfolio__thumbnail:empty::after{content:"\f128";position:absolute;display:block;top:50%;right:50%;width:20px;height:20px;margin-top:-10px;margin-right:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-list-table th.column-portfolio_post_thumbs{width:70px}.wp-list-table th.column-vp_lists_post_icon{width:28px}.wp-list-table th.column-vp_lists_post_shortcode{width:250px}@media screen and (max-width: 782px){.wp-list-table th.column-portfolio_post_thumbs,.wp-list-table th.column-vp_lists_post_icon{display:none}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-portfolio_post_thumbs,.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-vp_lists_post_icon{float:right;width:70px !important;min-width:70px}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-vp_lists_post_icon{width:40px !important}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-portfolio_post_thumbs::before{content:none}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-title{overflow:hidden;clear:left}}.notice.vpf-saved-layouts-notice{padding:11px 15px;margin-top:15px;font-size:14px;line-height:1.4}.notice.vpf-saved-layouts-notice h2{margin-top:5px;margin-bottom:12px}.notice.vpf-saved-layouts-notice p{font-size:15px}.notice.vpf-saved-layouts-notice svg{display:inline-block;width:1.3em;height:1.3em;margin-left:.2em;vertical-align:-.28em}.vp-portfolio-list__icon{position:relative;display:block;max-width:70px;padding-top:100%;overflow:hidden;color:inherit;color:#868686;background-color:#f1f1f1;border:1px solid #e8e8e8;border-radius:3px}.vp-portfolio-list__icon:hover,.vp-portfolio-list__icon:active,.vp-portfolio-list__icon:focus{color:#5f5f5f}.vp-portfolio-list__icon svg{position:absolute;display:block;top:15%;right:15%;width:70%;height:70%;-o-object-fit:cover;object-fit:cover}.portfolio_page_visual-portfolio-settings .description{opacity:.7}.portfolio_page_visual-portfolio-settings .wpsa-image-remove{display:none;margin-right:10px}.portfolio_page_visual-portfolio-settings .metabox-holder .notice{padding:15px}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro>td{pointer-events:none}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .description{opacity:.3}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:18px;height:18px;margin-right:10px;font-family:sans-serif;font-size:11px;line-height:18px;color:#fff;text-align:center;cursor:pointer;background-color:#4c4c4c;border-radius:10px}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label>span{position:absolute;display:none;bottom:100%;width:130px;padding:5px;margin-bottom:10px;background-color:rgba(0,0,0,0.8);border-radius:4px;z-index:9990}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label:hover>span,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label:focus>span{display:block}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro.breakpoint_xs .vpf-settings-control-pro-label,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro.breakpoint_sm .vpf-settings-control-pro-label,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro.breakpoint_md .vpf-settings-control-pro-label,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro.breakpoint_lg .vpf-settings-control-pro-label,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro.breakpoint_xl .vpf-settings-control-pro-label{display:none}.portfolio_page_visual-portfolio-settings .social_pro_info>th{display:none}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro{max-width:240px;padding:20px;text-align:center;background-color:#e2e2e2;border-radius:4px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro h3{margin-top:0;margin-bottom:15px;font-size:13px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro p{margin-bottom:1em;font-size:13px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button{display:inline-block;padding:7px 15px;margin-top:5px;text-decoration:none;background:#2540cc;border-radius:3px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:hover,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:focus,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:active{color:#fff}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:hover,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:focus{background:#314cda}#vp_social_integrations h2,#vp_social_integrations .submit{display:none}
|
assets/admin/css/style.min.css
CHANGED
@@ -2,4 +2,4 @@
|
|
2 |
* Name : Visual Portfolio
|
3 |
* Version : @@plugin_version
|
4 |
* Author : nK https://nkdev.info
|
5 |
-
*/#adminmenu a[href*="page=visual_portfolio_go_pro"],.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]{font-weight:700;color:#ff6a38}#adminmenu a[href*="page=visual_portfolio_go_pro"] .dashicons,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"] .dashicons{-webkit-transition:none;-o-transition:none;transition:none}#adminmenu a[href*="page=visual_portfolio_go_pro"]:hover,#adminmenu a[href*="page=visual_portfolio_go_pro"]:focus,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:hover,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:focus{color:#f59372}.dashicons-visual-portfolio,.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon.svg");background-repeat:no-repeat;background-position:center center;background-size:18px;opacity:.6}.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon-mce.svg");opacity:1}.menu-top.current .dashicons-visual-portfolio,.menu-top:hover .dashicons-visual-portfolio,.wp-has-current-submenu .dashicons-visual-portfolio{opacity:1}.vc_element-icon[data-is-container="true"].icon-visual-portfolio,.vc_element-icon.icon-visual-portfolio{background-position:50% 50%}.vc_element-icon.icon-visual-portfolio,.vc_control-visual-portfolio{position:relative;overflow:hidden;background-image:url("../images/icon-gutenberg.svg");background-position:50% 50%;background-size:cover;border-radius:3px}.vc_add-element-container .icon-visual-portfolio{position:absolute}.vc_control-visual-portfolio{display:inline-block;width:18px;height:18px;margin:0 2px;cursor:pointer}.vc_controls-row .vc_control-visual-portfolio{float:right;margin:4px}.vc_control-visual-portfolio-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}.vp-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-sizing:border-box;box-sizing:border-box;margin-right:-15px;margin-left:-15px}.vp-col-1,.vp-col-2,.vp-col-3,.vp-col-4,.vp-col-5,.vp-col-6,.vp-col-7,.vp-col-8,.vp-col-9,.vp-col-10,.vp-col-11,.vp-col-12{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:15px;padding-left:15px}.vp-col-1{-ms-flex-preferred-size:8.33333%;flex-basis:8.33333%;max-width:8.33333%}.vp-col-2{-ms-flex-preferred-size:16.66667%;flex-basis:16.66667%;max-width:16.66667%}.vp-col-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.vp-col-4{-ms-flex-preferred-size:33.33333%;flex-basis:33.33333%;max-width:33.33333%}.vp-col-5{-ms-flex-preferred-size:41.66667%;flex-basis:41.66667%;max-width:41.66667%}.vp-col-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.vp-col-7{-ms-flex-preferred-size:58.33333%;flex-basis:58.33333%;max-width:58.33333%}.vp-col-8{-ms-flex-preferred-size:66.66667%;flex-basis:66.66667%;max-width:66.66667%}.vp-col-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.vp-col-10{-ms-flex-preferred-size:83.33333%;flex-basis:83.33333%;max-width:83.33333%}.vp-col-11{-ms-flex-preferred-size:91.66667%;flex-basis:91.66667%;max-width:91.66667%}.vp-col-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix .vp-control-html{margin-bottom:0}.vp-oembed-preview{position:relative;width:100%;padding-top:56.25%;color:#a2a2a2;background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-oembed-preview::after{content:"\f126";position:absolute;display:block;top:50%;left:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;z-index:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vp-oembed-preview>iframe{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.vpf-post-image-focal-point-panel .components-focal-point-picker_position-display-container .components-base-control__label{max-width:100%}.vpf-post-image-focal-point-panel .components-focal-point-picker_position-display-container .components-base-control{margin-bottom:0}.vpf-post-image-focal-point-panel ~ .editor-post-featured-image .editor-post-featured-image__preview{display:none}.vp-input{width:100%}.vp-portfolio__thumbnail{position:relative;display:block;max-width:70px;padding-top:100%;overflow:hidden;border-radius:3px}.vp-portfolio__thumbnail img{position:absolute;display:block;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.vp-portfolio__thumbnail:empty{background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-portfolio__thumbnail:empty,.vp-portfolio__thumbnail:empty:hover,.vp-portfolio__thumbnail:empty:active,.vp-portfolio__thumbnail:empty:focus{color:#a2a2a2}.vp-portfolio__thumbnail:empty::after{content:"\f128";position:absolute;display:block;top:50%;left:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-list-table th.column-portfolio_post_thumbs{width:70px}.wp-list-table th.column-vp_lists_post_icon{width:28px}.wp-list-table th.column-vp_lists_post_shortcode{width:250px}@media screen and (max-width: 782px){.wp-list-table th.column-portfolio_post_thumbs,.wp-list-table th.column-vp_lists_post_icon{display:none}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-portfolio_post_thumbs,.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-vp_lists_post_icon{float:left;width:70px !important;min-width:70px}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-vp_lists_post_icon{width:40px !important}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-portfolio_post_thumbs::before{content:none}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-title{overflow:hidden;clear:right}}.notice.vpf-saved-layouts-notice{padding:11px 15px;margin-top:15px;font-size:14px;line-height:1.4}.notice.vpf-saved-layouts-notice h2{margin-top:5px;margin-bottom:12px}.notice.vpf-saved-layouts-notice p{font-size:15px}.notice.vpf-saved-layouts-notice svg{display:inline-block;width:1.3em;height:1.3em;margin-right:.2em;vertical-align:-.28em}.vp-portfolio-list__icon{position:relative;display:block;max-width:70px;padding-top:100%;overflow:hidden;color:inherit;color:#868686;background-color:#f1f1f1;border:1px solid #e8e8e8;border-radius:3px}.vp-portfolio-list__icon:hover,.vp-portfolio-list__icon:active,.vp-portfolio-list__icon:focus{color:#5f5f5f}.vp-portfolio-list__icon svg{position:absolute;display:block;top:15%;left:15%;width:70%;height:70%;-o-object-fit:cover;object-fit:cover}.portfolio_page_visual-portfolio-settings .description{opacity:.7}.portfolio_page_visual-portfolio-settings .metabox-holder .notice{padding:15px}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro>td{pointer-events:none}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .description{opacity:.3}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:18px;height:18px;margin-left:10px;font-family:sans-serif;font-size:11px;line-height:18px;color:#fff;text-align:center;cursor:pointer;background-color:#4c4c4c;border-radius:10px}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label>span{position:absolute;display:none;bottom:100%;width:130px;padding:5px;margin-bottom:10px;background-color:rgba(0,0,0,0.8);border-radius:4px;z-index:9990}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label:hover>span,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label:focus>span{display:block}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro.breakpoint_xs .vpf-settings-control-pro-label,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro.breakpoint_sm .vpf-settings-control-pro-label,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro.breakpoint_md .vpf-settings-control-pro-label,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro.breakpoint_lg .vpf-settings-control-pro-label,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro.breakpoint_xl .vpf-settings-control-pro-label{display:none}.portfolio_page_visual-portfolio-settings .social_pro_info>th{display:none}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro{max-width:240px;padding:20px;text-align:center;background-color:#e2e2e2;border-radius:4px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro h3{margin-top:0;margin-bottom:15px;font-size:13px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro p{margin-bottom:1em;font-size:13px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button{display:inline-block;padding:7px 15px;margin-top:5px;text-decoration:none;background:#2540cc;border-radius:3px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:hover,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:focus,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:active{color:#fff}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:hover,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:focus{background:#314cda}#vp_social_integrations h2,#vp_social_integrations .submit{display:none}
|
2 |
* Name : Visual Portfolio
|
3 |
* Version : @@plugin_version
|
4 |
* Author : nK https://nkdev.info
|
5 |
+
*/#adminmenu a[href*="page=visual_portfolio_go_pro"],.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]{font-weight:700;color:#ff6a38}#adminmenu a[href*="page=visual_portfolio_go_pro"] .dashicons,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"] .dashicons{-webkit-transition:none;-o-transition:none;transition:none}#adminmenu a[href*="page=visual_portfolio_go_pro"]:hover,#adminmenu a[href*="page=visual_portfolio_go_pro"]:focus,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:hover,.wp-list-table.plugins a[href*="page=visual_portfolio_go_pro"]:focus{color:#f59372}.dashicons-visual-portfolio,.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon.svg");background-repeat:no-repeat;background-position:center center;background-size:18px;opacity:.6}.mce-widget .mce-i-visual-portfolio{background-image:url("../images/icon-mce.svg");opacity:1}.menu-top.current .dashicons-visual-portfolio,.menu-top:hover .dashicons-visual-portfolio,.wp-has-current-submenu .dashicons-visual-portfolio{opacity:1}.vc_element-icon[data-is-container="true"].icon-visual-portfolio,.vc_element-icon.icon-visual-portfolio{background-position:50% 50%}.vc_element-icon.icon-visual-portfolio,.vc_control-visual-portfolio{position:relative;overflow:hidden;background-image:url("../images/icon-gutenberg.svg");background-position:50% 50%;background-size:cover;border-radius:3px}.vc_add-element-container .icon-visual-portfolio{position:absolute}.vc_control-visual-portfolio{display:inline-block;width:18px;height:18px;margin:0 2px;cursor:pointer}.vc_controls-row .vc_control-visual-portfolio{float:right;margin:4px}.vc_control-visual-portfolio-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}.vp-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-sizing:border-box;box-sizing:border-box;margin-right:-15px;margin-left:-15px}.vp-col-1,.vp-col-2,.vp-col-3,.vp-col-4,.vp-col-5,.vp-col-6,.vp-col-7,.vp-col-8,.vp-col-9,.vp-col-10,.vp-col-11,.vp-col-12{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:15px;padding-left:15px}.vp-col-1{-ms-flex-preferred-size:8.33333%;flex-basis:8.33333%;max-width:8.33333%}.vp-col-2{-ms-flex-preferred-size:16.66667%;flex-basis:16.66667%;max-width:16.66667%}.vp-col-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.vp-col-4{-ms-flex-preferred-size:33.33333%;flex-basis:33.33333%;max-width:33.33333%}.vp-col-5{-ms-flex-preferred-size:41.66667%;flex-basis:41.66667%;max-width:41.66667%}.vp-col-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.vp-col-7{-ms-flex-preferred-size:58.33333%;flex-basis:58.33333%;max-width:58.33333%}.vp-col-8{-ms-flex-preferred-size:66.66667%;flex-basis:66.66667%;max-width:66.66667%}.vp-col-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.vp-col-10{-ms-flex-preferred-size:83.33333%;flex-basis:83.33333%;max-width:83.33333%}.vp-col-11{-ms-flex-preferred-size:91.66667%;flex-basis:91.66667%;max-width:91.66667%}.vp-col-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.vp-col-clearfix .vp-control-html{margin-bottom:0}.vp-oembed-preview{position:relative;width:100%;padding-top:56.25%;color:#a2a2a2;background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-oembed-preview::after{content:"\f126";position:absolute;display:block;top:50%;left:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;z-index:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vp-oembed-preview>iframe{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.vpf-post-image-focal-point-panel .components-focal-point-picker_position-display-container .components-base-control__label{max-width:100%}.vpf-post-image-focal-point-panel .components-focal-point-picker_position-display-container .components-base-control{margin-bottom:0}.vpf-post-image-focal-point-panel ~ .editor-post-featured-image .editor-post-featured-image__preview{display:none}.vp-input{width:100%}.vp-portfolio__thumbnail{position:relative;display:block;max-width:70px;padding-top:100%;overflow:hidden;border-radius:3px}.vp-portfolio__thumbnail img{position:absolute;display:block;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.vp-portfolio__thumbnail:empty{background-color:#f1f1f1;border:1px solid #e8e8e8}.vp-portfolio__thumbnail:empty,.vp-portfolio__thumbnail:empty:hover,.vp-portfolio__thumbnail:empty:active,.vp-portfolio__thumbnail:empty:focus{color:#a2a2a2}.vp-portfolio__thumbnail:empty::after{content:"\f128";position:absolute;display:block;top:50%;left:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:dashicons;font-size:20px;font-style:normal;font-weight:400;line-height:1;text-align:center;text-decoration:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-list-table th.column-portfolio_post_thumbs{width:70px}.wp-list-table th.column-vp_lists_post_icon{width:28px}.wp-list-table th.column-vp_lists_post_shortcode{width:250px}@media screen and (max-width: 782px){.wp-list-table th.column-portfolio_post_thumbs,.wp-list-table th.column-vp_lists_post_icon{display:none}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-portfolio_post_thumbs,.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-vp_lists_post_icon{float:left;width:70px !important;min-width:70px}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-vp_lists_post_icon{width:40px !important}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-portfolio_post_thumbs::before{content:none}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-title{overflow:hidden;clear:right}}.notice.vpf-saved-layouts-notice{padding:11px 15px;margin-top:15px;font-size:14px;line-height:1.4}.notice.vpf-saved-layouts-notice h2{margin-top:5px;margin-bottom:12px}.notice.vpf-saved-layouts-notice p{font-size:15px}.notice.vpf-saved-layouts-notice svg{display:inline-block;width:1.3em;height:1.3em;margin-right:.2em;vertical-align:-.28em}.vp-portfolio-list__icon{position:relative;display:block;max-width:70px;padding-top:100%;overflow:hidden;color:inherit;color:#868686;background-color:#f1f1f1;border:1px solid #e8e8e8;border-radius:3px}.vp-portfolio-list__icon:hover,.vp-portfolio-list__icon:active,.vp-portfolio-list__icon:focus{color:#5f5f5f}.vp-portfolio-list__icon svg{position:absolute;display:block;top:15%;left:15%;width:70%;height:70%;-o-object-fit:cover;object-fit:cover}.portfolio_page_visual-portfolio-settings .description{opacity:.7}.portfolio_page_visual-portfolio-settings .wpsa-image-remove{display:none;margin-left:10px}.portfolio_page_visual-portfolio-settings .metabox-holder .notice{padding:15px}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro>td{pointer-events:none}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .description{opacity:.3}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:18px;height:18px;margin-left:10px;font-family:sans-serif;font-size:11px;line-height:18px;color:#fff;text-align:center;cursor:pointer;background-color:#4c4c4c;border-radius:10px}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label>span{position:absolute;display:none;bottom:100%;width:130px;padding:5px;margin-bottom:10px;background-color:rgba(0,0,0,0.8);border-radius:4px;z-index:9990}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label:hover>span,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro .vpf-settings-control-pro-label:focus>span{display:block}.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro.breakpoint_xs .vpf-settings-control-pro-label,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro.breakpoint_sm .vpf-settings-control-pro-label,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro.breakpoint_md .vpf-settings-control-pro-label,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro.breakpoint_lg .vpf-settings-control-pro-label,.portfolio_page_visual-portfolio-settings .vpf-settings-control-pro.breakpoint_xl .vpf-settings-control-pro-label{display:none}.portfolio_page_visual-portfolio-settings .social_pro_info>th{display:none}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro{max-width:240px;padding:20px;text-align:center;background-color:#e2e2e2;border-radius:4px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro h3{margin-top:0;margin-bottom:15px;font-size:13px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro p{margin-bottom:1em;font-size:13px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button{display:inline-block;padding:7px 15px;margin-top:5px;text-decoration:none;background:#2540cc;border-radius:3px}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:hover,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:focus,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:active{color:#fff}.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:hover,.portfolio_page_visual-portfolio-settings .vpf-settings-info-pro-button:focus{background:#314cda}#vp_social_integrations h2,#vp_social_integrations .submit{display:none}
|
assets/admin/js/elementor.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
* Additional js for Elementor
|
3 |
*
|
4 |
* Name : Visual Portfolio
|
5 |
-
* Version : 2.
|
6 |
* Author : nK https://nkdev.info
|
7 |
*/
|
8 |
import { throttle } from 'throttle-debounce';
|
2 |
* Additional js for Elementor
|
3 |
*
|
4 |
* Name : Visual Portfolio
|
5 |
+
* Version : 2.10.0
|
6 |
* Author : nK https://nkdev.info
|
7 |
*/
|
8 |
import { throttle } from 'throttle-debounce';
|
assets/admin/js/mce-dropdown.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/*!
|
2 |
* Name : Visual Portfolio
|
3 |
-
* Version : 2.
|
4 |
* Author : nK https://nkdev.info
|
5 |
*/
|
6 |
const {
|
1 |
/*!
|
2 |
* Name : Visual Portfolio
|
3 |
+
* Version : 2.10.0
|
4 |
* Author : nK https://nkdev.info
|
5 |
*/
|
6 |
const {
|
assets/admin/js/script.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/*!
|
2 |
* Name : Visual Portfolio
|
3 |
-
* Version : 2.
|
4 |
* Author : nK https://nkdev.info
|
5 |
*/
|
6 |
import { debounce } from 'throttle-debounce';
|
1 |
/*!
|
2 |
* Name : Visual Portfolio
|
3 |
+
* Version : 2.10.0
|
4 |
* Author : nK https://nkdev.info
|
5 |
*/
|
6 |
import { debounce } from 'throttle-debounce';
|
assets/admin/js/vc-frontend.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
* Additional js for frontend VC
|
3 |
*
|
4 |
* Name : Visual Portfolio
|
5 |
-
* Version : 2.
|
6 |
* Author : nK https://nkdev.info
|
7 |
*/
|
8 |
const {
|
2 |
* Additional js for frontend VC
|
3 |
*
|
4 |
* Name : Visual Portfolio
|
5 |
+
* Version : 2.10.0
|
6 |
* Author : nK https://nkdev.info
|
7 |
*/
|
8 |
const {
|
assets/js/main.js
CHANGED
@@ -433,8 +433,10 @@ class VP {
|
|
433 |
const ml = parseFloat( self.$item.css( 'margin-left' ) || 0 );
|
434 |
const mr = parseFloat( self.$item.css( 'margin-right' ) || 0 );
|
435 |
self.$item.css( {
|
436 |
-
|
437 |
-
|
|
|
|
|
438 |
} );
|
439 |
}
|
440 |
if ( self.$item.hasClass( 'vp-portfolio__stretch' ) && ! self.isPreview() ) {
|
@@ -676,6 +678,9 @@ class VP {
|
|
676 |
const ajaxData = {
|
677 |
method: 'POST',
|
678 |
url,
|
|
|
|
|
|
|
679 |
complete( { responseText } ) {
|
680 |
self.href = url;
|
681 |
self.replaceItems( responseText, removeExisting, cb );
|
433 |
const ml = parseFloat( self.$item.css( 'margin-left' ) || 0 );
|
434 |
const mr = parseFloat( self.$item.css( 'margin-right' ) || 0 );
|
435 |
self.$item.css( {
|
436 |
+
marginLeft: ml - left,
|
437 |
+
marginRight: mr - right,
|
438 |
+
maxWidth: 'none',
|
439 |
+
width: 'auto',
|
440 |
} );
|
441 |
}
|
442 |
if ( self.$item.hasClass( 'vp-portfolio__stretch' ) && ! self.isPreview() ) {
|
678 |
const ajaxData = {
|
679 |
method: 'POST',
|
680 |
url,
|
681 |
+
data: {
|
682 |
+
vpf_ajax_call: true,
|
683 |
+
},
|
684 |
complete( { responseText } ) {
|
685 |
self.href = url;
|
686 |
self.replaceItems( responseText, removeExisting, cb );
|
assets/js/main.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(t){var i={};function e(o){if(i[o])return i[o].exports;var n=i[o]={i:o,l:!1,exports:{}};return t[o].call(n.exports,n,n.exports,e),n.l=!0,n.exports}e.m=t,e.c=i,e.d=function(t,i,o){e.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:o})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,i){if(1&i&&(t=e(t)),8&i)return t;if(4&i&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&i&&"string"!=typeof t)for(var n in t)e.d(o,n,function(i){return t[i]}.bind(null,n));return o},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},e.p="",e(e.s=237)}({237:function(t,i,e){t.exports=e(238)},238:function(t,i,e){"use strict";e.r(i);var o=e(3),n=e(4);function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r(t,i){for(var e=0;e<i.length;e++){var o=i[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}var a=window,l=a.jQuery,c=a.VPData.__,f=l(window);function p(){if("function"==typeof window.Event)window.dispatchEvent(new window.Event("resize"));else{var t=window.document.createEvent("UIEvents");t.initUIEvent("resize",!0,!1,window,0),window.dispatchEvent(t)}}var v={},d=!1,u=!1;function h(){if(clearTimeout(u),d){var t=l(".vp-portfolio__ready");if(t.length){var i=!1;t.each((function(){var t=this.vpf;if(t){var e=v[t.uid]||"none";v[t.uid]=null===this.offsetParent?"hidden":"visible","hidden"===e&&"visible"===v[t.uid]&&(i=!0)}})),i&&p()}else d=!1;u=setTimeout(h,500)}}l(document).on("inited.vpf",(function(t){"vpf"===t.namespace&&(d=!0,h())}));var m=function(){function t(i,e){!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t);this.$item=i;for(var o=i[0].className.split(/\s+/),n=0;n<o.length;n+=1)o[n]&&/^vp-uid-/.test(o[n])&&(this.uid=o[n].replace(/^vp-uid-/,"")),o[n]&&/^vp-id-/.test(o[n])&&(this.id=o[n].replace(/^vp-id-/,""));this.uid?(this.href=window.location.href,this.$items_wrap=i.find(".vp-portfolio__items"),this.$slider_thumbnails_wrap=i.find(".vp-portfolio__thumbnails"),this.$pagination=i.find(".vp-portfolio__pagination-wrap"),this.$filter=i.find(".vp-portfolio__filter-wrap"),this.$sort=i.find(".vp-portfolio__sort-wrap"),this.id&&(this.$filter=this.$filter.add(".vp-single-filter.vp-id-".concat(this.id," .vp-portfolio__filter-wrap"))),this.id&&(this.$sort=this.$sort.add(".vp-single-sort.vp-id-".concat(this.id," .vp-portfolio__sort-wrap"))),this.userOptions=e,this.firstRun=!0,this.init()):console.error(c.couldnt_retrieve_vp)}var i,e,o;return i=t,(e=[{key:"emitEvent",value:function(t,i){i=i?[this].concat(i):[this],this.$item.trigger("".concat(t,".vpf"),i),this.$item.trigger("".concat(t,".vpf-uid-").concat(this.uid),i)}},{key:"init",value:function(){this.firstRun||this.destroy(),this.destroyed=!1,this.removeNoscriptTags(this.$items_wrap),this.initOptions(),this.initEvents(),this.initLayout(),this.initCustomColors(),this.emitEvent("init"),this.$item.addClass("vp-portfolio__ready"),this.id&&(l(".vp-single-filter.vp-id-".concat(this.id)).addClass("vp-single-filter__ready"),l(".vp-single-sort.vp-id-".concat(this.id)).addClass("vp-single-sort__ready")),this.resized(),this.imagesLoaded(),this.emitEvent("inited"),this.firstRun=!1}},{key:"isPreview",value:function(){return!!this.$item.closest("#vp_preview").length}},{key:"resized",value:function(){p(),this.emitEvent("resized")}},{key:"imagesLoaded",value:function(){var t=this;this.$items_wrap.imagesLoaded&&this.$items_wrap.imagesLoaded((function(){t.emitEvent("imagesLoaded")}))}},{key:"destroy",value:function(){this.$item.removeClass("vp-portfolio__ready"),this.id&&(l(".vp-single-filter.vp-id-".concat(this.id)).removeClass("vp-single-filter__ready"),l(".vp-single-sort.vp-id-".concat(this.id)).removeClass("vp-single-sort__ready")),this.destroyEvents(),this.removeStyle(),this.renderStyle(),this.emitEvent("destroy"),this.destroyed=!0}},{key:"addStyle",value:function(t,i,e){e=e||"";var o=this.uid;this.stylesList||(this.stylesList={}),void 0===this.stylesList[o]&&(this.stylesList[o]={}),void 0===this.stylesList[o][e]&&(this.stylesList[o][e]={}),void 0===this.stylesList[o][e][t]&&(this.stylesList[o][e][t]={}),this.stylesList[o][e][t]=l.extend(this.stylesList[o][e][t],i),this.emitEvent("addStyle",[t,i,e,this.stylesList])}},{key:"removeStyle",value:function(t,i,e){e=e||"";var o=this.uid;this.stylesList||(this.stylesList={}),void 0===this.stylesList[o]||t||(this.stylesList[o]={}),void 0!==this.stylesList[o]&&void 0!==this.stylesList[o][e]&&void 0!==this.stylesList[o][e][t]&&t&&delete this.stylesList[o][e][t],this.emitEvent("removeStyle",[t,i,this.stylesList])}},{key:"renderStyle",value:function(){var t=this,i=t.uid,e="";t.stylesList||(t.stylesList={}),void 0!==t.stylesList[i]&&Object.keys(t.stylesList[i]).forEach((function(o){o&&(e+="@media ".concat(o," {")),Object.keys(t.stylesList[i][o]).forEach((function(n){e+=".vp-uid-".concat(i," ").concat(n," {"),Object.keys(t.stylesList[i][o][n]).forEach((function(s){e+="".concat(s,":").concat(t.stylesList[i][o][n][s],";")})),e+="}"})),o&&(e+="}")}));var o=l("#vp-style-".concat(i));o.length||(o=l("<style>").attr("id","vp-style-".concat(i)).appendTo("head")),o.html(e),t.emitEvent("renderStyle",[e,t.stylesList,o])}},{key:"firstToLowerCase",value:function(t){return t.substr(0,1).toLowerCase()+t.substr(1)}},{key:"initOptions",value:function(t){var i=this;i.defaults={layout:"tile",itemsGap:0,pagination:"load-more"},t&&(i.userOptions=t);var e=i.$item[0].dataset,o={};Object.keys(e).forEach((function(t){t&&"vp"===t.substring(0,2)&&(o[i.firstToLowerCase(t.substring(2))]=e[t])})),i.options=l.extend({},i.defaults,o,i.userOptions),i.emitEvent("initOptions")}},{key:"initEvents",value:function(){var t,i=this,e=".vpf-uid-".concat(i.uid);function o(){var t=i.$item[0].getBoundingClientRect(),e=t.left,o=window.innerWidth-t.right,n=parseFloat(i.$item.css("margin-left")||0),s=parseFloat(i.$item.css("margin-right")||0);i.$item.css({"margin-left":n-e,"margin-right":s-o})}function n(){var e=i.$item[0].getBoundingClientRect();0<e.bottom&&e.bottom-250<=window.innerHeight&&i.loadNewItems(i.options.nextPageUrl,!1,(function(){clearTimeout(t),t=setTimeout((function(){n()}),300)}))}i.$item.hasClass("vp-portfolio__stretch")&&!i.isPreview()&&(f.on("load".concat(e," resize").concat(e," orientationchange").concat(e),(function(){o()})),o()),i.$item.on("focus".concat(e),".vp-portfolio__item a",(function(){l(this).closest(".vp-portfolio__item").addClass("vp-portfolio__item-focus")})),i.$item.on("blur".concat(e),".vp-portfolio__item a",(function(){l(this).closest(".vp-portfolio__item").removeClass("vp-portfolio__item-focus")})),i.$filter.on("click".concat(e),".vp-filter .vp-filter__item a",(function(t){t.preventDefault();var e=l(this);i.loading||e.closest(".vp-filter__item").addClass("vp-filter__item-active").siblings().removeClass("vp-filter__item-active"),i.loadNewItems(e.attr("href"),!0)})),i.$sort.on("click".concat(e),".vp-sort .vp-sort__item a",(function(t){t.preventDefault();var e=l(this);i.loading||e.closest(".vp-sort__item").addClass("vp-sort__item-active").siblings().removeClass("vp-sort__item-active"),i.loadNewItems(e.attr("href"),!0)})),i.$filter.add(i.$sort).on("change".concat(e),".vp-filter select, .vp-sort select",(function(){var t=l(this),e=t.val(),o=t.find('[value="'.concat(e,'"]'));o.length&&i.loadNewItems(o.attr("data-vp-url"),!0)})),i.$item.on("click".concat(e),".vp-pagination .vp-pagination__item a",(function(t){t.preventDefault();var e=l(this),o=e.closest(".vp-pagination");if((!o.hasClass("vp-pagination__no-more")||"paged"===i.options.pagination)&&(i.loadNewItems(e.attr("href"),"paged"===i.options.pagination),"paged"===i.options.pagination&&o.hasClass("vp-pagination__scroll-top"))){var n=l("#wpadminbar"),s=window.pageYOffset||document.documentElement.scrollTop,r=i.$item.offset().top;o.attr("data-vp-pagination-scroll-top")&&(r-=parseInt(o.attr("data-vp-pagination-scroll-top"),10)||0),n.length&&"fixed"===n.css("position")&&(r-=n.outerHeight()),s>(r=Math.max(0,r))&&window.scrollTo({top:r,behavior:"smooth"})}})),i.$item.on("click".concat(e),".vp-portfolio__items .vp-portfolio__item-meta-category a",(function(t){t.preventDefault(),t.stopPropagation(),i.loadNewItems(l(this).attr("href"),!0)})),"infinite"===i.options.pagination&&(f.on("load".concat(e," scroll").concat(e," resize").concat(e," orientationchange").concat(e),(function(){clearTimeout(t),t=setTimeout((function(){n()}),60)})),n()),i.$item.on("transitionend".concat(e),".vp-portfolio__items",(function(t){t.currentTarget===t.target&&i.resized()})),i.emitEvent("initEvents")}},{key:"destroyEvents",value:function(){var t=".vpf-uid-".concat(this.uid);this.$item.off(t),this.$filter.off(t),this.$sort.off(t),f.off(t),this.emitEvent("destroyEvents")}},{key:"removeNoscriptTags",value:function(t){t.find("noscript").remove()}},{key:"initLayout",value:function(){this.emitEvent("initLayout"),this.renderStyle()}},{key:"initCustomColors",value:function(){var t=this;t.$item.find("[data-vp-bg-color]").each((function(){var i=l(this).attr("data-vp-bg-color");t.addStyle('[data-vp-bg-color="'.concat(i,'"]'),{"background-color":"".concat(i," !important")})})),t.$item.find("[data-vp-text-color]").each((function(){var i=l(this).attr("data-vp-text-color");t.addStyle('[data-vp-text-color="'.concat(i,'"]'),{color:"".concat(i," !important")})})),t.renderStyle(),t.emitEvent("initCustomColors")}},{key:"addItems",value:function(t,i,e){this.removeNoscriptTags(t),this.emitEvent("addItems",[t,i,e])}},{key:"removeItems",value:function(t){this.emitEvent("removeItems",[t])}},{key:"loadNewItems",value:function(t,i,e){var o=this;if(!o.loading&&t&&o.href!==t){var n={method:"POST",url:t,complete:function(n){var s=n.responseText;o.href=t,o.replaceItems(s,i,e)}};o.loading=!0,o.$item.addClass("vp-portfolio__loading"),o.emitEvent("startLoadingNewItems",[t,n]),l.ajax(n)}}},{key:"replaceItems",value:function(t,i,e){if(t){t=t.replace("<body",'<body><div id="vp-infinite-load-body"').replace("</body>","</div></body>");var o=l(t).filter("#vp-infinite-load-body"),n=o.find(".vp-portfolio.vp-uid-".concat(this.uid));if(n.length){var s=n.find(".vp-portfolio__items").html();n.hasClass("vp-portfolio-not-found")?(this.$item.find(".vp-portfolio__items-wrap").before(n.find(".vp-notice").clone()),this.$item.addClass("vp-portfolio-not-found")):(this.$item.find(".vp-notice").remove(),this.$item.removeClass("vp-portfolio-not-found")),this.$filter.length&&this.$filter.each((function(){var t=l(this),i="";i=t.parent().hasClass("vp-single-filter")?o.find('[class="'.concat(t.parent().attr("class").replace(" vp-single-filter__ready",""),'"] .vp-portfolio__filter-wrap')).html():n.find(".vp-portfolio__filter-wrap").html(),t.html(i)})),this.$sort.length&&this.$sort.each((function(){var t=l(this),i="";i=t.parent().hasClass("vp-single-sort")?o.find('[class="'.concat(t.parent().attr("class").replace(" vp-single-sort__ready",""),'"] .vp-portfolio__sort-wrap')).html():n.find(".vp-portfolio__sort-wrap").html(),t.html(i)})),this.$pagination.length&&this.$pagination.html(n.find(".vp-portfolio__pagination-wrap").html()),this.addItems(l(s),i,n),this.emitEvent("loadedNewItems",[n,i,t]),e&&e()}var r=n.attr("data-vp-next-page-url");this.options.nextPageUrl=r,this.$item.attr("data-vp-next-page-url",r),this.$item.removeClass("vp-portfolio__loading"),this.loading=!1,this.emitEvent("endLoadingNewItems"),this.imagesLoaded(),this.initCustomColors()}}}])&&r(i.prototype,e),o&&r(i,o),t}();l(".elementor").length&&l(document).on("init.vpf addItems.vpf",(function(t,i){"vpf"===t.namespace&&i.$item.find(".vp-portfolio__item a").each((function(){/\.(png|jpe?g|gif|svg)(\?.*)?$/i.test(this.href)&&l(this).attr("data-elementor-open-lightbox","no")}))})),l(document).trigger("extendClass.vpf",[m]);var y=function(t){for(var i=arguments.length,e=new Array(i>1?i-1:0),o=1;o<i;o++)e[o-1]=arguments[o];var n;return this.each((function(){if(void 0===n)if("object"===s(t)||void 0===t)this.vpf||(this.vpf=new m(l(this),t));else if(this.vpf){var i;n=(i=this.vpf)[t].apply(i,e)}})),void 0!==n?n:this};y.constructor=m;var g=l.fn.vpf;l.fn.vpf=y,l.fn.vpf.noConflict=function(){return l.fn.vpf=g,this},l(".vp-portfolio").vpf(),l((function(){l(".vp-portfolio").vpf()}));var _=Object(o.throttle)(200,Object(n.a)((function(){l(".vp-portfolio:not(.vp-portfolio__ready)").vpf()})));window.MutationObserver?new window.MutationObserver(_).observe(document.documentElement,{childList:!0,subtree:!0}):l(document).on("DOMContentLoaded DOMNodeInserted load",(function(){_()}))},3:function(t,i,e){var o,n,s,r;function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}r=function(t){"use strict";function i(t,i,e,o){var n,s=!1,r=0;function a(){n&&clearTimeout(n)}function l(){for(var l=arguments.length,c=new Array(l),f=0;f<l;f++)c[f]=arguments[f];var p=this,v=Date.now()-r;function d(){r=Date.now(),e.apply(p,c)}function u(){n=void 0}s||(o&&!n&&d(),a(),void 0===o&&v>t?d():!0!==i&&(n=setTimeout(o?u:d,void 0===o?t-v:t)))}return"boolean"!=typeof i&&(o=e,e=i,i=void 0),l.cancel=function(){a(),s=!0},l}t.debounce=function(t,e,o){return void 0===o?i(t,e,!1):i(t,o,!1!==e)},t.throttle=i,Object.defineProperty(t,"__esModule",{value:!0})},"object"===a(i)&&void 0!==t?r(i):(n=[i],void 0===(s="function"==typeof(o=r)?o.apply(i,n):o)||(t.exports=s))},4:function(t,i,e){"use strict";i.a=function(t){var i=[],e=null,o=function(){for(var o=arguments.length,n=new Array(o),s=0;s<o;s++)n[s]=arguments[s];i=n,e||(e=requestAnimationFrame((function(){e=null,t.apply(void 0,i)})))};return o.cancel=function(){e&&(cancelAnimationFrame(e),e=null)},o}}});
|
1 |
+
!function(t){var i={};function e(o){if(i[o])return i[o].exports;var n=i[o]={i:o,l:!1,exports:{}};return t[o].call(n.exports,n,n.exports,e),n.l=!0,n.exports}e.m=t,e.c=i,e.d=function(t,i,o){e.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:o})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,i){if(1&i&&(t=e(t)),8&i)return t;if(4&i&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&i&&"string"!=typeof t)for(var n in t)e.d(o,n,function(i){return t[i]}.bind(null,n));return o},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},e.p="",e(e.s=237)}({237:function(t,i,e){t.exports=e(238)},238:function(t,i,e){"use strict";e.r(i);var o=e(3),n=e(4);function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r(t,i){for(var e=0;e<i.length;e++){var o=i[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}var a=window,l=a.jQuery,c=a.VPData.__,f=l(window);function p(){if("function"==typeof window.Event)window.dispatchEvent(new window.Event("resize"));else{var t=window.document.createEvent("UIEvents");t.initUIEvent("resize",!0,!1,window,0),window.dispatchEvent(t)}}var v={},d=!1,u=!1;function h(){if(clearTimeout(u),d){var t=l(".vp-portfolio__ready");if(t.length){var i=!1;t.each((function(){var t=this.vpf;if(t){var e=v[t.uid]||"none";v[t.uid]=null===this.offsetParent?"hidden":"visible","hidden"===e&&"visible"===v[t.uid]&&(i=!0)}})),i&&p()}else d=!1;u=setTimeout(h,500)}}l(document).on("inited.vpf",(function(t){"vpf"===t.namespace&&(d=!0,h())}));var m=function(){function t(i,e){!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t);this.$item=i;for(var o=i[0].className.split(/\s+/),n=0;n<o.length;n+=1)o[n]&&/^vp-uid-/.test(o[n])&&(this.uid=o[n].replace(/^vp-uid-/,"")),o[n]&&/^vp-id-/.test(o[n])&&(this.id=o[n].replace(/^vp-id-/,""));this.uid?(this.href=window.location.href,this.$items_wrap=i.find(".vp-portfolio__items"),this.$slider_thumbnails_wrap=i.find(".vp-portfolio__thumbnails"),this.$pagination=i.find(".vp-portfolio__pagination-wrap"),this.$filter=i.find(".vp-portfolio__filter-wrap"),this.$sort=i.find(".vp-portfolio__sort-wrap"),this.id&&(this.$filter=this.$filter.add(".vp-single-filter.vp-id-".concat(this.id," .vp-portfolio__filter-wrap"))),this.id&&(this.$sort=this.$sort.add(".vp-single-sort.vp-id-".concat(this.id," .vp-portfolio__sort-wrap"))),this.userOptions=e,this.firstRun=!0,this.init()):console.error(c.couldnt_retrieve_vp)}var i,e,o;return i=t,(e=[{key:"emitEvent",value:function(t,i){i=i?[this].concat(i):[this],this.$item.trigger("".concat(t,".vpf"),i),this.$item.trigger("".concat(t,".vpf-uid-").concat(this.uid),i)}},{key:"init",value:function(){this.firstRun||this.destroy(),this.destroyed=!1,this.removeNoscriptTags(this.$items_wrap),this.initOptions(),this.initEvents(),this.initLayout(),this.initCustomColors(),this.emitEvent("init"),this.$item.addClass("vp-portfolio__ready"),this.id&&(l(".vp-single-filter.vp-id-".concat(this.id)).addClass("vp-single-filter__ready"),l(".vp-single-sort.vp-id-".concat(this.id)).addClass("vp-single-sort__ready")),this.resized(),this.imagesLoaded(),this.emitEvent("inited"),this.firstRun=!1}},{key:"isPreview",value:function(){return!!this.$item.closest("#vp_preview").length}},{key:"resized",value:function(){p(),this.emitEvent("resized")}},{key:"imagesLoaded",value:function(){var t=this;this.$items_wrap.imagesLoaded&&this.$items_wrap.imagesLoaded((function(){t.emitEvent("imagesLoaded")}))}},{key:"destroy",value:function(){this.$item.removeClass("vp-portfolio__ready"),this.id&&(l(".vp-single-filter.vp-id-".concat(this.id)).removeClass("vp-single-filter__ready"),l(".vp-single-sort.vp-id-".concat(this.id)).removeClass("vp-single-sort__ready")),this.destroyEvents(),this.removeStyle(),this.renderStyle(),this.emitEvent("destroy"),this.destroyed=!0}},{key:"addStyle",value:function(t,i,e){e=e||"";var o=this.uid;this.stylesList||(this.stylesList={}),void 0===this.stylesList[o]&&(this.stylesList[o]={}),void 0===this.stylesList[o][e]&&(this.stylesList[o][e]={}),void 0===this.stylesList[o][e][t]&&(this.stylesList[o][e][t]={}),this.stylesList[o][e][t]=l.extend(this.stylesList[o][e][t],i),this.emitEvent("addStyle",[t,i,e,this.stylesList])}},{key:"removeStyle",value:function(t,i,e){e=e||"";var o=this.uid;this.stylesList||(this.stylesList={}),void 0===this.stylesList[o]||t||(this.stylesList[o]={}),void 0!==this.stylesList[o]&&void 0!==this.stylesList[o][e]&&void 0!==this.stylesList[o][e][t]&&t&&delete this.stylesList[o][e][t],this.emitEvent("removeStyle",[t,i,this.stylesList])}},{key:"renderStyle",value:function(){var t=this,i=t.uid,e="";t.stylesList||(t.stylesList={}),void 0!==t.stylesList[i]&&Object.keys(t.stylesList[i]).forEach((function(o){o&&(e+="@media ".concat(o," {")),Object.keys(t.stylesList[i][o]).forEach((function(n){e+=".vp-uid-".concat(i," ").concat(n," {"),Object.keys(t.stylesList[i][o][n]).forEach((function(s){e+="".concat(s,":").concat(t.stylesList[i][o][n][s],";")})),e+="}"})),o&&(e+="}")}));var o=l("#vp-style-".concat(i));o.length||(o=l("<style>").attr("id","vp-style-".concat(i)).appendTo("head")),o.html(e),t.emitEvent("renderStyle",[e,t.stylesList,o])}},{key:"firstToLowerCase",value:function(t){return t.substr(0,1).toLowerCase()+t.substr(1)}},{key:"initOptions",value:function(t){var i=this;i.defaults={layout:"tile",itemsGap:0,pagination:"load-more"},t&&(i.userOptions=t);var e=i.$item[0].dataset,o={};Object.keys(e).forEach((function(t){t&&"vp"===t.substring(0,2)&&(o[i.firstToLowerCase(t.substring(2))]=e[t])})),i.options=l.extend({},i.defaults,o,i.userOptions),i.emitEvent("initOptions")}},{key:"initEvents",value:function(){var t,i=this,e=".vpf-uid-".concat(i.uid);function o(){var t=i.$item[0].getBoundingClientRect(),e=t.left,o=window.innerWidth-t.right,n=parseFloat(i.$item.css("margin-left")||0),s=parseFloat(i.$item.css("margin-right")||0);i.$item.css({marginLeft:n-e,marginRight:s-o,maxWidth:"none",width:"auto"})}function n(){var e=i.$item[0].getBoundingClientRect();0<e.bottom&&e.bottom-250<=window.innerHeight&&i.loadNewItems(i.options.nextPageUrl,!1,(function(){clearTimeout(t),t=setTimeout((function(){n()}),300)}))}i.$item.hasClass("vp-portfolio__stretch")&&!i.isPreview()&&(f.on("load".concat(e," resize").concat(e," orientationchange").concat(e),(function(){o()})),o()),i.$item.on("focus".concat(e),".vp-portfolio__item a",(function(){l(this).closest(".vp-portfolio__item").addClass("vp-portfolio__item-focus")})),i.$item.on("blur".concat(e),".vp-portfolio__item a",(function(){l(this).closest(".vp-portfolio__item").removeClass("vp-portfolio__item-focus")})),i.$filter.on("click".concat(e),".vp-filter .vp-filter__item a",(function(t){t.preventDefault();var e=l(this);i.loading||e.closest(".vp-filter__item").addClass("vp-filter__item-active").siblings().removeClass("vp-filter__item-active"),i.loadNewItems(e.attr("href"),!0)})),i.$sort.on("click".concat(e),".vp-sort .vp-sort__item a",(function(t){t.preventDefault();var e=l(this);i.loading||e.closest(".vp-sort__item").addClass("vp-sort__item-active").siblings().removeClass("vp-sort__item-active"),i.loadNewItems(e.attr("href"),!0)})),i.$filter.add(i.$sort).on("change".concat(e),".vp-filter select, .vp-sort select",(function(){var t=l(this),e=t.val(),o=t.find('[value="'.concat(e,'"]'));o.length&&i.loadNewItems(o.attr("data-vp-url"),!0)})),i.$item.on("click".concat(e),".vp-pagination .vp-pagination__item a",(function(t){t.preventDefault();var e=l(this),o=e.closest(".vp-pagination");if((!o.hasClass("vp-pagination__no-more")||"paged"===i.options.pagination)&&(i.loadNewItems(e.attr("href"),"paged"===i.options.pagination),"paged"===i.options.pagination&&o.hasClass("vp-pagination__scroll-top"))){var n=l("#wpadminbar"),s=window.pageYOffset||document.documentElement.scrollTop,r=i.$item.offset().top;o.attr("data-vp-pagination-scroll-top")&&(r-=parseInt(o.attr("data-vp-pagination-scroll-top"),10)||0),n.length&&"fixed"===n.css("position")&&(r-=n.outerHeight()),s>(r=Math.max(0,r))&&window.scrollTo({top:r,behavior:"smooth"})}})),i.$item.on("click".concat(e),".vp-portfolio__items .vp-portfolio__item-meta-category a",(function(t){t.preventDefault(),t.stopPropagation(),i.loadNewItems(l(this).attr("href"),!0)})),"infinite"===i.options.pagination&&(f.on("load".concat(e," scroll").concat(e," resize").concat(e," orientationchange").concat(e),(function(){clearTimeout(t),t=setTimeout((function(){n()}),60)})),n()),i.$item.on("transitionend".concat(e),".vp-portfolio__items",(function(t){t.currentTarget===t.target&&i.resized()})),i.emitEvent("initEvents")}},{key:"destroyEvents",value:function(){var t=".vpf-uid-".concat(this.uid);this.$item.off(t),this.$filter.off(t),this.$sort.off(t),f.off(t),this.emitEvent("destroyEvents")}},{key:"removeNoscriptTags",value:function(t){t.find("noscript").remove()}},{key:"initLayout",value:function(){this.emitEvent("initLayout"),this.renderStyle()}},{key:"initCustomColors",value:function(){var t=this;t.$item.find("[data-vp-bg-color]").each((function(){var i=l(this).attr("data-vp-bg-color");t.addStyle('[data-vp-bg-color="'.concat(i,'"]'),{"background-color":"".concat(i," !important")})})),t.$item.find("[data-vp-text-color]").each((function(){var i=l(this).attr("data-vp-text-color");t.addStyle('[data-vp-text-color="'.concat(i,'"]'),{color:"".concat(i," !important")})})),t.renderStyle(),t.emitEvent("initCustomColors")}},{key:"addItems",value:function(t,i,e){this.removeNoscriptTags(t),this.emitEvent("addItems",[t,i,e])}},{key:"removeItems",value:function(t){this.emitEvent("removeItems",[t])}},{key:"loadNewItems",value:function(t,i,e){var o=this;if(!o.loading&&t&&o.href!==t){var n={method:"POST",url:t,data:{vpf_ajax_call:!0},complete:function(n){var s=n.responseText;o.href=t,o.replaceItems(s,i,e)}};o.loading=!0,o.$item.addClass("vp-portfolio__loading"),o.emitEvent("startLoadingNewItems",[t,n]),l.ajax(n)}}},{key:"replaceItems",value:function(t,i,e){if(t){t=t.replace("<body",'<body><div id="vp-infinite-load-body"').replace("</body>","</div></body>");var o=l(t).filter("#vp-infinite-load-body"),n=o.find(".vp-portfolio.vp-uid-".concat(this.uid));if(n.length){var s=n.find(".vp-portfolio__items").html();n.hasClass("vp-portfolio-not-found")?(this.$item.find(".vp-portfolio__items-wrap").before(n.find(".vp-notice").clone()),this.$item.addClass("vp-portfolio-not-found")):(this.$item.find(".vp-notice").remove(),this.$item.removeClass("vp-portfolio-not-found")),this.$filter.length&&this.$filter.each((function(){var t=l(this),i="";i=t.parent().hasClass("vp-single-filter")?o.find('[class="'.concat(t.parent().attr("class").replace(" vp-single-filter__ready",""),'"] .vp-portfolio__filter-wrap')).html():n.find(".vp-portfolio__filter-wrap").html(),t.html(i)})),this.$sort.length&&this.$sort.each((function(){var t=l(this),i="";i=t.parent().hasClass("vp-single-sort")?o.find('[class="'.concat(t.parent().attr("class").replace(" vp-single-sort__ready",""),'"] .vp-portfolio__sort-wrap')).html():n.find(".vp-portfolio__sort-wrap").html(),t.html(i)})),this.$pagination.length&&this.$pagination.html(n.find(".vp-portfolio__pagination-wrap").html()),this.addItems(l(s),i,n),this.emitEvent("loadedNewItems",[n,i,t]),e&&e()}var r=n.attr("data-vp-next-page-url");this.options.nextPageUrl=r,this.$item.attr("data-vp-next-page-url",r),this.$item.removeClass("vp-portfolio__loading"),this.loading=!1,this.emitEvent("endLoadingNewItems"),this.imagesLoaded(),this.initCustomColors()}}}])&&r(i.prototype,e),o&&r(i,o),t}();l(".elementor").length&&l(document).on("init.vpf addItems.vpf",(function(t,i){"vpf"===t.namespace&&i.$item.find(".vp-portfolio__item a").each((function(){/\.(png|jpe?g|gif|svg)(\?.*)?$/i.test(this.href)&&l(this).attr("data-elementor-open-lightbox","no")}))})),l(document).trigger("extendClass.vpf",[m]);var y=function(t){for(var i=arguments.length,e=new Array(i>1?i-1:0),o=1;o<i;o++)e[o-1]=arguments[o];var n;return this.each((function(){if(void 0===n)if("object"===s(t)||void 0===t)this.vpf||(this.vpf=new m(l(this),t));else if(this.vpf){var i;n=(i=this.vpf)[t].apply(i,e)}})),void 0!==n?n:this};y.constructor=m;var g=l.fn.vpf;l.fn.vpf=y,l.fn.vpf.noConflict=function(){return l.fn.vpf=g,this},l(".vp-portfolio").vpf(),l((function(){l(".vp-portfolio").vpf()}));var _=Object(o.throttle)(200,Object(n.a)((function(){l(".vp-portfolio:not(.vp-portfolio__ready)").vpf()})));window.MutationObserver?new window.MutationObserver(_).observe(document.documentElement,{childList:!0,subtree:!0}):l(document).on("DOMContentLoaded DOMNodeInserted load",(function(){_()}))},3:function(t,i,e){var o,n,s,r;function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}r=function(t){"use strict";function i(t,i,e,o){var n,s=!1,r=0;function a(){n&&clearTimeout(n)}function l(){for(var l=arguments.length,c=new Array(l),f=0;f<l;f++)c[f]=arguments[f];var p=this,v=Date.now()-r;function d(){r=Date.now(),e.apply(p,c)}function u(){n=void 0}s||(o&&!n&&d(),a(),void 0===o&&v>t?d():!0!==i&&(n=setTimeout(o?u:d,void 0===o?t-v:t)))}return"boolean"!=typeof i&&(o=e,e=i,i=void 0),l.cancel=function(){a(),s=!0},l}t.debounce=function(t,e,o){return void 0===o?i(t,e,!1):i(t,o,!1!==e)},t.throttle=i,Object.defineProperty(t,"__esModule",{value:!0})},"object"===a(i)&&void 0!==t?r(i):(n=[i],void 0===(s="function"==typeof(o=r)?o.apply(i,n):o)||(t.exports=s))},4:function(t,i,e){"use strict";i.a=function(t){var i=[],e=null,o=function(){for(var o=arguments.length,n=new Array(o),s=0;s<o;s++)n[s]=arguments[s];i=n,e||(e=requestAnimationFrame((function(){e=null,t.apply(void 0,i)})))};return o.cancel=function(){e&&(cancelAnimationFrame(e),e=null)},o}}});
|
assets/js/preview.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/*!
|
2 |
* Name : Visual Portfolio
|
3 |
-
* Version : 2.
|
4 |
* Author : nK https://nkdev.info
|
5 |
*/
|
6 |
const $ = window.jQuery;
|
1 |
/*!
|
2 |
* Name : Visual Portfolio
|
3 |
+
* Version : 2.10.0
|
4 |
* Author : nK https://nkdev.info
|
5 |
*/
|
6 |
const $ = window.jQuery;
|
class-visual-portfolio.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Plugin Name: Visual Portfolio, Posts & Image Gallery
|
4 |
* Description: Modern gallery and portfolio plugin with advanced layouts editor. Clean and powerful gallery styles with enormous settings in the Gutenberg block.
|
5 |
-
* Version: 2.
|
6 |
* Author: nK
|
7 |
* Author URI: https://nkdev.info
|
8 |
* License: GPLv2 or later
|
@@ -171,6 +171,7 @@ class Visual_Portfolio {
|
|
171 |
require_once $this->plugin_path . 'gutenberg/utils/control-condition-check/index.php';
|
172 |
require_once $this->plugin_path . 'gutenberg/utils/control-get-value/index.php';
|
173 |
require_once $this->plugin_path . 'gutenberg/utils/controls-dynamic-css/index.php';
|
|
|
174 |
require_once $this->plugin_path . 'classes/class-parse-blocks.php';
|
175 |
require_once $this->plugin_path . 'classes/class-assets.php';
|
176 |
require_once $this->plugin_path . 'classes/class-images.php';
|
@@ -203,56 +204,18 @@ class Visual_Portfolio {
|
|
203 |
* @param array $args args for template.
|
204 |
*/
|
205 |
public function include_template( $template_name, $args = array() ) {
|
206 |
-
|
207 |
-
// phpcs:ignore
|
208 |
-
extract( $args );
|
209 |
-
}
|
210 |
-
|
211 |
-
// template in theme folder.
|
212 |
-
$template = locate_template( array( '/visual-portfolio/' . $template_name . '.php' ) );
|
213 |
-
|
214 |
-
// pro plugin template.
|
215 |
-
if ( ! $template && $this->pro_plugin_path && file_exists( $this->pro_plugin_path . 'templates/' . $template_name . '.php' ) ) {
|
216 |
-
$template = $this->pro_plugin_path . 'templates/' . $template_name . '.php';
|
217 |
-
}
|
218 |
-
|
219 |
-
// default template.
|
220 |
-
if ( ! $template ) {
|
221 |
-
$template = $this->plugin_path . 'templates/' . $template_name . '.php';
|
222 |
-
}
|
223 |
-
|
224 |
-
// Allow 3rd party plugin filter template file from their plugin.
|
225 |
-
$template = apply_filters( 'vpf_include_template', $template, $template_name, $args );
|
226 |
-
|
227 |
-
if ( file_exists( $template ) ) {
|
228 |
-
include $template;
|
229 |
-
}
|
230 |
}
|
231 |
|
232 |
/**
|
233 |
* Find css template file
|
234 |
*
|
235 |
* @param string $template_name file name.
|
|
|
236 |
* @return string
|
237 |
*/
|
238 |
public function find_template_styles( $template_name ) {
|
239 |
-
$
|
240 |
-
|
241 |
-
if ( file_exists( get_stylesheet_directory() . '/visual-portfolio/' . $template_name . '.css' ) ) {
|
242 |
-
// Child Theme (or just theme).
|
243 |
-
$template = trailingslashit( get_stylesheet_directory_uri() ) . 'visual-portfolio/' . $template_name . '.css';
|
244 |
-
} elseif ( file_exists( get_template_directory() . '/visual-portfolio/' . $template_name . '.css' ) ) {
|
245 |
-
// Parent Theme (when parent exists).
|
246 |
-
$template = trailingslashit( get_template_directory_uri() ) . 'visual-portfolio/' . $template_name . '.css';
|
247 |
-
} elseif ( $this->pro_plugin_path && file_exists( $this->pro_plugin_path . 'templates/' . $template_name . '.css' ) ) {
|
248 |
-
// PRO plugin folder.
|
249 |
-
$template = $this->pro_plugin_url . 'templates/' . $template_name . '.css';
|
250 |
-
} elseif ( file_exists( $this->plugin_path . 'templates/' . $template_name . '.css' ) ) {
|
251 |
-
// Default file in plugin folder.
|
252 |
-
$template = $this->plugin_url . 'templates/' . $template_name . '.css';
|
253 |
-
}
|
254 |
-
|
255 |
-
return $template;
|
256 |
}
|
257 |
|
258 |
/**
|
@@ -265,26 +228,7 @@ class Visual_Portfolio {
|
|
265 |
* @param string $media media string.
|
266 |
*/
|
267 |
public function include_template_style( $handle, $template_name, $deps = array(), $ver = false, $media = 'all' ) {
|
268 |
-
$
|
269 |
-
$is_min = false;
|
270 |
-
|
271 |
-
// maybe find minified style.
|
272 |
-
if ( ! $template ) {
|
273 |
-
$template = $this->find_template_styles( $template_name . '.min' );
|
274 |
-
$is_min = true;
|
275 |
-
}
|
276 |
-
|
277 |
-
// Allow 3rd party plugin filter template file from their plugin.
|
278 |
-
$template = apply_filters( 'vpf_include_template_style', $template, $template_name, $deps, $ver, $media );
|
279 |
-
|
280 |
-
if ( $template ) {
|
281 |
-
wp_enqueue_style( $handle, $template, $deps, $ver, $media );
|
282 |
-
wp_style_add_data( $handle, 'rtl', 'replace' );
|
283 |
-
|
284 |
-
if ( $template ) {
|
285 |
-
wp_style_add_data( $handle, 'suffix', '.min' );
|
286 |
-
}
|
287 |
-
}
|
288 |
}
|
289 |
|
290 |
/**
|
2 |
/**
|
3 |
* Plugin Name: Visual Portfolio, Posts & Image Gallery
|
4 |
* Description: Modern gallery and portfolio plugin with advanced layouts editor. Clean and powerful gallery styles with enormous settings in the Gutenberg block.
|
5 |
+
* Version: 2.10.0
|
6 |
* Author: nK
|
7 |
* Author URI: https://nkdev.info
|
8 |
* License: GPLv2 or later
|
171 |
require_once $this->plugin_path . 'gutenberg/utils/control-condition-check/index.php';
|
172 |
require_once $this->plugin_path . 'gutenberg/utils/control-get-value/index.php';
|
173 |
require_once $this->plugin_path . 'gutenberg/utils/controls-dynamic-css/index.php';
|
174 |
+
require_once $this->plugin_path . 'classes/class-templates.php';
|
175 |
require_once $this->plugin_path . 'classes/class-parse-blocks.php';
|
176 |
require_once $this->plugin_path . 'classes/class-assets.php';
|
177 |
require_once $this->plugin_path . 'classes/class-images.php';
|
204 |
* @param array $args args for template.
|
205 |
*/
|
206 |
public function include_template( $template_name, $args = array() ) {
|
207 |
+
Visual_Portfolio_Templates::include_template( $template_name, $args );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
208 |
}
|
209 |
|
210 |
/**
|
211 |
* Find css template file
|
212 |
*
|
213 |
* @param string $template_name file name.
|
214 |
+
*
|
215 |
* @return string
|
216 |
*/
|
217 |
public function find_template_styles( $template_name ) {
|
218 |
+
return Visual_Portfolio_Templates::find_template_styles( $template_name );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
219 |
}
|
220 |
|
221 |
/**
|
228 |
* @param string $media media string.
|
229 |
*/
|
230 |
public function include_template_style( $handle, $template_name, $deps = array(), $ver = false, $media = 'all' ) {
|
231 |
+
Visual_Portfolio_Templates::include_template_style( $handle, $template_name, $deps, $ver, $media );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
232 |
}
|
233 |
|
234 |
/**
|
classes/class-admin.php
CHANGED
@@ -42,9 +42,9 @@ class Visual_Portfolio_Admin {
|
|
42 |
'nonce' => wp_create_nonce( 'vp-ajax-nonce' ),
|
43 |
);
|
44 |
|
45 |
-
wp_enqueue_script( 'visual-portfolio-admin', visual_portfolio()->plugin_url . 'assets/admin/js/script.min.js', array( 'jquery', 'wp-data' ), '2.
|
46 |
wp_localize_script( 'visual-portfolio-admin', 'VPAdminVariables', $data_init );
|
47 |
-
wp_enqueue_style( 'visual-portfolio-admin', visual_portfolio()->plugin_url . 'assets/admin/css/style.min.css', array(), '2.
|
48 |
wp_style_add_data( 'visual-portfolio-admin', 'rtl', 'replace' );
|
49 |
wp_style_add_data( 'visual-portfolio-admin', 'suffix', '.min' );
|
50 |
}
|
@@ -58,8 +58,8 @@ class Visual_Portfolio_Admin {
|
|
58 |
);
|
59 |
|
60 |
if ( 'vp_lists' === get_post_type() ) {
|
61 |
-
wp_enqueue_script( 'visual-portfolio-saved-layouts', visual_portfolio()->plugin_url . 'gutenberg/layouts-editor.min.js', array( 'jquery' ), '2.
|
62 |
-
wp_enqueue_style( 'visual-portfolio-saved-layouts', visual_portfolio()->plugin_url . 'gutenberg/layouts-editor.min.css', array(), '2.
|
63 |
wp_style_add_data( 'visual-portfolio-saved-layouts', 'rtl', 'replace' );
|
64 |
wp_style_add_data( 'visual-portfolio-saved-layouts', 'suffix', '.min' );
|
65 |
|
@@ -105,7 +105,7 @@ class Visual_Portfolio_Admin {
|
|
105 |
// phpcs:ignore
|
106 |
if ( 'visual_portfolio_go_pro' === $_GET['page'] ) {
|
107 |
// phpcs:ignore
|
108 |
-
wp_redirect( 'https://visualportfolio.co/pro/?utm_source=freeplugin&utm_medium=link&utm_campaign=admin_page&utm_content=2.
|
109 |
exit();
|
110 |
}
|
111 |
}
|
@@ -1134,6 +1134,23 @@ class Visual_Portfolio_Admin {
|
|
1134 |
),
|
1135 |
)
|
1136 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1137 |
Visual_Portfolio_Controls::register(
|
1138 |
array(
|
1139 |
'category' => 'content-source-post-based',
|
@@ -2842,17 +2859,22 @@ selector p {
|
|
2842 |
);
|
2843 |
}
|
2844 |
}
|
2845 |
-
$post_types_selector['
|
|
|
|
|
|
|
|
|
|
|
2846 |
'value' => 'ids',
|
2847 |
'title' => esc_html__( 'Manual Selection', 'visual-portfolio' ),
|
2848 |
'icon' => '<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.75" y="0.75" width="18.5" height="18.5" rx="1.25" stroke="currentColor" stroke-width="1.5" fill="transparent"/><path d="M5 11.6L7.30769 14L15 6" stroke="currentColor" stroke-width="1.5" fill="transparent" stroke-linecap="round" stroke-linejoin="round"/></svg>',
|
2849 |
);
|
2850 |
-
$post_types_selector['custom_query']
|
2851 |
'value' => 'custom_query',
|
2852 |
'title' => esc_html__( 'Custom Query', 'visual-portfolio' ),
|
2853 |
'icon' => '<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.7678 0.91749L10.7678 0.917496L10.7707 0.919154L17.7678 4.91831C17.7682 4.91856 17.7687 4.91882 17.7691 4.91907C17.9584 5.02866 18.1156 5.186 18.225 5.37541C18.3347 5.56526 18.3926 5.78064 18.3929 5.99995V14.0001C18.3926 14.2194 18.3347 14.4347 18.225 14.6246C18.1156 14.814 17.9583 14.9714 17.769 15.081C17.7686 15.0812 17.7682 15.0814 17.7678 15.0817L10.7707 19.0808L10.7678 19.0825C10.5778 19.1922 10.3622 19.25 10.1429 19.25C9.92346 19.25 9.70793 19.1922 9.51791 19.0825L9.51501 19.0808L2.51791 15.0817C2.5175 15.0814 2.51708 15.0812 2.51667 15.081C2.32739 14.9714 2.17015 14.814 2.06067 14.6246C1.95102 14.4348 1.89314 14.2196 1.89285 14.0004V5.99959C1.89314 5.78041 1.95102 5.56516 2.06067 5.37541C2.17014 5.186 2.32736 5.02865 2.5166 4.91907C2.51704 4.91881 2.51747 4.91856 2.51791 4.91831L9.51501 0.919154L9.51502 0.91916L9.51791 0.91749C9.70793 0.807761 9.92346 0.75 10.1429 0.75C10.3622 0.75 10.5778 0.807761 10.7678 0.91749Z" stroke="currentColor" stroke-width="1.5" fill="transparent" stroke-linecap="round" stroke-linejoin="round"/><path d="M10.1449 18.9286V9.42857" stroke="currentColor" stroke-width="1.5" fill="transparent" stroke-linecap="round" stroke-linejoin="round"/><path d="M18.1159 4.78261L10.1449 9.42029L2.02899 4.78261" stroke="currentColor" stroke-width="1.5" fill="transparent"/></svg>',
|
2854 |
);
|
2855 |
-
$post_types_selector['current_query']
|
2856 |
'value' => 'current_query',
|
2857 |
'title' => esc_html__( 'Current Query', 'visual-portfolio' ),
|
2858 |
'icon' => '<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.7678 0.91749L10.7678 0.917496L10.7707 0.919154L17.7678 4.91831C17.7682 4.91856 17.7687 4.91882 17.7691 4.91907C17.9584 5.02866 18.1156 5.186 18.225 5.37541C18.3347 5.56526 18.3926 5.78064 18.3929 5.99995V14.0001C18.3926 14.2194 18.3347 14.4347 18.225 14.6246C18.1156 14.814 17.9583 14.9714 17.769 15.081C17.7686 15.0812 17.7682 15.0814 17.7678 15.0817L10.7707 19.0808L10.7678 19.0825C10.5778 19.1922 10.3622 19.25 10.1429 19.25C9.92346 19.25 9.70793 19.1922 9.51791 19.0825L9.51501 19.0808L2.51791 15.0817C2.5175 15.0814 2.51708 15.0812 2.51667 15.081C2.32739 14.9714 2.17015 14.814 2.06067 14.6246C1.95102 14.4348 1.89314 14.2196 1.89285 14.0004V5.99959C1.89314 5.78041 1.95102 5.56516 2.06067 5.37541C2.17014 5.186 2.32736 5.02865 2.5166 4.91907C2.51704 4.91881 2.51747 4.91856 2.51791 4.91831L9.51501 0.919154L9.51502 0.91916L9.51791 0.91749C9.70793 0.807761 9.92346 0.75 10.1429 0.75C10.3622 0.75 10.5778 0.807761 10.7678 0.91749Z" stroke="currentColor" stroke-width="1.5" fill="transparent" stroke-linecap="round" stroke-linejoin="round"/><path d="M10.1449 18.9286V9.42857" stroke="currentColor" stroke-width="1.5" fill="transparent" stroke-linecap="round" stroke-linejoin="round"/><path d="M18.1159 4.78261L10.1449 9.42029L2.02899 4.78261" stroke="currentColor" stroke-width="1.5" fill="transparent"/></svg>',
|
@@ -2863,6 +2885,40 @@ selector p {
|
|
2863 |
);
|
2864 |
}
|
2865 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2866 |
/**
|
2867 |
* Find posts for select control.
|
2868 |
*
|
@@ -2885,7 +2941,7 @@ selector p {
|
|
2885 |
|
2886 |
$post_type = isset( $attributes['posts_source'] ) ? sanitize_text_field( wp_unslash( $attributes['posts_source'] ) ) : 'any';
|
2887 |
|
2888 |
-
if ( ! $post_type || 'custom_query' === $post_type || 'ids' === $post_type ) {
|
2889 |
$post_type = 'any';
|
2890 |
}
|
2891 |
|
@@ -2948,7 +3004,7 @@ selector p {
|
|
2948 |
if ( isset( $_POST['q'] ) ) {
|
2949 |
$post_type = isset( $_POST['post_type'] ) ? sanitize_text_field( wp_unslash( $_POST['post_type'] ) ) : 'any';
|
2950 |
|
2951 |
-
if ( ! $post_type || 'custom_query' === $post_type || 'ids' === $post_type ) {
|
2952 |
$post_type = 'any';
|
2953 |
}
|
2954 |
|
42 |
'nonce' => wp_create_nonce( 'vp-ajax-nonce' ),
|
43 |
);
|
44 |
|
45 |
+
wp_enqueue_script( 'visual-portfolio-admin', visual_portfolio()->plugin_url . 'assets/admin/js/script.min.js', array( 'jquery', 'wp-data' ), '2.10.0', true );
|
46 |
wp_localize_script( 'visual-portfolio-admin', 'VPAdminVariables', $data_init );
|
47 |
+
wp_enqueue_style( 'visual-portfolio-admin', visual_portfolio()->plugin_url . 'assets/admin/css/style.min.css', array(), '2.10.0' );
|
48 |
wp_style_add_data( 'visual-portfolio-admin', 'rtl', 'replace' );
|
49 |
wp_style_add_data( 'visual-portfolio-admin', 'suffix', '.min' );
|
50 |
}
|
58 |
);
|
59 |
|
60 |
if ( 'vp_lists' === get_post_type() ) {
|
61 |
+
wp_enqueue_script( 'visual-portfolio-saved-layouts', visual_portfolio()->plugin_url . 'gutenberg/layouts-editor.min.js', array( 'jquery' ), '2.10.0', true );
|
62 |
+
wp_enqueue_style( 'visual-portfolio-saved-layouts', visual_portfolio()->plugin_url . 'gutenberg/layouts-editor.min.css', array(), '2.10.0' );
|
63 |
wp_style_add_data( 'visual-portfolio-saved-layouts', 'rtl', 'replace' );
|
64 |
wp_style_add_data( 'visual-portfolio-saved-layouts', 'suffix', '.min' );
|
65 |
|
105 |
// phpcs:ignore
|
106 |
if ( 'visual_portfolio_go_pro' === $_GET['page'] ) {
|
107 |
// phpcs:ignore
|
108 |
+
wp_redirect( 'https://visualportfolio.co/pro/?utm_source=freeplugin&utm_medium=link&utm_campaign=admin_page&utm_content=2.10.0' );
|
109 |
exit();
|
110 |
}
|
111 |
}
|
1134 |
),
|
1135 |
)
|
1136 |
);
|
1137 |
+
Visual_Portfolio_Controls::register(
|
1138 |
+
array(
|
1139 |
+
'category' => 'content-source-post-based',
|
1140 |
+
'type' => 'select',
|
1141 |
+
'label' => esc_html__( 'Post Types', 'visual-portfolio' ),
|
1142 |
+
'name' => 'post_types_set',
|
1143 |
+
'default' => array( 'post' ),
|
1144 |
+
'value_callback' => array( $this, 'find_posts_types_select_control' ),
|
1145 |
+
'multiple' => true,
|
1146 |
+
'condition' => array(
|
1147 |
+
array(
|
1148 |
+
'control' => 'posts_source',
|
1149 |
+
'value' => 'post_types_set',
|
1150 |
+
),
|
1151 |
+
),
|
1152 |
+
)
|
1153 |
+
);
|
1154 |
Visual_Portfolio_Controls::register(
|
1155 |
array(
|
1156 |
'category' => 'content-source-post-based',
|
2859 |
);
|
2860 |
}
|
2861 |
}
|
2862 |
+
$post_types_selector['post_types_set'] = array(
|
2863 |
+
'value' => 'post_types_set',
|
2864 |
+
'title' => esc_html__( 'Post Types Set', 'visual-portfolio' ),
|
2865 |
+
'icon' => '<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11 1C11 1 5.5 1 5 1C4.5 1 3.94017 1.06696 3.5 1.5C3.02194 1.97032 3 2.5 3 3.14286C3 3.78571 3 16 3 16" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M6.75 3.75H13.4457L18.25 8.41705V18.3C18.25 18.5448 18.1501 18.7842 17.9648 18.9641C17.7789 19.1448 17.5221 19.25 17.25 19.25H6.75C6.47788 19.25 6.22113 19.1448 6.03515 18.9641C5.84991 18.7842 5.75 18.5448 5.75 18.3V4.7C5.75 4.45517 5.84991 4.21582 6.03515 4.03588C6.22113 3.85521 6.47788 3.75 6.75 3.75Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M14 4V9H19" stroke="currentColor" stroke-width="1.5"/><path d="M15 12H9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M11 8H9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M15 16H9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>',
|
2866 |
+
);
|
2867 |
+
$post_types_selector['ids'] = array(
|
2868 |
'value' => 'ids',
|
2869 |
'title' => esc_html__( 'Manual Selection', 'visual-portfolio' ),
|
2870 |
'icon' => '<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.75" y="0.75" width="18.5" height="18.5" rx="1.25" stroke="currentColor" stroke-width="1.5" fill="transparent"/><path d="M5 11.6L7.30769 14L15 6" stroke="currentColor" stroke-width="1.5" fill="transparent" stroke-linecap="round" stroke-linejoin="round"/></svg>',
|
2871 |
);
|
2872 |
+
$post_types_selector['custom_query'] = array(
|
2873 |
'value' => 'custom_query',
|
2874 |
'title' => esc_html__( 'Custom Query', 'visual-portfolio' ),
|
2875 |
'icon' => '<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.7678 0.91749L10.7678 0.917496L10.7707 0.919154L17.7678 4.91831C17.7682 4.91856 17.7687 4.91882 17.7691 4.91907C17.9584 5.02866 18.1156 5.186 18.225 5.37541C18.3347 5.56526 18.3926 5.78064 18.3929 5.99995V14.0001C18.3926 14.2194 18.3347 14.4347 18.225 14.6246C18.1156 14.814 17.9583 14.9714 17.769 15.081C17.7686 15.0812 17.7682 15.0814 17.7678 15.0817L10.7707 19.0808L10.7678 19.0825C10.5778 19.1922 10.3622 19.25 10.1429 19.25C9.92346 19.25 9.70793 19.1922 9.51791 19.0825L9.51501 19.0808L2.51791 15.0817C2.5175 15.0814 2.51708 15.0812 2.51667 15.081C2.32739 14.9714 2.17015 14.814 2.06067 14.6246C1.95102 14.4348 1.89314 14.2196 1.89285 14.0004V5.99959C1.89314 5.78041 1.95102 5.56516 2.06067 5.37541C2.17014 5.186 2.32736 5.02865 2.5166 4.91907C2.51704 4.91881 2.51747 4.91856 2.51791 4.91831L9.51501 0.919154L9.51502 0.91916L9.51791 0.91749C9.70793 0.807761 9.92346 0.75 10.1429 0.75C10.3622 0.75 10.5778 0.807761 10.7678 0.91749Z" stroke="currentColor" stroke-width="1.5" fill="transparent" stroke-linecap="round" stroke-linejoin="round"/><path d="M10.1449 18.9286V9.42857" stroke="currentColor" stroke-width="1.5" fill="transparent" stroke-linecap="round" stroke-linejoin="round"/><path d="M18.1159 4.78261L10.1449 9.42029L2.02899 4.78261" stroke="currentColor" stroke-width="1.5" fill="transparent"/></svg>',
|
2876 |
);
|
2877 |
+
$post_types_selector['current_query'] = array(
|
2878 |
'value' => 'current_query',
|
2879 |
'title' => esc_html__( 'Current Query', 'visual-portfolio' ),
|
2880 |
'icon' => '<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.7678 0.91749L10.7678 0.917496L10.7707 0.919154L17.7678 4.91831C17.7682 4.91856 17.7687 4.91882 17.7691 4.91907C17.9584 5.02866 18.1156 5.186 18.225 5.37541C18.3347 5.56526 18.3926 5.78064 18.3929 5.99995V14.0001C18.3926 14.2194 18.3347 14.4347 18.225 14.6246C18.1156 14.814 17.9583 14.9714 17.769 15.081C17.7686 15.0812 17.7682 15.0814 17.7678 15.0817L10.7707 19.0808L10.7678 19.0825C10.5778 19.1922 10.3622 19.25 10.1429 19.25C9.92346 19.25 9.70793 19.1922 9.51791 19.0825L9.51501 19.0808L2.51791 15.0817C2.5175 15.0814 2.51708 15.0812 2.51667 15.081C2.32739 14.9714 2.17015 14.814 2.06067 14.6246C1.95102 14.4348 1.89314 14.2196 1.89285 14.0004V5.99959C1.89314 5.78041 1.95102 5.56516 2.06067 5.37541C2.17014 5.186 2.32736 5.02865 2.5166 4.91907C2.51704 4.91881 2.51747 4.91856 2.51791 4.91831L9.51501 0.919154L9.51502 0.91916L9.51791 0.91749C9.70793 0.807761 9.92346 0.75 10.1429 0.75C10.3622 0.75 10.5778 0.807761 10.7678 0.91749Z" stroke="currentColor" stroke-width="1.5" fill="transparent" stroke-linecap="round" stroke-linejoin="round"/><path d="M10.1449 18.9286V9.42857" stroke="currentColor" stroke-width="1.5" fill="transparent" stroke-linecap="round" stroke-linejoin="round"/><path d="M18.1159 4.78261L10.1449 9.42029L2.02899 4.78261" stroke="currentColor" stroke-width="1.5" fill="transparent"/></svg>',
|
2885 |
);
|
2886 |
}
|
2887 |
|
2888 |
+
/**
|
2889 |
+
* Find post types for select control.
|
2890 |
+
*
|
2891 |
+
* @return array
|
2892 |
+
*/
|
2893 |
+
public function find_posts_types_select_control() {
|
2894 |
+
check_ajax_referer( 'vp-ajax-nonce', 'nonce' );
|
2895 |
+
|
2896 |
+
$result = array();
|
2897 |
+
|
2898 |
+
// post types list.
|
2899 |
+
$post_types = get_post_types(
|
2900 |
+
array(
|
2901 |
+
'public' => false,
|
2902 |
+
'name' => 'attachment',
|
2903 |
+
),
|
2904 |
+
'names',
|
2905 |
+
'NOT'
|
2906 |
+
);
|
2907 |
+
|
2908 |
+
if ( is_array( $post_types ) && ! empty( $post_types ) ) {
|
2909 |
+
$result['options'] = array();
|
2910 |
+
|
2911 |
+
foreach ( $post_types as $post_type ) {
|
2912 |
+
$result['options'][ $post_type ] = array(
|
2913 |
+
'value' => $post_type,
|
2914 |
+
'label' => ucfirst( $post_type ),
|
2915 |
+
);
|
2916 |
+
}
|
2917 |
+
}
|
2918 |
+
|
2919 |
+
return $result;
|
2920 |
+
}
|
2921 |
+
|
2922 |
/**
|
2923 |
* Find posts for select control.
|
2924 |
*
|
2941 |
|
2942 |
$post_type = isset( $attributes['posts_source'] ) ? sanitize_text_field( wp_unslash( $attributes['posts_source'] ) ) : 'any';
|
2943 |
|
2944 |
+
if ( ! $post_type || 'post_types_set' === $post_type || 'custom_query' === $post_type || 'ids' === $post_type ) {
|
2945 |
$post_type = 'any';
|
2946 |
}
|
2947 |
|
3004 |
if ( isset( $_POST['q'] ) ) {
|
3005 |
$post_type = isset( $_POST['post_type'] ) ? sanitize_text_field( wp_unslash( $_POST['post_type'] ) ) : 'any';
|
3006 |
|
3007 |
+
if ( ! $post_type || 'post_types_set' === $post_type || 'custom_query' === $post_type || 'ids' === $post_type ) {
|
3008 |
$post_type = 'any';
|
3009 |
}
|
3010 |
|
classes/class-assets.php
CHANGED
@@ -98,11 +98,11 @@ class Visual_Portfolio_Assets {
|
|
98 |
foreach ( self::$stored_assets[ $type ] as $name => $data ) {
|
99 |
if ( isset( $data['value'] ) && $data['value'] ) {
|
100 |
if ( 'script' === $type ) {
|
101 |
-
wp_enqueue_script( $name, '', array(), '2.
|
102 |
} elseif ( is_string( $data['value'] ) ) {
|
103 |
-
visual_portfolio()->include_template_style( $name, $data['value'], array(), '2.
|
104 |
} else {
|
105 |
-
wp_enqueue_style( $name, '', array(), '2.
|
106 |
}
|
107 |
|
108 |
self::$stored_assets[ $type ]['value'] = false;
|
@@ -259,7 +259,7 @@ class Visual_Portfolio_Assets {
|
|
259 |
$dynamic_styles = Visual_Portfolio_Controls_Dynamic_CSS::get( $options );
|
260 |
$controls_css_handle = 'vp-dynamic-styles-' . $options['id'];
|
261 |
|
262 |
-
wp_register_style( $controls_css_handle, false, array(), '2.
|
263 |
wp_enqueue_style( $controls_css_handle );
|
264 |
wp_add_inline_style( $controls_css_handle, $dynamic_styles ? $dynamic_styles : ' ' );
|
265 |
|
@@ -395,7 +395,7 @@ class Visual_Portfolio_Assets {
|
|
395 |
);
|
396 |
|
397 |
foreach ( $vp_styles as $name => $data ) {
|
398 |
-
wp_register_style( $name, visual_portfolio()->plugin_url . $data[0], $data[1], '2.
|
399 |
wp_style_add_data( $name, 'rtl', 'replace' );
|
400 |
wp_style_add_data( $name, 'suffix', '.min' );
|
401 |
}
|
@@ -514,7 +514,7 @@ class Visual_Portfolio_Assets {
|
|
514 |
);
|
515 |
|
516 |
foreach ( $vp_scripts as $name => $data ) {
|
517 |
-
wp_register_script( $name, visual_portfolio()->plugin_url . $data[0], $data[1], '2.
|
518 |
}
|
519 |
|
520 |
do_action( 'vpf_after_assets_register' );
|
@@ -573,25 +573,29 @@ class Visual_Portfolio_Assets {
|
|
573 |
),
|
574 |
'settingsPopupGallery' => array(
|
575 |
// Default WordPress Images.
|
576 |
-
'enable_on_wordpress_images'
|
577 |
|
578 |
// Vendor.
|
579 |
-
'vendor'
|
|
|
|
|
|
|
|
|
580 |
|
581 |
// General.
|
582 |
-
'show_arrows'
|
583 |
-
'show_counter'
|
584 |
-
'show_zoom_button'
|
585 |
-
'show_fullscreen_button'
|
586 |
-
'show_share_button'
|
587 |
-
'show_close_button'
|
588 |
|
589 |
// Fancybox.
|
590 |
-
'
|
591 |
-
'
|
592 |
-
'
|
593 |
|
594 |
-
'click_to_zoom'
|
595 |
),
|
596 |
|
597 |
// Screen sizes (breakpoints) for responsive feature: xs, sm, md, lg, xl.
|
98 |
foreach ( self::$stored_assets[ $type ] as $name => $data ) {
|
99 |
if ( isset( $data['value'] ) && $data['value'] ) {
|
100 |
if ( 'script' === $type ) {
|
101 |
+
wp_enqueue_script( $name, '', array(), '2.10.0', true );
|
102 |
} elseif ( is_string( $data['value'] ) ) {
|
103 |
+
visual_portfolio()->include_template_style( $name, $data['value'], array(), '2.10.0' );
|
104 |
} else {
|
105 |
+
wp_enqueue_style( $name, '', array(), '2.10.0' );
|
106 |
}
|
107 |
|
108 |
self::$stored_assets[ $type ]['value'] = false;
|
259 |
$dynamic_styles = Visual_Portfolio_Controls_Dynamic_CSS::get( $options );
|
260 |
$controls_css_handle = 'vp-dynamic-styles-' . $options['id'];
|
261 |
|
262 |
+
wp_register_style( $controls_css_handle, false, array(), '2.10.0' );
|
263 |
wp_enqueue_style( $controls_css_handle );
|
264 |
wp_add_inline_style( $controls_css_handle, $dynamic_styles ? $dynamic_styles : ' ' );
|
265 |
|
395 |
);
|
396 |
|
397 |
foreach ( $vp_styles as $name => $data ) {
|
398 |
+
wp_register_style( $name, visual_portfolio()->plugin_url . $data[0], $data[1], '2.10.0' );
|
399 |
wp_style_add_data( $name, 'rtl', 'replace' );
|
400 |
wp_style_add_data( $name, 'suffix', '.min' );
|
401 |
}
|
514 |
);
|
515 |
|
516 |
foreach ( $vp_scripts as $name => $data ) {
|
517 |
+
wp_register_script( $name, visual_portfolio()->plugin_url . $data[0], $data[1], '2.10.0', true );
|
518 |
}
|
519 |
|
520 |
do_action( 'vpf_after_assets_register' );
|
573 |
),
|
574 |
'settingsPopupGallery' => array(
|
575 |
// Default WordPress Images.
|
576 |
+
'enable_on_wordpress_images' => Visual_Portfolio_Settings::get_option( 'enable_on_wordpress_images', 'vp_popup_gallery' ),
|
577 |
|
578 |
// Vendor.
|
579 |
+
'vendor' => Visual_Portfolio_Settings::get_option( 'vendor', 'vp_popup_gallery' ),
|
580 |
+
|
581 |
+
// Deep Linking.
|
582 |
+
'deep_linking' => Visual_Portfolio_Settings::get_option( 'deep_linking', 'vp_popup_gallery' ),
|
583 |
+
'deep_linking_url_to_share_images' => Visual_Portfolio_Settings::get_option( 'deep_linking_url_to_share_images', 'vp_popup_gallery' ),
|
584 |
|
585 |
// General.
|
586 |
+
'show_arrows' => Visual_Portfolio_Settings::get_option( 'show_arrows', 'vp_popup_gallery' ),
|
587 |
+
'show_counter' => Visual_Portfolio_Settings::get_option( 'show_counter', 'vp_popup_gallery' ),
|
588 |
+
'show_zoom_button' => Visual_Portfolio_Settings::get_option( 'show_zoom_button', 'vp_popup_gallery' ),
|
589 |
+
'show_fullscreen_button' => Visual_Portfolio_Settings::get_option( 'show_fullscreen_button', 'vp_popup_gallery' ),
|
590 |
+
'show_share_button' => Visual_Portfolio_Settings::get_option( 'show_share_button', 'vp_popup_gallery' ),
|
591 |
+
'show_close_button' => Visual_Portfolio_Settings::get_option( 'show_close_button', 'vp_popup_gallery' ),
|
592 |
|
593 |
// Fancybox.
|
594 |
+
'show_thumbs' => Visual_Portfolio_Settings::get_option( 'show_thumbs', 'vp_popup_gallery' ),
|
595 |
+
'show_download_button' => Visual_Portfolio_Settings::get_option( 'show_download_button', 'vp_popup_gallery' ),
|
596 |
+
'show_slideshow' => Visual_Portfolio_Settings::get_option( 'show_slideshow', 'vp_popup_gallery' ),
|
597 |
|
598 |
+
'click_to_zoom' => Visual_Portfolio_Settings::get_option( 'click_to_zoom', 'vp_popup_gallery' ),
|
599 |
),
|
600 |
|
601 |
// Screen sizes (breakpoints) for responsive feature: xs, sm, md, lg, xl.
|
classes/class-custom-post-type.php
CHANGED
@@ -248,7 +248,7 @@ class Visual_Portfolio_Custom_Post_Type {
|
|
248 |
if ( ! is_blog_installed() ) {
|
249 |
return;
|
250 |
}
|
251 |
-
if ( get_option( 'visual_portfolio_updated_caps' ) === '2.
|
252 |
return;
|
253 |
}
|
254 |
|
@@ -325,7 +325,7 @@ class Visual_Portfolio_Custom_Post_Type {
|
|
325 |
$wp_roles->add_cap( 'administrator', $cap );
|
326 |
}
|
327 |
|
328 |
-
update_option( 'visual_portfolio_updated_caps', '2.
|
329 |
}
|
330 |
|
331 |
/**
|
248 |
if ( ! is_blog_installed() ) {
|
249 |
return;
|
250 |
}
|
251 |
+
if ( get_option( 'visual_portfolio_updated_caps' ) === '2.10.0' ) {
|
252 |
return;
|
253 |
}
|
254 |
|
325 |
$wp_roles->add_cap( 'administrator', $cap );
|
326 |
}
|
327 |
|
328 |
+
update_option( 'visual_portfolio_updated_caps', '2.10.0' );
|
329 |
}
|
330 |
|
331 |
/**
|
classes/class-elementor-widget.php
CHANGED
@@ -33,9 +33,9 @@ class Visual_Portfolio_Elementor_Widget extends \Elementor\Widget_Base {
|
|
33 |
|
34 |
if ( $this->is_preview_mode() ) {
|
35 |
wp_register_script( 'iframe-resizer', visual_portfolio()->plugin_url . 'assets/vendor/iframe-resizer/js/iframeResizer.min.js', '', '4.2.11', true );
|
36 |
-
wp_register_script( 'visual-portfolio-elementor', visual_portfolio()->plugin_url . 'assets/admin/js/elementor.min.js', array( 'elementor-frontend', 'iframe-resizer', 'jquery' ), '2.
|
37 |
|
38 |
-
wp_register_style( 'visual-portfolio-elementor', visual_portfolio()->plugin_url . 'assets/admin/css/elementor.min.css', array(), '2.
|
39 |
wp_style_add_data( 'visual-portfolio-elementor', 'rtl', 'replace' );
|
40 |
wp_style_add_data( 'visual-portfolio-elementor', 'suffix', '.min' );
|
41 |
}
|
33 |
|
34 |
if ( $this->is_preview_mode() ) {
|
35 |
wp_register_script( 'iframe-resizer', visual_portfolio()->plugin_url . 'assets/vendor/iframe-resizer/js/iframeResizer.min.js', '', '4.2.11', true );
|
36 |
+
wp_register_script( 'visual-portfolio-elementor', visual_portfolio()->plugin_url . 'assets/admin/js/elementor.min.js', array( 'elementor-frontend', 'iframe-resizer', 'jquery' ), '2.10.0', true );
|
37 |
|
38 |
+
wp_register_style( 'visual-portfolio-elementor', visual_portfolio()->plugin_url . 'assets/admin/css/elementor.min.css', array(), '2.10.0' );
|
39 |
wp_style_add_data( 'visual-portfolio-elementor', 'rtl', 'replace' );
|
40 |
wp_style_add_data( 'visual-portfolio-elementor', 'suffix', '.min' );
|
41 |
}
|
classes/class-get-portfolio.php
CHANGED
@@ -1281,6 +1281,11 @@ class Visual_Portfolio_Get {
|
|
1281 |
} else {
|
1282 |
$query_opts['post_type'] = $options['posts_source'];
|
1283 |
|
|
|
|
|
|
|
|
|
|
|
1284 |
// Taxonomies.
|
1285 |
if ( ! empty( $options['posts_taxonomies'] ) && ! isset( $query_opts['tax_query'] ) ) {
|
1286 |
$terms_list = get_terms(
|
@@ -1669,6 +1674,13 @@ class Visual_Portfolio_Get {
|
|
1669 |
|
1670 |
visual_portfolio()->include_template( 'items-list/filter' . $filter_style_pref . '/filter', $args );
|
1671 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1672 |
?>
|
1673 |
</div>
|
1674 |
<?php
|
@@ -1764,6 +1776,13 @@ class Visual_Portfolio_Get {
|
|
1764 |
|
1765 |
visual_portfolio()->include_template( 'items-list/sort' . $sort_style_pref . '/sort', $args );
|
1766 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1767 |
?>
|
1768 |
</div>
|
1769 |
<?php
|
@@ -1840,6 +1859,9 @@ class Visual_Portfolio_Get {
|
|
1840 |
}
|
1841 |
|
1842 |
// Click action.
|
|
|
|
|
|
|
1843 |
switch ( $args['vp_opts']['items_click_action'] ) {
|
1844 |
case 'popup_gallery':
|
1845 |
break;
|
@@ -1847,8 +1869,8 @@ class Visual_Portfolio_Get {
|
|
1847 |
$args['url'] = false;
|
1848 |
break;
|
1849 |
default:
|
1850 |
-
$args['url_target'] = $args['vp_opts']['items_click_action_url_target'] ? $args['vp_opts']['items_click_action_url_target'] :
|
1851 |
-
$args['url_rel'] = $args['vp_opts']['items_click_action_url_rel'] ? $args['vp_opts']['items_click_action_url_rel'] :
|
1852 |
break;
|
1853 |
}
|
1854 |
|
@@ -2206,6 +2228,8 @@ class Visual_Portfolio_Get {
|
|
2206 |
// Add custom query args.
|
2207 |
$current_url = add_query_arg( $query_arg, $current_url );
|
2208 |
|
|
|
|
|
2209 |
return $current_url;
|
2210 |
}
|
2211 |
|
1281 |
} else {
|
1282 |
$query_opts['post_type'] = $options['posts_source'];
|
1283 |
|
1284 |
+
// Post Types Set.
|
1285 |
+
if ( 'post_types_set' === $options['posts_source'] ) {
|
1286 |
+
$query_opts['post_type'] = (array) $options['post_types_set'];
|
1287 |
+
}
|
1288 |
+
|
1289 |
// Taxonomies.
|
1290 |
if ( ! empty( $options['posts_taxonomies'] ) && ! isset( $query_opts['tax_query'] ) ) {
|
1291 |
$terms_list = get_terms(
|
1674 |
|
1675 |
visual_portfolio()->include_template( 'items-list/filter' . $filter_style_pref . '/filter', $args );
|
1676 |
|
1677 |
+
// We need to include these styles, since users can insert filters using separate shortcode.
|
1678 |
+
Visual_Portfolio_Assets::store_used_assets(
|
1679 |
+
'visual-portfolio-filter-' . $vp_options['filter'],
|
1680 |
+
'items-list/filter' . $filter_style_pref . '/style',
|
1681 |
+
'template_style'
|
1682 |
+
);
|
1683 |
+
|
1684 |
?>
|
1685 |
</div>
|
1686 |
<?php
|
1776 |
|
1777 |
visual_portfolio()->include_template( 'items-list/sort' . $sort_style_pref . '/sort', $args );
|
1778 |
|
1779 |
+
// We need to include these styles, since users can insert sort using separate shortcode.
|
1780 |
+
Visual_Portfolio_Assets::store_used_assets(
|
1781 |
+
'visual-portfolio-sort-' . $vp_options['sort'],
|
1782 |
+
'items-list/sort' . $sort_style_pref . '/style',
|
1783 |
+
'template_style'
|
1784 |
+
);
|
1785 |
+
|
1786 |
?>
|
1787 |
</div>
|
1788 |
<?php
|
1859 |
}
|
1860 |
|
1861 |
// Click action.
|
1862 |
+
$args['url_target'] = false;
|
1863 |
+
$args['url_rel'] = false;
|
1864 |
+
|
1865 |
switch ( $args['vp_opts']['items_click_action'] ) {
|
1866 |
case 'popup_gallery':
|
1867 |
break;
|
1869 |
$args['url'] = false;
|
1870 |
break;
|
1871 |
default:
|
1872 |
+
$args['url_target'] = $args['vp_opts']['items_click_action_url_target'] ? $args['vp_opts']['items_click_action_url_target'] : false;
|
1873 |
+
$args['url_rel'] = $args['vp_opts']['items_click_action_url_rel'] ? $args['vp_opts']['items_click_action_url_rel'] : false;
|
1874 |
break;
|
1875 |
}
|
1876 |
|
2228 |
// Add custom query args.
|
2229 |
$current_url = add_query_arg( $query_arg, $current_url );
|
2230 |
|
2231 |
+
$current_url = apply_filters( 'vpf_get_pagenum_link', $current_url, $query_arg );
|
2232 |
+
|
2233 |
return $current_url;
|
2234 |
}
|
2235 |
|
classes/class-gutenberg.php
CHANGED
@@ -173,14 +173,14 @@ class Visual_Portfolio_Gutenberg_Block {
|
|
173 |
'visual-portfolio-gutenberg',
|
174 |
plugins_url( '../gutenberg/index.min.js', __FILE__ ),
|
175 |
array( 'wp-editor', 'wp-i18n', 'wp-element', 'wp-components', 'jquery' ),
|
176 |
-
'2.
|
177 |
true
|
178 |
);
|
179 |
wp_enqueue_style(
|
180 |
'visual-portfolio-gutenberg',
|
181 |
plugins_url( '../gutenberg/style.min.css', __FILE__ ),
|
182 |
array(),
|
183 |
-
'2.
|
184 |
);
|
185 |
wp_style_add_data( 'visual-portfolio-gutenberg', 'rtl', 'replace' );
|
186 |
wp_style_add_data( 'visual-portfolio-gutenberg', 'suffix', '.min' );
|
@@ -200,7 +200,7 @@ class Visual_Portfolio_Gutenberg_Block {
|
|
200 |
'visual-portfolio-gutenberg-custom-post-meta',
|
201 |
plugins_url( '../gutenberg/custom-post-meta.min.js', __FILE__ ),
|
202 |
array( 'wp-editor', 'wp-i18n', 'wp-element', 'wp-components', 'wp-plugins', 'jquery' ),
|
203 |
-
'2.
|
204 |
true
|
205 |
);
|
206 |
|
173 |
'visual-portfolio-gutenberg',
|
174 |
plugins_url( '../gutenberg/index.min.js', __FILE__ ),
|
175 |
array( 'wp-editor', 'wp-i18n', 'wp-element', 'wp-components', 'jquery' ),
|
176 |
+
'2.10.0',
|
177 |
true
|
178 |
);
|
179 |
wp_enqueue_style(
|
180 |
'visual-portfolio-gutenberg',
|
181 |
plugins_url( '../gutenberg/style.min.css', __FILE__ ),
|
182 |
array(),
|
183 |
+
'2.10.0'
|
184 |
);
|
185 |
wp_style_add_data( 'visual-portfolio-gutenberg', 'rtl', 'replace' );
|
186 |
wp_style_add_data( 'visual-portfolio-gutenberg', 'suffix', '.min' );
|
200 |
'visual-portfolio-gutenberg-custom-post-meta',
|
201 |
plugins_url( '../gutenberg/custom-post-meta.min.js', __FILE__ ),
|
202 |
array( 'wp-editor', 'wp-i18n', 'wp-element', 'wp-components', 'wp-plugins', 'jquery' ),
|
203 |
+
'2.10.0',
|
204 |
true
|
205 |
);
|
206 |
|
classes/class-migration.php
CHANGED
@@ -18,7 +18,7 @@ class Visual_Portfolio_Migrations {
|
|
18 |
*
|
19 |
* @var string
|
20 |
*/
|
21 |
-
protected $version = '2.
|
22 |
|
23 |
/**
|
24 |
* Initial version.
|
18 |
*
|
19 |
* @var string
|
20 |
*/
|
21 |
+
protected $version = '2.10.0';
|
22 |
|
23 |
/**
|
24 |
* Initial version.
|
classes/class-preview.php
CHANGED
@@ -232,7 +232,7 @@ class Visual_Portfolio_Preview {
|
|
232 |
|
233 |
// Enqueue assets.
|
234 |
wp_enqueue_script( 'iframe-resizer-content', visual_portfolio()->plugin_url . 'assets/vendor/iframe-resizer/js/iframeResizer.contentWindow.min.js', array(), '4.2.11', true );
|
235 |
-
wp_enqueue_script( 'visual-portfolio-preview', visual_portfolio()->plugin_url . 'assets/js/preview.min.js', array( 'jquery', 'iframe-resizer-content' ), '2.
|
236 |
|
237 |
// Post data for script.
|
238 |
wp_localize_script(
|
@@ -275,7 +275,7 @@ class Visual_Portfolio_Preview {
|
|
275 |
Visual_Portfolio_Assets::enqueue( $options );
|
276 |
|
277 |
// Custom styles.
|
278 |
-
visual_portfolio()->include_template_style( 'visual-portfolio-preview', 'preview/style', array(), '2.
|
279 |
|
280 |
// Output template.
|
281 |
visual_portfolio()->include_template(
|
232 |
|
233 |
// Enqueue assets.
|
234 |
wp_enqueue_script( 'iframe-resizer-content', visual_portfolio()->plugin_url . 'assets/vendor/iframe-resizer/js/iframeResizer.contentWindow.min.js', array(), '4.2.11', true );
|
235 |
+
wp_enqueue_script( 'visual-portfolio-preview', visual_portfolio()->plugin_url . 'assets/js/preview.min.js', array( 'jquery', 'iframe-resizer-content' ), '2.10.0', true );
|
236 |
|
237 |
// Post data for script.
|
238 |
wp_localize_script(
|
275 |
Visual_Portfolio_Assets::enqueue( $options );
|
276 |
|
277 |
// Custom styles.
|
278 |
+
visual_portfolio()->include_template_style( 'visual-portfolio-preview', 'preview/style', array(), '2.10.0' );
|
279 |
|
280 |
// Output template.
|
281 |
visual_portfolio()->include_template(
|
classes/class-settings.php
CHANGED
@@ -372,6 +372,14 @@ class Visual_Portfolio_Settings {
|
|
372 |
'default' => ! class_exists( 'Visual_Portfolio_Pro' ) ? 'off' : 'on',
|
373 |
'is_pro' => true,
|
374 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
375 |
|
376 |
// General Popup Settings.
|
377 |
array(
|
@@ -473,7 +481,7 @@ class Visual_Portfolio_Settings {
|
|
473 |
<h3>' . esc_html__( 'PRO Feature', 'visual-portfolio' ) . '</h3>
|
474 |
<div>
|
475 |
<p>' . esc_html__( 'Social feeds such as Instagram, Youtube, Flickr, Twitter, etc...', 'visual-portfolio' ) . '</p>
|
476 |
-
<a class="vpf-settings-info-pro-button" target="_blank" rel="noopener noreferrer" href="https://visualportfolio.co/pro/?utm_source=freeplugin&utm_medium=link&utm_campaign=plugin_settings&utm_content=2.
|
477 |
</div>
|
478 |
</div>
|
479 |
',
|
372 |
'default' => ! class_exists( 'Visual_Portfolio_Pro' ) ? 'off' : 'on',
|
373 |
'is_pro' => true,
|
374 |
),
|
375 |
+
array(
|
376 |
+
'name' => 'deep_linking_url_to_share_images',
|
377 |
+
'label' => esc_html__( 'Use Deep Linking URL to Share Images', 'visual-portfolio' ),
|
378 |
+
'desc' => esc_html__( 'Check to share Deep Linking URLs when sharing images. When disabled, all galleries will share direct links to image files.', 'visual-portfolio' ),
|
379 |
+
'type' => 'checkbox',
|
380 |
+
'default' => 'off',
|
381 |
+
'is_pro' => true,
|
382 |
+
),
|
383 |
|
384 |
// General Popup Settings.
|
385 |
array(
|
481 |
<h3>' . esc_html__( 'PRO Feature', 'visual-portfolio' ) . '</h3>
|
482 |
<div>
|
483 |
<p>' . esc_html__( 'Social feeds such as Instagram, Youtube, Flickr, Twitter, etc...', 'visual-portfolio' ) . '</p>
|
484 |
+
<a class="vpf-settings-info-pro-button" target="_blank" rel="noopener noreferrer" href="https://visualportfolio.co/pro/?utm_source=freeplugin&utm_medium=link&utm_campaign=plugin_settings&utm_content=2.10.0">' . esc_html__( 'Read More', 'visual-portfolio' ) . '</a>
|
485 |
</div>
|
486 |
</div>
|
487 |
',
|
classes/class-supported-themes.php
CHANGED
@@ -74,7 +74,7 @@ class Visual_Portfolio_Supported_Themes {
|
|
74 |
public function wp_enqueue_scripts() {
|
75 |
$theme_compat = $this->get_theme_compatibility_style();
|
76 |
if ( $theme_compat ) {
|
77 |
-
wp_enqueue_style( $theme_compat['name'], $theme_compat['url'], array(), '2.
|
78 |
wp_style_add_data( $theme_compat['name'], 'rtl', 'replace' );
|
79 |
wp_style_add_data( $theme_compat['name'], 'suffix', '.min' );
|
80 |
}
|
74 |
public function wp_enqueue_scripts() {
|
75 |
$theme_compat = $this->get_theme_compatibility_style();
|
76 |
if ( $theme_compat ) {
|
77 |
+
wp_enqueue_style( $theme_compat['name'], $theme_compat['url'], array(), '2.10.0' );
|
78 |
wp_style_add_data( $theme_compat['name'], 'rtl', 'replace' );
|
79 |
wp_style_add_data( $theme_compat['name'], 'suffix', '.min' );
|
80 |
}
|
classes/class-templates.php
ADDED
@@ -0,0 +1,102 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Methods to work with templates.
|
4 |
+
*
|
5 |
+
* @package visual-portfolio
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Visual_Portfolio_Templates
|
10 |
+
*/
|
11 |
+
class Visual_Portfolio_Templates {
|
12 |
+
/**
|
13 |
+
* Include template
|
14 |
+
*
|
15 |
+
* @param string $template_name file name.
|
16 |
+
* @param array $args args for template.
|
17 |
+
*/
|
18 |
+
public static function include_template( $template_name, $args = array() ) {
|
19 |
+
if ( ! empty( $args ) && is_array( $args ) ) {
|
20 |
+
// phpcs:ignore
|
21 |
+
extract( $args );
|
22 |
+
}
|
23 |
+
|
24 |
+
// template in theme folder.
|
25 |
+
$template = locate_template( array( '/visual-portfolio/' . $template_name . '.php' ) );
|
26 |
+
|
27 |
+
// pro plugin template.
|
28 |
+
if ( ! $template && visual_portfolio()->pro_plugin_path && file_exists( visual_portfolio()->pro_plugin_path . 'templates/' . $template_name . '.php' ) ) {
|
29 |
+
$template = visual_portfolio()->pro_plugin_path . 'templates/' . $template_name . '.php';
|
30 |
+
}
|
31 |
+
|
32 |
+
// default template.
|
33 |
+
if ( ! $template ) {
|
34 |
+
$template = visual_portfolio()->plugin_path . 'templates/' . $template_name . '.php';
|
35 |
+
}
|
36 |
+
|
37 |
+
// Allow 3rd party plugin filter template file from their plugin.
|
38 |
+
$template = apply_filters( 'vpf_include_template', $template, $template_name, $args );
|
39 |
+
|
40 |
+
if ( file_exists( $template ) ) {
|
41 |
+
include $template;
|
42 |
+
}
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Find css template file
|
47 |
+
*
|
48 |
+
* @param string $template_name file name.
|
49 |
+
* @return string
|
50 |
+
*/
|
51 |
+
public static function find_template_styles( $template_name ) {
|
52 |
+
$template = '';
|
53 |
+
|
54 |
+
if ( file_exists( get_stylesheet_directory() . '/visual-portfolio/' . $template_name . '.css' ) ) {
|
55 |
+
// Child Theme (or just theme).
|
56 |
+
$template = trailingslashit( get_stylesheet_directory_uri() ) . 'visual-portfolio/' . $template_name . '.css';
|
57 |
+
} elseif ( file_exists( get_template_directory() . '/visual-portfolio/' . $template_name . '.css' ) ) {
|
58 |
+
// Parent Theme (when parent exists).
|
59 |
+
$template = trailingslashit( get_template_directory_uri() ) . 'visual-portfolio/' . $template_name . '.css';
|
60 |
+
} elseif ( visual_portfolio()->pro_plugin_path && file_exists( visual_portfolio()->pro_plugin_path . 'templates/' . $template_name . '.css' ) ) {
|
61 |
+
// PRO plugin folder.
|
62 |
+
$template = visual_portfolio()->pro_plugin_url . 'templates/' . $template_name . '.css';
|
63 |
+
} elseif ( file_exists( visual_portfolio()->plugin_path . 'templates/' . $template_name . '.css' ) ) {
|
64 |
+
// Default file in plugin folder.
|
65 |
+
$template = visual_portfolio()->plugin_url . 'templates/' . $template_name . '.css';
|
66 |
+
}
|
67 |
+
|
68 |
+
return $template;
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* Include template style
|
73 |
+
*
|
74 |
+
* @param string $handle style handle name.
|
75 |
+
* @param string $template_name file name.
|
76 |
+
* @param array $deps dependencies array.
|
77 |
+
* @param string|bool|null $ver version string.
|
78 |
+
* @param string $media media string.
|
79 |
+
*/
|
80 |
+
public static function include_template_style( $handle, $template_name, $deps = array(), $ver = false, $media = 'all' ) {
|
81 |
+
$template = visual_portfolio()->find_template_styles( $template_name );
|
82 |
+
$is_min = false;
|
83 |
+
|
84 |
+
// maybe find minified style.
|
85 |
+
if ( ! $template ) {
|
86 |
+
$template = visual_portfolio()->find_template_styles( $template_name . '.min' );
|
87 |
+
$is_min = true;
|
88 |
+
}
|
89 |
+
|
90 |
+
// Allow 3rd party plugin filter template file from their plugin.
|
91 |
+
$template = apply_filters( 'vpf_include_template_style', $template, $template_name, $deps, $ver, $media );
|
92 |
+
|
93 |
+
if ( $template ) {
|
94 |
+
wp_enqueue_style( $handle, $template, $deps, $ver, $media );
|
95 |
+
wp_style_add_data( $handle, 'rtl', 'replace' );
|
96 |
+
|
97 |
+
if ( $is_min ) {
|
98 |
+
wp_style_add_data( $handle, 'suffix', '.min' );
|
99 |
+
}
|
100 |
+
}
|
101 |
+
}
|
102 |
+
}
|
classes/class-tinymce.php
CHANGED
@@ -70,7 +70,7 @@ class Visual_Portfolio_TinyMCE {
|
|
70 |
return;
|
71 |
}
|
72 |
|
73 |
-
wp_enqueue_script( 'visual-portfolio-tinymce-localize', visual_portfolio()->plugin_url . 'assets/admin/js/mce-localize.min.js', array(), '2.
|
74 |
wp_localize_script( 'visual-portfolio-tinymce-localize', 'VPTinyMCEOptions', $data_tiny_mce );
|
75 |
}
|
76 |
}
|
70 |
return;
|
71 |
}
|
72 |
|
73 |
+
wp_enqueue_script( 'visual-portfolio-tinymce-localize', visual_portfolio()->plugin_url . 'assets/admin/js/mce-localize.min.js', array(), '2.10.0', true );
|
74 |
wp_localize_script( 'visual-portfolio-tinymce-localize', 'VPTinyMCEOptions', $data_tiny_mce );
|
75 |
}
|
76 |
}
|
classes/class-vc.php
CHANGED
@@ -35,7 +35,7 @@ class Visual_Portfolio_VC {
|
|
35 |
*/
|
36 |
public function admin_enqueue_scripts( $page ) {
|
37 |
if ( 'post.php' === $page || 'post-new.php' === $page ) {
|
38 |
-
wp_enqueue_script( 'visual-portfolio-vc-frontend', visual_portfolio()->plugin_url . 'assets/admin/js/vc-frontend.min.js', array( 'jquery' ), '2.
|
39 |
}
|
40 |
}
|
41 |
|
35 |
*/
|
36 |
public function admin_enqueue_scripts( $page ) {
|
37 |
if ( 'post.php' === $page || 'post-new.php' === $page ) {
|
38 |
+
wp_enqueue_script( 'visual-portfolio-vc-frontend', visual_portfolio()->plugin_url . 'assets/admin/js/vc-frontend.min.js', array( 'jquery' ), '2.10.0', true );
|
39 |
}
|
40 |
}
|
41 |
|
gutenberg/components/controls-render/index.js
CHANGED
@@ -463,7 +463,7 @@ ControlsRender.Control = function( props ) {
|
|
463 |
{ renderControlHelp ? (
|
464 |
<p>{ renderControlHelp }</p>
|
465 |
) : '' }
|
466 |
-
<ProNote.Button target="_blank" rel="noopener noreferrer" href="https://visualportfolio.co/pro/?utm_source=freeplugin&utm_medium=link&utm_campaign=block_settings&utm_content=2.
|
467 |
{ __( 'Read More', 'visual-portfolio' ) }
|
468 |
</ProNote.Button>
|
469 |
</ProNote>
|
463 |
{ renderControlHelp ? (
|
464 |
<p>{ renderControlHelp }</p>
|
465 |
) : '' }
|
466 |
+
<ProNote.Button target="_blank" rel="noopener noreferrer" href="https://visualportfolio.co/pro/?utm_source=freeplugin&utm_medium=link&utm_campaign=block_settings&utm_content=2.10.0">
|
467 |
{ __( 'Read More', 'visual-portfolio' ) }
|
468 |
</ProNote.Button>
|
469 |
</ProNote>
|
languages/visual-portfolio.pot
CHANGED
@@ -135,7 +135,7 @@ msgstr ""
|
|
135 |
msgid "Slides Per View"
|
136 |
msgstr ""
|
137 |
|
138 |
-
#: dist/visual-portfolio/classes/class-admin.php:439, dist/visual-portfolio/classes/class-admin.php:609, dist/visual-portfolio/classes/class-admin.php:
|
139 |
msgid "Custom"
|
140 |
msgstr ""
|
141 |
|
@@ -155,7 +155,7 @@ msgstr ""
|
|
155 |
msgid "Free Scroll Sticky"
|
156 |
msgstr ""
|
157 |
|
158 |
-
#: dist/visual-portfolio/classes/class-admin.php:506, dist/visual-portfolio/classes/class-admin.php:
|
159 |
msgid "Display Arrows"
|
160 |
msgstr ""
|
161 |
|
@@ -171,7 +171,7 @@ msgstr ""
|
|
171 |
msgid "Mousewheel Control"
|
172 |
msgstr ""
|
173 |
|
174 |
-
#: dist/visual-portfolio/classes/class-admin.php:535, dist/visual-portfolio/classes/class-settings.php:
|
175 |
msgid "Display Thumbnails"
|
176 |
msgstr ""
|
177 |
|
@@ -187,7 +187,7 @@ msgstr ""
|
|
187 |
msgid "Thumbnails Per View"
|
188 |
msgstr ""
|
189 |
|
190 |
-
#: dist/visual-portfolio/classes/class-admin.php:653, dist/visual-portfolio/classes/class-admin.php:
|
191 |
msgid "Classic"
|
192 |
msgstr ""
|
193 |
|
@@ -195,7 +195,7 @@ msgstr ""
|
|
195 |
msgid "Display Read More Button"
|
196 |
msgstr ""
|
197 |
|
198 |
-
#: dist/visual-portfolio/classes/class-admin.php:675, dist/visual-portfolio/classes/class-admin.php:
|
199 |
msgid "Hide"
|
200 |
msgstr ""
|
201 |
|
@@ -247,7 +247,7 @@ msgstr ""
|
|
247 |
msgid "Caption Links Hover Color"
|
248 |
msgstr ""
|
249 |
|
250 |
-
#: dist/visual-portfolio/classes/class-admin.php:770, dist/visual-portfolio/classes/class-admin.php:832, dist/visual-portfolio/classes/class-admin.php:883, dist/visual-portfolio/classes/class-admin.php:992, dist/visual-portfolio/classes/class-admin.php:
|
251 |
msgid "PRO Feature"
|
252 |
msgstr ""
|
253 |
|
@@ -323,7 +323,7 @@ msgstr ""
|
|
323 |
msgid "Social"
|
324 |
msgstr ""
|
325 |
|
326 |
-
#: dist/visual-portfolio/classes/class-admin.php:1122, dist/visual-portfolio/classes/class-admin.php:
|
327 |
msgid "Custom Query"
|
328 |
msgstr ""
|
329 |
|
@@ -333,448 +333,456 @@ msgid "Build custom query according to WordPress Codex. See example here <a href
|
|
333 |
msgstr ""
|
334 |
|
335 |
#: dist/visual-portfolio/classes/class-admin.php:1141
|
|
|
|
|
|
|
|
|
336 |
msgid "Specific Posts"
|
337 |
msgstr ""
|
338 |
|
339 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
340 |
msgid "Excluded Posts"
|
341 |
msgstr ""
|
342 |
|
343 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
344 |
msgid "Taxonomies"
|
345 |
msgstr ""
|
346 |
|
347 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
348 |
msgid "Taxonomies Relation"
|
349 |
msgstr ""
|
350 |
|
351 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
352 |
msgid "OR"
|
353 |
msgstr ""
|
354 |
|
355 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
356 |
msgid "AND"
|
357 |
msgstr ""
|
358 |
|
359 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
360 |
msgid "Order by"
|
361 |
msgstr ""
|
362 |
|
363 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
364 |
msgid "Date"
|
365 |
msgstr ""
|
366 |
|
367 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
368 |
msgid "Title"
|
369 |
msgstr ""
|
370 |
|
371 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
372 |
msgid "ID"
|
373 |
msgstr ""
|
374 |
|
375 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
376 |
msgid "Comments Count"
|
377 |
msgstr ""
|
378 |
|
379 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
380 |
msgid "Modified"
|
381 |
msgstr ""
|
382 |
|
383 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
384 |
msgid "Menu Order"
|
385 |
msgstr ""
|
386 |
|
387 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
388 |
msgid "Random"
|
389 |
msgstr ""
|
390 |
|
391 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
392 |
msgid "Order Direction"
|
393 |
msgstr ""
|
394 |
|
395 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
396 |
msgid "ASC"
|
397 |
msgstr ""
|
398 |
|
399 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
400 |
msgid "DESC"
|
401 |
msgstr ""
|
402 |
|
403 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
404 |
msgid "Avoid Duplicates"
|
405 |
msgstr ""
|
406 |
|
407 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
408 |
msgid "Enable to avoid duplicate posts from showing up. This only affects the frontend"
|
409 |
msgstr ""
|
410 |
|
411 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
412 |
msgid "Offset"
|
413 |
msgstr ""
|
414 |
|
415 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
416 |
msgid "Use this setting to skip over posts (e.g. `2` to skip over 2 posts)"
|
417 |
msgstr ""
|
418 |
|
419 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
420 |
msgid "Additional query settings."
|
421 |
msgstr ""
|
422 |
|
423 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
424 |
msgid "Description"
|
425 |
msgstr ""
|
426 |
|
427 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
428 |
msgid "Categories"
|
429 |
msgstr ""
|
430 |
|
431 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
432 |
msgid "Format"
|
433 |
msgstr ""
|
434 |
|
435 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
436 |
msgid "Standard"
|
437 |
msgstr ""
|
438 |
|
439 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
440 |
msgid "Video"
|
441 |
msgstr ""
|
442 |
|
443 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
444 |
msgid "Video URL"
|
445 |
msgstr ""
|
446 |
|
447 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
448 |
msgid "https://..."
|
449 |
msgstr ""
|
450 |
|
451 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
452 |
msgid "Full list of supported links"
|
453 |
msgstr ""
|
454 |
|
455 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
456 |
msgid "see here"
|
457 |
msgstr ""
|
458 |
|
459 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
460 |
msgid "URL"
|
461 |
msgstr ""
|
462 |
|
463 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
464 |
msgid "By default used full image url, you can use custom one"
|
465 |
msgstr ""
|
466 |
|
467 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
468 |
msgid "Author Name"
|
469 |
msgstr ""
|
470 |
|
471 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
472 |
msgid "Author URL"
|
473 |
msgstr ""
|
474 |
|
475 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
476 |
msgid "Titles Source"
|
477 |
msgstr ""
|
478 |
|
479 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
480 |
msgid "None"
|
481 |
msgstr ""
|
482 |
|
483 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
484 |
msgid "Image Title"
|
485 |
msgstr ""
|
486 |
|
487 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
488 |
msgid "Image Caption"
|
489 |
msgstr ""
|
490 |
|
491 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
492 |
msgid "Image Alt"
|
493 |
msgstr ""
|
494 |
|
495 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
496 |
msgid "Image Description"
|
497 |
msgstr ""
|
498 |
|
499 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
500 |
msgid "Descriptions Source"
|
501 |
msgstr ""
|
502 |
|
503 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
504 |
msgid "Default"
|
505 |
msgstr ""
|
506 |
|
507 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
508 |
msgid "Uploaded"
|
509 |
msgstr ""
|
510 |
|
511 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
512 |
msgid "Social feeds such as Instagram, Youtube, Flickr, Twitter, etc..."
|
513 |
msgstr ""
|
514 |
|
515 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
516 |
msgid "Items Per Page"
|
517 |
msgstr ""
|
518 |
|
519 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
520 |
msgid "No Items Action"
|
521 |
msgstr ""
|
522 |
|
523 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
524 |
msgid "Notice"
|
525 |
msgstr ""
|
526 |
|
527 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
528 |
msgid "No items were found matching your selection."
|
529 |
msgstr ""
|
530 |
|
531 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
532 |
msgid "Note: you will see the notice in the preview. Block will be hidden in the site frontend."
|
533 |
msgstr ""
|
534 |
|
535 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
536 |
msgid "Stretch"
|
537 |
msgstr ""
|
538 |
|
539 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
540 |
msgid "Break container and display it wide"
|
541 |
msgstr ""
|
542 |
|
543 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
544 |
msgid "Gap"
|
545 |
msgstr ""
|
546 |
|
547 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
548 |
msgid "Vertical Gap"
|
549 |
msgstr ""
|
550 |
|
551 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
552 |
msgid "When empty, used Gap option"
|
553 |
msgstr ""
|
554 |
|
555 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
556 |
msgid "Images Rounded Corners"
|
557 |
msgstr ""
|
558 |
|
559 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
560 |
msgid "Display Title"
|
561 |
msgstr ""
|
562 |
|
563 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
564 |
msgid "Display Categories"
|
565 |
msgstr ""
|
566 |
|
567 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
568 |
msgid "Categories Count"
|
569 |
msgstr ""
|
570 |
|
571 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
572 |
msgid "Display Date"
|
573 |
msgstr ""
|
574 |
|
575 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
576 |
msgid "Human Format"
|
577 |
msgstr ""
|
578 |
|
579 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
580 |
msgid ""
|
581 |
"Date format
|
582 |
" Example: F j, Y"
|
583 |
msgstr ""
|
584 |
|
585 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
586 |
msgid "Display Author"
|
587 |
msgstr ""
|
588 |
|
589 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
590 |
msgid "Display Comments Count"
|
591 |
msgstr ""
|
592 |
|
593 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
594 |
msgid "Display Views Count"
|
595 |
msgstr ""
|
596 |
|
597 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
598 |
msgid "Display Reading Time"
|
599 |
msgstr ""
|
600 |
|
601 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
602 |
msgid "Display Excerpt"
|
603 |
msgstr ""
|
604 |
|
605 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
606 |
msgid "Excerpt Words Count"
|
607 |
msgstr ""
|
608 |
|
609 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
610 |
msgid "Display Icon"
|
611 |
msgstr ""
|
612 |
|
613 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
614 |
msgid "Caption Align"
|
615 |
msgstr ""
|
616 |
|
617 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
618 |
msgid "Disabled"
|
619 |
msgstr ""
|
620 |
|
621 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
622 |
msgid "Popup"
|
623 |
msgstr ""
|
624 |
|
625 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
626 |
msgid "Target"
|
627 |
msgstr ""
|
628 |
|
629 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
630 |
msgid "New Tab (_blank)"
|
631 |
msgstr ""
|
632 |
|
633 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
634 |
msgid "Top Frame (_top)"
|
635 |
msgstr ""
|
636 |
|
637 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
638 |
msgid "Rel"
|
639 |
msgstr ""
|
640 |
|
641 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
642 |
msgid "Title Source"
|
643 |
msgstr ""
|
644 |
|
645 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
646 |
msgid "Description Source"
|
647 |
msgstr ""
|
648 |
|
649 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
650 |
msgid "Display pages in popup iframe, not just images."
|
651 |
msgstr ""
|
652 |
|
653 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
654 |
msgid "Top"
|
655 |
msgstr ""
|
656 |
|
657 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
658 |
msgid "Bottom"
|
659 |
msgstr ""
|
660 |
|
661 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
662 |
msgid "Filter"
|
663 |
msgstr ""
|
664 |
|
665 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
666 |
msgid "Sort"
|
667 |
msgstr ""
|
668 |
|
669 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
670 |
msgid "Search"
|
671 |
msgstr ""
|
672 |
|
673 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
674 |
msgid "Items"
|
675 |
msgstr ""
|
676 |
|
677 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
678 |
msgid "Pagination"
|
679 |
msgstr ""
|
680 |
|
681 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
682 |
msgid "Minimal"
|
683 |
msgstr ""
|
684 |
|
685 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
686 |
msgid "Dropdown"
|
687 |
msgstr ""
|
688 |
|
689 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
690 |
msgid "Display Count"
|
691 |
msgstr ""
|
692 |
|
693 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
694 |
msgid "All Button Text"
|
695 |
msgstr ""
|
696 |
|
697 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
698 |
msgid "All"
|
699 |
msgstr ""
|
700 |
|
701 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
702 |
msgid "The search module is only available for PRO users."
|
703 |
msgstr ""
|
704 |
|
705 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
706 |
msgid "Type"
|
707 |
msgstr ""
|
708 |
|
709 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
710 |
msgid "Paged"
|
711 |
msgstr ""
|
712 |
|
713 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
714 |
msgid "Load More"
|
715 |
msgstr ""
|
716 |
|
717 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
718 |
msgid "Infinite"
|
719 |
msgstr ""
|
720 |
|
721 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
722 |
msgid "Note: you will see the \"Load More\" pagination in the preview. \"Infinite\" pagination will be visible on the site."
|
723 |
msgstr ""
|
724 |
|
725 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
726 |
msgid "Texts"
|
727 |
msgstr ""
|
728 |
|
729 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
730 |
msgid "Load more button label"
|
731 |
msgstr ""
|
732 |
|
733 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
734 |
msgid "Loading More..."
|
735 |
msgstr ""
|
736 |
|
737 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
738 |
msgid "Loading more button label"
|
739 |
msgstr ""
|
740 |
|
741 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
742 |
msgid "You’ve reached the end of the list"
|
743 |
msgstr ""
|
744 |
|
745 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
746 |
msgid "End of the list text"
|
747 |
msgstr ""
|
748 |
|
749 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
750 |
msgid "Display Numbers"
|
751 |
msgstr ""
|
752 |
|
753 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
754 |
msgid "Scroll to Top"
|
755 |
msgstr ""
|
756 |
|
757 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
758 |
msgid "Scroll to Top Offset"
|
759 |
msgstr ""
|
760 |
|
761 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
762 |
msgid "Hide on Reached End"
|
763 |
msgstr ""
|
764 |
|
765 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
766 |
msgid "Use <code>selector</code> rule to change block styles."
|
767 |
msgstr ""
|
768 |
|
769 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
770 |
msgid "Example:"
|
771 |
msgstr ""
|
772 |
|
773 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
|
|
|
|
|
|
|
|
774 |
msgid "Manual Selection"
|
775 |
msgstr ""
|
776 |
|
777 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
778 |
msgid "Current Query"
|
779 |
msgstr ""
|
780 |
|
@@ -1026,28 +1034,28 @@ msgstr ""
|
|
1026 |
msgid "Select Layout"
|
1027 |
msgstr ""
|
1028 |
|
1029 |
-
#: dist/visual-portfolio/classes/class-get-portfolio.php:
|
1030 |
msgid "Default sorting"
|
1031 |
msgstr ""
|
1032 |
|
1033 |
-
#: dist/visual-portfolio/classes/class-get-portfolio.php:
|
1034 |
msgid "Sort by date (newest)"
|
1035 |
msgstr ""
|
1036 |
|
1037 |
-
#: dist/visual-portfolio/classes/class-get-portfolio.php:
|
1038 |
msgid "Sort by date (oldest)"
|
1039 |
msgstr ""
|
1040 |
|
1041 |
-
#: dist/visual-portfolio/classes/class-get-portfolio.php:
|
1042 |
msgid "Sort by title (A-Z)"
|
1043 |
msgstr ""
|
1044 |
|
1045 |
-
#: dist/visual-portfolio/classes/class-get-portfolio.php:
|
1046 |
msgid "Sort by title (Z-A)"
|
1047 |
msgstr ""
|
1048 |
|
1049 |
#. translators: %s - published in human format.
|
1050 |
-
#: dist/visual-portfolio/classes/class-get-portfolio.php:
|
1051 |
msgid "%s ago"
|
1052 |
msgstr ""
|
1053 |
|
@@ -1213,63 +1221,71 @@ msgstr ""
|
|
1213 |
msgid "Makes URL automatically change to reflect the current opened popup, and you can easily link directly to that image or video."
|
1214 |
msgstr ""
|
1215 |
|
1216 |
-
#: dist/visual-portfolio/classes/class-settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1217 |
msgid "Arrows to navigate between images."
|
1218 |
msgstr ""
|
1219 |
|
1220 |
-
#: dist/visual-portfolio/classes/class-settings.php:
|
1221 |
msgid "Display Images Counter"
|
1222 |
msgstr ""
|
1223 |
|
1224 |
-
#: dist/visual-portfolio/classes/class-settings.php:
|
1225 |
msgid "On the top left corner will be showed images counter."
|
1226 |
msgstr ""
|
1227 |
|
1228 |
-
#: dist/visual-portfolio/classes/class-settings.php:
|
1229 |
msgid "Display Zoom Button"
|
1230 |
msgstr ""
|
1231 |
|
1232 |
-
#: dist/visual-portfolio/classes/class-settings.php:
|
1233 |
msgid "Display Fullscreen Button"
|
1234 |
msgstr ""
|
1235 |
|
1236 |
-
#: dist/visual-portfolio/classes/class-settings.php:
|
1237 |
msgid "Display Share Button"
|
1238 |
msgstr ""
|
1239 |
|
1240 |
-
#: dist/visual-portfolio/classes/class-settings.php:
|
1241 |
msgid "Display Close Button"
|
1242 |
msgstr ""
|
1243 |
|
1244 |
-
#: dist/visual-portfolio/classes/class-settings.php:
|
1245 |
msgid "Display Download Button"
|
1246 |
msgstr ""
|
1247 |
|
1248 |
-
#: dist/visual-portfolio/classes/class-settings.php:
|
1249 |
msgid "Display Slideshow"
|
1250 |
msgstr ""
|
1251 |
|
1252 |
-
#: dist/visual-portfolio/classes/class-settings.php:
|
1253 |
msgid "Click to Zoom"
|
1254 |
msgstr ""
|
1255 |
|
1256 |
-
#: dist/visual-portfolio/classes/class-settings.php:
|
1257 |
msgid "Background Color"
|
1258 |
msgstr ""
|
1259 |
|
1260 |
-
#: dist/visual-portfolio/classes/class-settings.php:
|
1261 |
msgid "Pages iFrame Custom CSS"
|
1262 |
msgstr ""
|
1263 |
|
1264 |
-
#: dist/visual-portfolio/classes/class-settings.php:
|
1265 |
msgid "When you display pages in popup iframe, you may not need some page elements like header and footer. Hide it using custom CSS with classname `.vp-popup-iframe`."
|
1266 |
msgstr ""
|
1267 |
|
1268 |
-
#: dist/visual-portfolio/classes/class-settings.php:
|
1269 |
msgid "Read More"
|
1270 |
msgstr ""
|
1271 |
|
1272 |
-
#: dist/visual-portfolio/classes/class-settings.php:
|
1273 |
msgid "Visual Portfolio Settings"
|
1274 |
msgstr ""
|
1275 |
|
@@ -1289,61 +1305,49 @@ msgstr ""
|
|
1289 |
msgid "This feature available in PRO plugin only"
|
1290 |
msgstr ""
|
1291 |
|
1292 |
-
#: dist/visual-portfolio/templates/items-list/
|
1293 |
msgid "Author"
|
1294 |
msgstr ""
|
1295 |
|
1296 |
#. translators: %s - author name.
|
1297 |
-
|
1298 |
-
#. translators: %s - author name.
|
1299 |
-
#. translators: %s - author name.
|
1300 |
-
#: dist/visual-portfolio/templates/items-list/items-style/meta.php:131, dist/visual-portfolio/templates/items-list/items-style/emerge/meta.php:132, dist/visual-portfolio/templates/items-list/items-style/fade/meta.php:163, dist/visual-portfolio/templates/items-list/items-style/fly/meta.php:162
|
1301 |
msgid "By %s"
|
1302 |
msgstr ""
|
1303 |
|
1304 |
-
#: dist/visual-portfolio/templates/items-list/
|
1305 |
msgid "Comments"
|
1306 |
msgstr ""
|
1307 |
|
1308 |
#. translators: %s Number of comments.
|
1309 |
-
|
1310 |
-
#. translators: %s Number of comments.
|
1311 |
-
#. translators: %s Number of comments.
|
1312 |
-
#: dist/visual-portfolio/templates/items-list/items-style/meta.php:179, dist/visual-portfolio/templates/items-list/items-style/emerge/meta.php:180, dist/visual-portfolio/templates/items-list/items-style/fade/meta.php:211, dist/visual-portfolio/templates/items-list/items-style/fly/meta.php:210
|
1313 |
msgid "%s Comment"
|
1314 |
msgid_plural "%s Comments"
|
1315 |
msgstr[0] ""
|
1316 |
msgstr[1] ""
|
1317 |
|
1318 |
-
#: dist/visual-portfolio/templates/items-list/
|
1319 |
msgid "No Comments"
|
1320 |
msgstr ""
|
1321 |
|
1322 |
-
#: dist/visual-portfolio/templates/items-list/
|
1323 |
-
msgid "
|
1324 |
msgstr ""
|
1325 |
|
1326 |
-
#. translators: %s
|
1327 |
-
|
1328 |
-
|
1329 |
-
|
1330 |
-
#: dist/visual-portfolio/templates/items-list/items-style/meta.php:206, dist/visual-portfolio/templates/items-list/items-style/emerge/meta.php:207, dist/visual-portfolio/templates/items-list/items-style/fade/meta.php:238, dist/visual-portfolio/templates/items-list/items-style/fly/meta.php:237
|
1331 |
-
msgid "%s View"
|
1332 |
-
msgid_plural "%s Views"
|
1333 |
msgstr[0] ""
|
1334 |
msgstr[1] ""
|
1335 |
|
1336 |
-
#: dist/visual-portfolio/templates/items-list/
|
1337 |
-
msgid "
|
1338 |
msgstr ""
|
1339 |
|
1340 |
-
#. translators: %s
|
1341 |
-
|
1342 |
-
|
1343 |
-
|
1344 |
-
#: dist/visual-portfolio/templates/items-list/items-style/meta.php:228, dist/visual-portfolio/templates/items-list/items-style/emerge/meta.php:229, dist/visual-portfolio/templates/items-list/items-style/fade/meta.php:260, dist/visual-portfolio/templates/items-list/items-style/fly/meta.php:259
|
1345 |
-
msgid "%s Min Read"
|
1346 |
-
msgid_plural "%s Mins Read"
|
1347 |
msgstr[0] ""
|
1348 |
msgstr[1] ""
|
1349 |
|
135 |
msgid "Slides Per View"
|
136 |
msgstr ""
|
137 |
|
138 |
+
#: dist/visual-portfolio/classes/class-admin.php:439, dist/visual-portfolio/classes/class-admin.php:609, dist/visual-portfolio/classes/class-admin.php:1463, dist/visual-portfolio/classes/class-admin.php:1480
|
139 |
msgid "Custom"
|
140 |
msgstr ""
|
141 |
|
155 |
msgid "Free Scroll Sticky"
|
156 |
msgstr ""
|
157 |
|
158 |
+
#: dist/visual-portfolio/classes/class-admin.php:506, dist/visual-portfolio/classes/class-admin.php:2724, dist/visual-portfolio/classes/class-settings.php:387
|
159 |
msgid "Display Arrows"
|
160 |
msgstr ""
|
161 |
|
171 |
msgid "Mousewheel Control"
|
172 |
msgstr ""
|
173 |
|
174 |
+
#: dist/visual-portfolio/classes/class-admin.php:535, dist/visual-portfolio/classes/class-settings.php:427
|
175 |
msgid "Display Thumbnails"
|
176 |
msgstr ""
|
177 |
|
187 |
msgid "Thumbnails Per View"
|
188 |
msgstr ""
|
189 |
|
190 |
+
#: dist/visual-portfolio/classes/class-admin.php:653, dist/visual-portfolio/classes/class-admin.php:2200, dist/visual-portfolio/classes/class-admin.php:2329, dist/visual-portfolio/classes/class-admin.php:2451
|
191 |
msgid "Classic"
|
192 |
msgstr ""
|
193 |
|
195 |
msgid "Display Read More Button"
|
196 |
msgstr ""
|
197 |
|
198 |
+
#: dist/visual-portfolio/classes/class-admin.php:675, dist/visual-portfolio/classes/class-admin.php:1553, dist/visual-portfolio/classes/class-admin.php:1833
|
199 |
msgid "Hide"
|
200 |
msgstr ""
|
201 |
|
247 |
msgid "Caption Links Hover Color"
|
248 |
msgstr ""
|
249 |
|
250 |
+
#: dist/visual-portfolio/classes/class-admin.php:770, dist/visual-portfolio/classes/class-admin.php:832, dist/visual-portfolio/classes/class-admin.php:883, dist/visual-portfolio/classes/class-admin.php:992, dist/visual-portfolio/classes/class-admin.php:1358, dist/visual-portfolio/classes/class-admin.php:1525, dist/visual-portfolio/classes/class-admin.php:2099, dist/visual-portfolio/classes/class-admin.php:2432, dist/visual-portfolio/classes/class-settings.php:481
|
251 |
msgid "PRO Feature"
|
252 |
msgstr ""
|
253 |
|
323 |
msgid "Social"
|
324 |
msgstr ""
|
325 |
|
326 |
+
#: dist/visual-portfolio/classes/class-admin.php:1122, dist/visual-portfolio/classes/class-admin.php:2874
|
327 |
msgid "Custom Query"
|
328 |
msgstr ""
|
329 |
|
333 |
msgstr ""
|
334 |
|
335 |
#: dist/visual-portfolio/classes/class-admin.php:1141
|
336 |
+
msgid "Post Types"
|
337 |
+
msgstr ""
|
338 |
+
|
339 |
+
#: dist/visual-portfolio/classes/class-admin.php:1158
|
340 |
msgid "Specific Posts"
|
341 |
msgstr ""
|
342 |
|
343 |
+
#: dist/visual-portfolio/classes/class-admin.php:1176
|
344 |
msgid "Excluded Posts"
|
345 |
msgstr ""
|
346 |
|
347 |
+
#: dist/visual-portfolio/classes/class-admin.php:1205
|
348 |
msgid "Taxonomies"
|
349 |
msgstr ""
|
350 |
|
351 |
+
#: dist/visual-portfolio/classes/class-admin.php:1234
|
352 |
msgid "Taxonomies Relation"
|
353 |
msgstr ""
|
354 |
|
355 |
+
#: dist/visual-portfolio/classes/class-admin.php:1238
|
356 |
msgid "OR"
|
357 |
msgstr ""
|
358 |
|
359 |
+
#: dist/visual-portfolio/classes/class-admin.php:1239
|
360 |
msgid "AND"
|
361 |
msgstr ""
|
362 |
|
363 |
+
#: dist/visual-portfolio/classes/class-admin.php:1264, dist/visual-portfolio/classes/class-admin.php:1492
|
364 |
msgid "Order by"
|
365 |
msgstr ""
|
366 |
|
367 |
+
#: dist/visual-portfolio/classes/class-admin.php:1268, dist/visual-portfolio/templates/items-list/item-parts/meta-date.php:26
|
368 |
msgid "Date"
|
369 |
msgstr ""
|
370 |
|
371 |
+
#: dist/visual-portfolio/classes/class-admin.php:1269, dist/visual-portfolio/classes/class-admin.php:1377, dist/visual-portfolio/classes/class-admin.php:1498
|
372 |
msgid "Title"
|
373 |
msgstr ""
|
374 |
|
375 |
+
#: dist/visual-portfolio/classes/class-admin.php:1270
|
376 |
msgid "ID"
|
377 |
msgstr ""
|
378 |
|
379 |
+
#: dist/visual-portfolio/classes/class-admin.php:1271
|
380 |
msgid "Comments Count"
|
381 |
msgstr ""
|
382 |
|
383 |
+
#: dist/visual-portfolio/classes/class-admin.php:1272
|
384 |
msgid "Modified"
|
385 |
msgstr ""
|
386 |
|
387 |
+
#: dist/visual-portfolio/classes/class-admin.php:1273
|
388 |
msgid "Menu Order"
|
389 |
msgstr ""
|
390 |
|
391 |
+
#: dist/visual-portfolio/classes/class-admin.php:1274, dist/visual-portfolio/classes/class-admin.php:1499
|
392 |
msgid "Random"
|
393 |
msgstr ""
|
394 |
|
395 |
+
#: dist/visual-portfolio/classes/class-admin.php:1294, dist/visual-portfolio/classes/class-admin.php:1507
|
396 |
msgid "Order Direction"
|
397 |
msgstr ""
|
398 |
|
399 |
+
#: dist/visual-portfolio/classes/class-admin.php:1298, dist/visual-portfolio/classes/class-admin.php:1511
|
400 |
msgid "ASC"
|
401 |
msgstr ""
|
402 |
|
403 |
+
#: dist/visual-portfolio/classes/class-admin.php:1299, dist/visual-portfolio/classes/class-admin.php:1512
|
404 |
msgid "DESC"
|
405 |
msgstr ""
|
406 |
|
407 |
+
#: dist/visual-portfolio/classes/class-admin.php:1319
|
408 |
msgid "Avoid Duplicates"
|
409 |
msgstr ""
|
410 |
|
411 |
+
#: dist/visual-portfolio/classes/class-admin.php:1320
|
412 |
msgid "Enable to avoid duplicate posts from showing up. This only affects the frontend"
|
413 |
msgstr ""
|
414 |
|
415 |
+
#: dist/visual-portfolio/classes/class-admin.php:1329
|
416 |
msgid "Offset"
|
417 |
msgstr ""
|
418 |
|
419 |
+
#: dist/visual-portfolio/classes/class-admin.php:1330
|
420 |
msgid "Use this setting to skip over posts (e.g. `2` to skip over 2 posts)"
|
421 |
msgstr ""
|
422 |
|
423 |
+
#: dist/visual-portfolio/classes/class-admin.php:1359
|
424 |
msgid "Additional query settings."
|
425 |
msgstr ""
|
426 |
|
427 |
+
#: dist/visual-portfolio/classes/class-admin.php:1388
|
428 |
msgid "Description"
|
429 |
msgstr ""
|
430 |
|
431 |
+
#: dist/visual-portfolio/classes/class-admin.php:1399, dist/visual-portfolio/classes/class-custom-post-type.php:124
|
432 |
msgid "Categories"
|
433 |
msgstr ""
|
434 |
|
435 |
+
#: dist/visual-portfolio/classes/class-admin.php:1405
|
436 |
msgid "Format"
|
437 |
msgstr ""
|
438 |
|
439 |
+
#: dist/visual-portfolio/classes/class-admin.php:1408
|
440 |
msgid "Standard"
|
441 |
msgstr ""
|
442 |
|
443 |
+
#: dist/visual-portfolio/classes/class-admin.php:1409, dist/visual-portfolio/classes/class-custom-post-meta.php:140
|
444 |
msgid "Video"
|
445 |
msgstr ""
|
446 |
|
447 |
+
#: dist/visual-portfolio/classes/class-admin.php:1414
|
448 |
msgid "Video URL"
|
449 |
msgstr ""
|
450 |
|
451 |
+
#: dist/visual-portfolio/classes/class-admin.php:1415, dist/visual-portfolio/classes/class-admin.php:1428
|
452 |
msgid "https://..."
|
453 |
msgstr ""
|
454 |
|
455 |
+
#: dist/visual-portfolio/classes/class-admin.php:1416
|
456 |
msgid "Full list of supported links"
|
457 |
msgstr ""
|
458 |
|
459 |
+
#: dist/visual-portfolio/classes/class-admin.php:1416
|
460 |
msgid "see here"
|
461 |
msgstr ""
|
462 |
|
463 |
+
#: dist/visual-portfolio/classes/class-admin.php:1426, dist/visual-portfolio/classes/class-admin.php:2000
|
464 |
msgid "URL"
|
465 |
msgstr ""
|
466 |
|
467 |
+
#: dist/visual-portfolio/classes/class-admin.php:1427
|
468 |
msgid "By default used full image url, you can use custom one"
|
469 |
msgstr ""
|
470 |
|
471 |
+
#: dist/visual-portfolio/classes/class-admin.php:1432
|
472 |
msgid "Author Name"
|
473 |
msgstr ""
|
474 |
|
475 |
+
#: dist/visual-portfolio/classes/class-admin.php:1437
|
476 |
msgid "Author URL"
|
477 |
msgstr ""
|
478 |
|
479 |
+
#: dist/visual-portfolio/classes/class-admin.php:1458
|
480 |
msgid "Titles Source"
|
481 |
msgstr ""
|
482 |
|
483 |
+
#: dist/visual-portfolio/classes/class-admin.php:1462, dist/visual-portfolio/classes/class-admin.php:1479, dist/visual-portfolio/classes/class-admin.php:2058, dist/visual-portfolio/classes/class-admin.php:2080
|
484 |
msgid "None"
|
485 |
msgstr ""
|
486 |
|
487 |
+
#: dist/visual-portfolio/classes/class-admin.php:1464, dist/visual-portfolio/classes/class-admin.php:1481, dist/visual-portfolio/classes/class-admin.php:2059, dist/visual-portfolio/classes/class-admin.php:2081
|
488 |
msgid "Image Title"
|
489 |
msgstr ""
|
490 |
|
491 |
+
#: dist/visual-portfolio/classes/class-admin.php:1465, dist/visual-portfolio/classes/class-admin.php:1482, dist/visual-portfolio/classes/class-admin.php:2060, dist/visual-portfolio/classes/class-admin.php:2082
|
492 |
msgid "Image Caption"
|
493 |
msgstr ""
|
494 |
|
495 |
+
#: dist/visual-portfolio/classes/class-admin.php:1466, dist/visual-portfolio/classes/class-admin.php:1483, dist/visual-portfolio/classes/class-admin.php:2061, dist/visual-portfolio/classes/class-admin.php:2083
|
496 |
msgid "Image Alt"
|
497 |
msgstr ""
|
498 |
|
499 |
+
#: dist/visual-portfolio/classes/class-admin.php:1467, dist/visual-portfolio/classes/class-admin.php:1484, dist/visual-portfolio/classes/class-admin.php:2062, dist/visual-portfolio/classes/class-admin.php:2084
|
500 |
msgid "Image Description"
|
501 |
msgstr ""
|
502 |
|
503 |
+
#: dist/visual-portfolio/classes/class-admin.php:1475
|
504 |
msgid "Descriptions Source"
|
505 |
msgstr ""
|
506 |
|
507 |
+
#: dist/visual-portfolio/classes/class-admin.php:1496, dist/visual-portfolio/classes/class-admin.php:1834, dist/visual-portfolio/classes/class-admin.php:2021
|
508 |
msgid "Default"
|
509 |
msgstr ""
|
510 |
|
511 |
+
#: dist/visual-portfolio/classes/class-admin.php:1497
|
512 |
msgid "Uploaded"
|
513 |
msgstr ""
|
514 |
|
515 |
+
#: dist/visual-portfolio/classes/class-admin.php:1526, dist/visual-portfolio/classes/class-settings.php:483
|
516 |
msgid "Social feeds such as Instagram, Youtube, Flickr, Twitter, etc..."
|
517 |
msgstr ""
|
518 |
|
519 |
+
#: dist/visual-portfolio/classes/class-admin.php:1537
|
520 |
msgid "Items Per Page"
|
521 |
msgstr ""
|
522 |
|
523 |
+
#: dist/visual-portfolio/classes/class-admin.php:1548
|
524 |
msgid "No Items Action"
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: dist/visual-portfolio/classes/class-admin.php:1552, dist/visual-portfolio/classes/class-admin.php:1561
|
528 |
msgid "Notice"
|
529 |
msgstr ""
|
530 |
|
531 |
+
#: dist/visual-portfolio/classes/class-admin.php:1563
|
532 |
msgid "No items were found matching your selection."
|
533 |
msgstr ""
|
534 |
|
535 |
+
#: dist/visual-portfolio/classes/class-admin.php:1578
|
536 |
msgid "Note: you will see the notice in the preview. Block will be hidden in the site frontend."
|
537 |
msgstr ""
|
538 |
|
539 |
+
#: dist/visual-portfolio/classes/class-admin.php:1594
|
540 |
msgid "Stretch"
|
541 |
msgstr ""
|
542 |
|
543 |
+
#: dist/visual-portfolio/classes/class-admin.php:1597
|
544 |
msgid "Break container and display it wide"
|
545 |
msgstr ""
|
546 |
|
547 |
+
#: dist/visual-portfolio/classes/class-admin.php:1666
|
548 |
msgid "Gap"
|
549 |
msgstr ""
|
550 |
|
551 |
+
#: dist/visual-portfolio/classes/class-admin.php:1684
|
552 |
msgid "Vertical Gap"
|
553 |
msgstr ""
|
554 |
|
555 |
+
#: dist/visual-portfolio/classes/class-admin.php:1685
|
556 |
msgid "When empty, used Gap option"
|
557 |
msgstr ""
|
558 |
|
559 |
+
#: dist/visual-portfolio/classes/class-admin.php:1783
|
560 |
msgid "Images Rounded Corners"
|
561 |
msgstr ""
|
562 |
|
563 |
+
#: dist/visual-portfolio/classes/class-admin.php:1800
|
564 |
msgid "Display Title"
|
565 |
msgstr ""
|
566 |
|
567 |
+
#: dist/visual-portfolio/classes/class-admin.php:1808
|
568 |
msgid "Display Categories"
|
569 |
msgstr ""
|
570 |
|
571 |
+
#: dist/visual-portfolio/classes/class-admin.php:1814
|
572 |
msgid "Categories Count"
|
573 |
msgstr ""
|
574 |
|
575 |
+
#: dist/visual-portfolio/classes/class-admin.php:1829
|
576 |
msgid "Display Date"
|
577 |
msgstr ""
|
578 |
|
579 |
+
#: dist/visual-portfolio/classes/class-admin.php:1835
|
580 |
msgid "Human Format"
|
581 |
msgstr ""
|
582 |
|
583 |
+
#: dist/visual-portfolio/classes/class-admin.php:1843
|
584 |
msgid ""
|
585 |
"Date format
|
586 |
" Example: F j, Y"
|
587 |
msgstr ""
|
588 |
|
589 |
+
#: dist/visual-portfolio/classes/class-admin.php:1856
|
590 |
msgid "Display Author"
|
591 |
msgstr ""
|
592 |
|
593 |
+
#: dist/visual-portfolio/classes/class-admin.php:1864
|
594 |
msgid "Display Comments Count"
|
595 |
msgstr ""
|
596 |
|
597 |
+
#: dist/visual-portfolio/classes/class-admin.php:1878
|
598 |
msgid "Display Views Count"
|
599 |
msgstr ""
|
600 |
|
601 |
+
#: dist/visual-portfolio/classes/class-admin.php:1892
|
602 |
msgid "Display Reading Time"
|
603 |
msgstr ""
|
604 |
|
605 |
+
#: dist/visual-portfolio/classes/class-admin.php:1906
|
606 |
msgid "Display Excerpt"
|
607 |
msgstr ""
|
608 |
|
609 |
+
#: dist/visual-portfolio/classes/class-admin.php:1912
|
610 |
msgid "Excerpt Words Count"
|
611 |
msgstr ""
|
612 |
|
613 |
+
#: dist/visual-portfolio/classes/class-admin.php:1927
|
614 |
msgid "Display Icon"
|
615 |
msgstr ""
|
616 |
|
617 |
+
#: dist/visual-portfolio/classes/class-admin.php:1935
|
618 |
msgid "Caption Align"
|
619 |
msgstr ""
|
620 |
|
621 |
+
#: dist/visual-portfolio/classes/class-admin.php:1995
|
622 |
msgid "Disabled"
|
623 |
msgstr ""
|
624 |
|
625 |
+
#: dist/visual-portfolio/classes/class-admin.php:2005
|
626 |
msgid "Popup"
|
627 |
msgstr ""
|
628 |
|
629 |
+
#: dist/visual-portfolio/classes/class-admin.php:2017
|
630 |
msgid "Target"
|
631 |
msgstr ""
|
632 |
|
633 |
+
#: dist/visual-portfolio/classes/class-admin.php:2022
|
634 |
msgid "New Tab (_blank)"
|
635 |
msgstr ""
|
636 |
|
637 |
+
#: dist/visual-portfolio/classes/class-admin.php:2023
|
638 |
msgid "Top Frame (_top)"
|
639 |
msgstr ""
|
640 |
|
641 |
+
#: dist/visual-portfolio/classes/class-admin.php:2037
|
642 |
msgid "Rel"
|
643 |
msgstr ""
|
644 |
|
645 |
+
#: dist/visual-portfolio/classes/class-admin.php:2054
|
646 |
msgid "Title Source"
|
647 |
msgstr ""
|
648 |
|
649 |
+
#: dist/visual-portfolio/classes/class-admin.php:2076
|
650 |
msgid "Description Source"
|
651 |
msgstr ""
|
652 |
|
653 |
+
#: dist/visual-portfolio/classes/class-admin.php:2100
|
654 |
msgid "Display pages in popup iframe, not just images."
|
655 |
msgstr ""
|
656 |
|
657 |
+
#: dist/visual-portfolio/classes/class-admin.php:2120
|
658 |
msgid "Top"
|
659 |
msgstr ""
|
660 |
|
661 |
+
#: dist/visual-portfolio/classes/class-admin.php:2130
|
662 |
msgid "Bottom"
|
663 |
msgstr ""
|
664 |
|
665 |
+
#: dist/visual-portfolio/classes/class-admin.php:2154
|
666 |
msgid "Filter"
|
667 |
msgstr ""
|
668 |
|
669 |
+
#: dist/visual-portfolio/classes/class-admin.php:2160
|
670 |
msgid "Sort"
|
671 |
msgstr ""
|
672 |
|
673 |
+
#: dist/visual-portfolio/classes/class-admin.php:2166
|
674 |
msgid "Search"
|
675 |
msgstr ""
|
676 |
|
677 |
+
#: dist/visual-portfolio/classes/class-admin.php:2172
|
678 |
msgid "Items"
|
679 |
msgstr ""
|
680 |
|
681 |
+
#: dist/visual-portfolio/classes/class-admin.php:2177
|
682 |
msgid "Pagination"
|
683 |
msgstr ""
|
684 |
|
685 |
+
#: dist/visual-portfolio/classes/class-admin.php:2193, dist/visual-portfolio/classes/class-admin.php:2322, dist/visual-portfolio/classes/class-admin.php:2444
|
686 |
msgid "Minimal"
|
687 |
msgstr ""
|
688 |
|
689 |
+
#: dist/visual-portfolio/classes/class-admin.php:2207, dist/visual-portfolio/classes/class-admin.php:2336
|
690 |
msgid "Dropdown"
|
691 |
msgstr ""
|
692 |
|
693 |
+
#: dist/visual-portfolio/classes/class-admin.php:2299
|
694 |
msgid "Display Count"
|
695 |
msgstr ""
|
696 |
|
697 |
+
#: dist/visual-portfolio/classes/class-admin.php:2308
|
698 |
msgid "All Button Text"
|
699 |
msgstr ""
|
700 |
|
701 |
+
#: dist/visual-portfolio/classes/class-admin.php:2310
|
702 |
msgid "All"
|
703 |
msgstr ""
|
704 |
|
705 |
+
#: dist/visual-portfolio/classes/class-admin.php:2433
|
706 |
msgid "The search module is only available for PRO users."
|
707 |
msgstr ""
|
708 |
|
709 |
+
#: dist/visual-portfolio/classes/class-admin.php:2538
|
710 |
msgid "Type"
|
711 |
msgstr ""
|
712 |
|
713 |
+
#: dist/visual-portfolio/classes/class-admin.php:2545
|
714 |
msgid "Paged"
|
715 |
msgstr ""
|
716 |
|
717 |
+
#: dist/visual-portfolio/classes/class-admin.php:2550, dist/visual-portfolio/classes/class-admin.php:2611, dist/visual-portfolio/classes/class-admin.php:2668
|
718 |
msgid "Load More"
|
719 |
msgstr ""
|
720 |
|
721 |
+
#: dist/visual-portfolio/classes/class-admin.php:2555
|
722 |
msgid "Infinite"
|
723 |
msgstr ""
|
724 |
|
725 |
+
#: dist/visual-portfolio/classes/class-admin.php:2565
|
726 |
msgid "Note: you will see the \"Load More\" pagination in the preview. \"Infinite\" pagination will be visible on the site."
|
727 |
msgstr ""
|
728 |
|
729 |
+
#: dist/visual-portfolio/classes/class-admin.php:2580, dist/visual-portfolio/classes/class-admin.php:2595
|
730 |
msgid "Texts"
|
731 |
msgstr ""
|
732 |
|
733 |
+
#: dist/visual-portfolio/classes/class-admin.php:2612, dist/visual-portfolio/classes/class-admin.php:2613, dist/visual-portfolio/classes/class-admin.php:2669, dist/visual-portfolio/classes/class-admin.php:2670
|
734 |
msgid "Load more button label"
|
735 |
msgstr ""
|
736 |
|
737 |
+
#: dist/visual-portfolio/classes/class-admin.php:2630, dist/visual-portfolio/classes/class-admin.php:2687
|
738 |
msgid "Loading More..."
|
739 |
msgstr ""
|
740 |
|
741 |
+
#: dist/visual-portfolio/classes/class-admin.php:2631, dist/visual-portfolio/classes/class-admin.php:2632, dist/visual-portfolio/classes/class-admin.php:2688, dist/visual-portfolio/classes/class-admin.php:2689
|
742 |
msgid "Loading more button label"
|
743 |
msgstr ""
|
744 |
|
745 |
+
#: dist/visual-portfolio/classes/class-admin.php:2649, dist/visual-portfolio/classes/class-admin.php:2706
|
746 |
msgid "You’ve reached the end of the list"
|
747 |
msgstr ""
|
748 |
|
749 |
+
#: dist/visual-portfolio/classes/class-admin.php:2650, dist/visual-portfolio/classes/class-admin.php:2651, dist/visual-portfolio/classes/class-admin.php:2707, dist/visual-portfolio/classes/class-admin.php:2708
|
750 |
msgid "End of the list text"
|
751 |
msgstr ""
|
752 |
|
753 |
+
#: dist/visual-portfolio/classes/class-admin.php:2739
|
754 |
msgid "Display Numbers"
|
755 |
msgstr ""
|
756 |
|
757 |
+
#: dist/visual-portfolio/classes/class-admin.php:2754
|
758 |
msgid "Scroll to Top"
|
759 |
msgstr ""
|
760 |
|
761 |
+
#: dist/visual-portfolio/classes/class-admin.php:2769
|
762 |
msgid "Scroll to Top Offset"
|
763 |
msgstr ""
|
764 |
|
765 |
+
#: dist/visual-portfolio/classes/class-admin.php:2787
|
766 |
msgid "Hide on Reached End"
|
767 |
msgstr ""
|
768 |
|
769 |
+
#: dist/visual-portfolio/classes/class-admin.php:2817
|
770 |
msgid "Use <code>selector</code> rule to change block styles."
|
771 |
msgstr ""
|
772 |
|
773 |
+
#: dist/visual-portfolio/classes/class-admin.php:2818
|
774 |
msgid "Example:"
|
775 |
msgstr ""
|
776 |
|
777 |
+
#: dist/visual-portfolio/classes/class-admin.php:2864
|
778 |
+
msgid "Post Types Set"
|
779 |
+
msgstr ""
|
780 |
+
|
781 |
+
#: dist/visual-portfolio/classes/class-admin.php:2869
|
782 |
msgid "Manual Selection"
|
783 |
msgstr ""
|
784 |
|
785 |
+
#: dist/visual-portfolio/classes/class-admin.php:2879
|
786 |
msgid "Current Query"
|
787 |
msgstr ""
|
788 |
|
1034 |
msgid "Select Layout"
|
1035 |
msgstr ""
|
1036 |
|
1037 |
+
#: dist/visual-portfolio/classes/class-get-portfolio.php:1713
|
1038 |
msgid "Default sorting"
|
1039 |
msgstr ""
|
1040 |
|
1041 |
+
#: dist/visual-portfolio/classes/class-get-portfolio.php:1714
|
1042 |
msgid "Sort by date (newest)"
|
1043 |
msgstr ""
|
1044 |
|
1045 |
+
#: dist/visual-portfolio/classes/class-get-portfolio.php:1715
|
1046 |
msgid "Sort by date (oldest)"
|
1047 |
msgstr ""
|
1048 |
|
1049 |
+
#: dist/visual-portfolio/classes/class-get-portfolio.php:1716
|
1050 |
msgid "Sort by title (A-Z)"
|
1051 |
msgstr ""
|
1052 |
|
1053 |
+
#: dist/visual-portfolio/classes/class-get-portfolio.php:1717
|
1054 |
msgid "Sort by title (Z-A)"
|
1055 |
msgstr ""
|
1056 |
|
1057 |
#. translators: %s - published in human format.
|
1058 |
+
#: dist/visual-portfolio/classes/class-get-portfolio.php:1829
|
1059 |
msgid "%s ago"
|
1060 |
msgstr ""
|
1061 |
|
1221 |
msgid "Makes URL automatically change to reflect the current opened popup, and you can easily link directly to that image or video."
|
1222 |
msgstr ""
|
1223 |
|
1224 |
+
#: dist/visual-portfolio/classes/class-settings.php:377
|
1225 |
+
msgid "Use Deep Linking URL to Share Images"
|
1226 |
+
msgstr ""
|
1227 |
+
|
1228 |
+
#: dist/visual-portfolio/classes/class-settings.php:378
|
1229 |
+
msgid "Check to share Deep Linking URLs when sharing images. When disabled, all galleries will share direct links to image files."
|
1230 |
+
msgstr ""
|
1231 |
+
|
1232 |
+
#: dist/visual-portfolio/classes/class-settings.php:388
|
1233 |
msgid "Arrows to navigate between images."
|
1234 |
msgstr ""
|
1235 |
|
1236 |
+
#: dist/visual-portfolio/classes/class-settings.php:394
|
1237 |
msgid "Display Images Counter"
|
1238 |
msgstr ""
|
1239 |
|
1240 |
+
#: dist/visual-portfolio/classes/class-settings.php:395
|
1241 |
msgid "On the top left corner will be showed images counter."
|
1242 |
msgstr ""
|
1243 |
|
1244 |
+
#: dist/visual-portfolio/classes/class-settings.php:401
|
1245 |
msgid "Display Zoom Button"
|
1246 |
msgstr ""
|
1247 |
|
1248 |
+
#: dist/visual-portfolio/classes/class-settings.php:407
|
1249 |
msgid "Display Fullscreen Button"
|
1250 |
msgstr ""
|
1251 |
|
1252 |
+
#: dist/visual-portfolio/classes/class-settings.php:413
|
1253 |
msgid "Display Share Button"
|
1254 |
msgstr ""
|
1255 |
|
1256 |
+
#: dist/visual-portfolio/classes/class-settings.php:419
|
1257 |
msgid "Display Close Button"
|
1258 |
msgstr ""
|
1259 |
|
1260 |
+
#: dist/visual-portfolio/classes/class-settings.php:433
|
1261 |
msgid "Display Download Button"
|
1262 |
msgstr ""
|
1263 |
|
1264 |
+
#: dist/visual-portfolio/classes/class-settings.php:439
|
1265 |
msgid "Display Slideshow"
|
1266 |
msgstr ""
|
1267 |
|
1268 |
+
#: dist/visual-portfolio/classes/class-settings.php:447
|
1269 |
msgid "Click to Zoom"
|
1270 |
msgstr ""
|
1271 |
|
1272 |
+
#: dist/visual-portfolio/classes/class-settings.php:455
|
1273 |
msgid "Background Color"
|
1274 |
msgstr ""
|
1275 |
|
1276 |
+
#: dist/visual-portfolio/classes/class-settings.php:463
|
1277 |
msgid "Pages iFrame Custom CSS"
|
1278 |
msgstr ""
|
1279 |
|
1280 |
+
#: dist/visual-portfolio/classes/class-settings.php:464
|
1281 |
msgid "When you display pages in popup iframe, you may not need some page elements like header and footer. Hide it using custom CSS with classname `.vp-popup-iframe`."
|
1282 |
msgstr ""
|
1283 |
|
1284 |
+
#: dist/visual-portfolio/classes/class-settings.php:484
|
1285 |
msgid "Read More"
|
1286 |
msgstr ""
|
1287 |
|
1288 |
+
#: dist/visual-portfolio/classes/class-settings.php:505
|
1289 |
msgid "Visual Portfolio Settings"
|
1290 |
msgstr ""
|
1291 |
|
1305 |
msgid "This feature available in PRO plugin only"
|
1306 |
msgstr ""
|
1307 |
|
1308 |
+
#: dist/visual-portfolio/templates/items-list/item-parts/meta-author.php:32
|
1309 |
msgid "Author"
|
1310 |
msgstr ""
|
1311 |
|
1312 |
#. translators: %s - author name.
|
1313 |
+
#: dist/visual-portfolio/templates/items-list/item-parts/meta-author.php:50
|
|
|
|
|
|
|
1314 |
msgid "By %s"
|
1315 |
msgstr ""
|
1316 |
|
1317 |
+
#: dist/visual-portfolio/templates/items-list/item-parts/meta-comments.php:32
|
1318 |
msgid "Comments"
|
1319 |
msgstr ""
|
1320 |
|
1321 |
#. translators: %s Number of comments.
|
1322 |
+
#: dist/visual-portfolio/templates/items-list/item-parts/meta-comments.php:44
|
|
|
|
|
|
|
1323 |
msgid "%s Comment"
|
1324 |
msgid_plural "%s Comments"
|
1325 |
msgstr[0] ""
|
1326 |
msgstr[1] ""
|
1327 |
|
1328 |
+
#: dist/visual-portfolio/templates/items-list/item-parts/meta-comments.php:41
|
1329 |
msgid "No Comments"
|
1330 |
msgstr ""
|
1331 |
|
1332 |
+
#: dist/visual-portfolio/templates/items-list/item-parts/meta-reading-time.php:26
|
1333 |
+
msgid "Reading Time"
|
1334 |
msgstr ""
|
1335 |
|
1336 |
+
#. translators: %s Reading time minutes.
|
1337 |
+
#: dist/visual-portfolio/templates/items-list/item-parts/meta-reading-time.php:35
|
1338 |
+
msgid "%s Min Read"
|
1339 |
+
msgid_plural "%s Mins Read"
|
|
|
|
|
|
|
1340 |
msgstr[0] ""
|
1341 |
msgstr[1] ""
|
1342 |
|
1343 |
+
#: dist/visual-portfolio/templates/items-list/item-parts/meta-views.php:26
|
1344 |
+
msgid "Views"
|
1345 |
msgstr ""
|
1346 |
|
1347 |
+
#. translators: %s Number of views.
|
1348 |
+
#: dist/visual-portfolio/templates/items-list/item-parts/meta-views.php:33
|
1349 |
+
msgid "%s View"
|
1350 |
+
msgid_plural "%s Views"
|
|
|
|
|
|
|
1351 |
msgstr[0] ""
|
1352 |
msgstr[1] ""
|
1353 |
|
readme.md
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* Requires at least: 5.4
|
6 |
* Tested up to: 5.6
|
7 |
* Requires PHP: 5.5.9
|
8 |
-
* Stable tag: 2.
|
9 |
* License: GPLv2 or later
|
10 |
* License URI: <http://www.gnu.org/licenses/gpl-2.0.html>
|
11 |
|
@@ -22,21 +22,23 @@ Modern gallery and portfolio plugin with advanced layouts editor. Clean and powe
|
|
22 |
|
23 |
Create beautiful, clean, and powerful photo galleries and portfolio layouts using the Visual Portfolio gallery plugin. It is easy for simple photo galleries, but powerful enough for professionals. Whether you're a photographer, agency, or anything in between, **Visual Portfolio will boost your online presence**.
|
24 |
|
25 |
-
|
26 |
-
|
27 |
-
### Visual Gallery Builder ###
|
28 |
|
29 |
Build your portfolio and gallery blocks with no coding knowledge. Thanks to Gutenberg page builder you are able to create and customize galleries visually.
|
30 |
|
31 |
-
|
|
|
|
|
32 |
|
33 |
Despite the rich functionality, the Visual Portfolio is optimized as much as possible, to be fast and lightweight.
|
34 |
|
35 |
-
|
|
|
|
|
36 |
|
37 |
Smart adaptive image sizes fully supported in any gallery, created with Visual Portfolio plugin.
|
38 |
|
39 |
-
### Layouts ###
|
40 |
|
41 |
Our gallery plugin shipped with popular layouts such as Masonry and Justified (Flickr). Every feature optimized and works seamlessly with all of these layouts, you just need to set up and go with no headache. See it in action:
|
42 |
|
@@ -46,7 +48,7 @@ Our gallery plugin shipped with popular layouts such as Masonry and Justified (F
|
|
46 |
* [Grid Gallery](https://visualportfolio.co/grid/)
|
47 |
* [Slider Gallery](https://visualportfolio.co/slider/) (Fade, Carousel, Coverflow)
|
48 |
|
49 |
-
### Visual Effects ###
|
50 |
|
51 |
Showcase your portfolio items ang gallery images with clean and beautiful visual styles. See it in action:
|
52 |
|
@@ -56,23 +58,23 @@ Showcase your portfolio items ang gallery images with clean and beautiful visual
|
|
56 |
* [Fly Effect](https://visualportfolio.co/tiles-popup-gallery/)
|
57 |
* [Caption Move Effect](https://visualportfolio.co/masonry-caption-move/)
|
58 |
|
59 |
-
### Easy to Customize ###
|
60 |
|
61 |
The gallery block with live preview includes a lot of design settings that are point-and-click, no coding knowledge required. If you're a bit more adventurous, the custom CSS module and PHP filters are set up to be easily used by developers.
|
62 |
|
63 |
-
### Portfolio Post Type ###
|
64 |
|
65 |
Custom post type `portfolio` will ensure all your portfolios to keep in a single post type. In this way, you can distinguish your portfolios from other post types. Taxonomies are used to categorize your portfolio types, it will help you to group and sort your portfolios. Moreover, you can use these portfolios as a source for your showcase gallery using Visual Portfolio block.
|
66 |
|
67 |
-
### Posts Query Builder ###
|
68 |
|
69 |
Fine-tune the source of your galleries. Display posts, portfolios, and any other post types, filter by taxonomies, author, and date ranges, include or exclude specific posts, and much more options.
|
70 |
|
71 |
-
### Photo Galleries ###
|
72 |
|
73 |
You can also create galleries using image sets right inside block editor. Just drop your images and gallery is ready.
|
74 |
|
75 |
-
### Powerful Lightbox ###
|
76 |
|
77 |
Visual Portfolio uses only modern solutions, and lightboxes are not an exception. High performance, mobile optimization, retina-ready, and a wide range of features available in Fancybox and PhotoSwipe plugins, that you can choose for your gallery lightboxes.
|
78 |
|
@@ -84,7 +86,7 @@ Visual Portfolio uses only modern solutions, and lightboxes are not an exception
|
|
84 |
|
85 |
**Social Sharing** <br> You can allow users to share photos on Facebook, Twitter, and Pinterest with social sharing buttons.
|
86 |
|
87 |
-
###
|
88 |
|
89 |
Visual Portfolio plugin allows you to work with audios and videos within a single gallery. You just need to copy the URL of the video or audio and it will work automatically in the popup gallery. The full list with supported vendors see below (mostly thanks to the Pro plugin).
|
90 |
|
@@ -99,8 +101,10 @@ Supported Video Vendors:
|
|
99 |
* DailyMotion
|
100 |
* Wistia
|
101 |
* VideoPress
|
|
|
102 |
* Rutube
|
103 |
* Metacafe
|
|
|
104 |
* Self Hosted Video
|
105 |
|
106 |
Supported Audio Vendors:
|
@@ -111,46 +115,62 @@ Supported Audio Vendors:
|
|
111 |
* Beatport
|
112 |
* Self Hosted Audio
|
113 |
|
114 |
-
### SEO-Friendly ###
|
115 |
|
116 |
Visual Portfolio plugin is built keeping SEO and performance in mind by defining proper structure and tags. Furthermore, due to optimization, it is lightweight and fast when it comes to page load.
|
117 |
|
118 |
-
### Multilingual ###
|
119 |
|
120 |
Visual Portfolio adds a new layer of compatibility for [WPML](https://wpml.org/). All blocks are compatible with it and ready for translation. <https://visualportfolio.co/documentation/multilingual/>
|
121 |
|
122 |
-
### Built For Developers ###
|
123 |
|
124 |
Visual Portfolio gives you a wide range of filters and actions to customize every part of your gallery. Also, it allows you to overwrite templates and change it in the theme directory. Moreover, you can customize separate portfolio lists using custom CSS and CSS Variables.
|
125 |
|
126 |
-
### Pro ###
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
|
128 |
-
|
129 |
|
130 |
-
|
|
|
|
|
131 |
|
132 |
-
*
|
133 |
-
|
134 |
-
* Instagram
|
135 |
-
* Vimeo
|
136 |
-
* Flickr
|
137 |
-
* Twitter
|
138 |
-
* Dribbble
|
139 |
-
* Google Photos
|
140 |
-
* Stylish interaction effects
|
141 |
-
* Hover Tilt Effect
|
142 |
-
* Custom Hover Image (useful for animated GIFs)
|
143 |
-
* Caption Move Style
|
144 |
-
* Responsive Breakpoints settings
|
145 |
-
* Instagram-like image filters for normal and hover states
|
146 |
-
* AJAX Improvements
|
147 |
-
* Advanced query builder settings
|
148 |
-
* Popup gallery Deep Linking
|
149 |
-
* Find more portfolio and gallery features here - [https://visualportfolio.co/pro/](https://visualportfolio.co/pro/?utm_source=wporg&utm_medium=link&utm_campaign=pro)
|
150 |
|
151 |
-
|
|
|
152 |
|
153 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
|
155 |
* **Lightboxes for Standard WordPress Images**
|
156 |
Image lightbox available for Visual Portfolio galleries as well as for standard WordPress images and galleries in your content.
|
@@ -269,6 +289,16 @@ For more information, feel free to visit [Visual Portfolio official website](htt
|
|
269 |
|
270 |
## Changelog ##
|
271 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
272 |
= 2.9.1 =
|
273 |
|
274 |
* added full support for WPML plugin
|
5 |
* Requires at least: 5.4
|
6 |
* Tested up to: 5.6
|
7 |
* Requires PHP: 5.5.9
|
8 |
+
* Stable tag: 2.10.0
|
9 |
* License: GPLv2 or later
|
10 |
* License URI: <http://www.gnu.org/licenses/gpl-2.0.html>
|
11 |
|
22 |
|
23 |
Create beautiful, clean, and powerful photo galleries and portfolio layouts using the Visual Portfolio gallery plugin. It is easy for simple photo galleries, but powerful enough for professionals. Whether you're a photographer, agency, or anything in between, **Visual Portfolio will boost your online presence**.
|
24 |
|
25 |
+
### 💯 Visual Gallery Builder ###
|
|
|
|
|
26 |
|
27 |
Build your portfolio and gallery blocks with no coding knowledge. Thanks to Gutenberg page builder you are able to create and customize galleries visually.
|
28 |
|
29 |
+
Convenient visual block editor with support to various layouts such as Masonry, Justified, Tiles, Grid, and Carousel. A **well thought out design, powerful features, and years of development** by the nK team make Visual Portfolio a game-changing Portfolio and Gallery plugin that will level the WordPress showcases playing field in your favor to help increase visitors engagement.
|
30 |
+
|
31 |
+
### 🚀 Optimized to be Fast as Native ###
|
32 |
|
33 |
Despite the rich functionality, the Visual Portfolio is optimized as much as possible, to be fast and lightweight.
|
34 |
|
35 |
+
Due to the modular code structure, all scripts and styles are loaded only when they are needed for the current page that displays your gallery. So, your pages will never load unused features.
|
36 |
+
|
37 |
+
Pictures are not loaded in the main thread due to lazy loading. Moreover, our plugin is compatible with third-party WebP providers and image optimization plugins.
|
38 |
|
39 |
Smart adaptive image sizes fully supported in any gallery, created with Visual Portfolio plugin.
|
40 |
|
41 |
+
### 📱 Layouts ###
|
42 |
|
43 |
Our gallery plugin shipped with popular layouts such as Masonry and Justified (Flickr). Every feature optimized and works seamlessly with all of these layouts, you just need to set up and go with no headache. See it in action:
|
44 |
|
48 |
* [Grid Gallery](https://visualportfolio.co/grid/)
|
49 |
* [Slider Gallery](https://visualportfolio.co/slider/) (Fade, Carousel, Coverflow)
|
50 |
|
51 |
+
### 🎨 Visual Effects ###
|
52 |
|
53 |
Showcase your portfolio items ang gallery images with clean and beautiful visual styles. See it in action:
|
54 |
|
58 |
* [Fly Effect](https://visualportfolio.co/tiles-popup-gallery/)
|
59 |
* [Caption Move Effect](https://visualportfolio.co/masonry-caption-move/)
|
60 |
|
61 |
+
### ⚙️ Easy to Customize ###
|
62 |
|
63 |
The gallery block with live preview includes a lot of design settings that are point-and-click, no coding knowledge required. If you're a bit more adventurous, the custom CSS module and PHP filters are set up to be easily used by developers.
|
64 |
|
65 |
+
### 📁 Portfolio Post Type ###
|
66 |
|
67 |
Custom post type `portfolio` will ensure all your portfolios to keep in a single post type. In this way, you can distinguish your portfolios from other post types. Taxonomies are used to categorize your portfolio types, it will help you to group and sort your portfolios. Moreover, you can use these portfolios as a source for your showcase gallery using Visual Portfolio block.
|
68 |
|
69 |
+
### 💎 Posts Query Builder ###
|
70 |
|
71 |
Fine-tune the source of your galleries. Display posts, portfolios, and any other post types, filter by taxonomies, author, and date ranges, include or exclude specific posts, and much more options.
|
72 |
|
73 |
+
### 🖼️ Photo Galleries ###
|
74 |
|
75 |
You can also create galleries using image sets right inside block editor. Just drop your images and gallery is ready.
|
76 |
|
77 |
+
### ⚡ Powerful Lightbox ###
|
78 |
|
79 |
Visual Portfolio uses only modern solutions, and lightboxes are not an exception. High performance, mobile optimization, retina-ready, and a wide range of features available in Fancybox and PhotoSwipe plugins, that you can choose for your gallery lightboxes.
|
80 |
|
86 |
|
87 |
**Social Sharing** <br> You can allow users to share photos on Facebook, Twitter, and Pinterest with social sharing buttons.
|
88 |
|
89 |
+
### 📹 Video and 🎵 Audio Support ###
|
90 |
|
91 |
Visual Portfolio plugin allows you to work with audios and videos within a single gallery. You just need to copy the URL of the video or audio and it will work automatically in the popup gallery. The full list with supported vendors see below (mostly thanks to the Pro plugin).
|
92 |
|
101 |
* DailyMotion
|
102 |
* Wistia
|
103 |
* VideoPress
|
104 |
+
* TED
|
105 |
* Rutube
|
106 |
* Metacafe
|
107 |
+
* Coub
|
108 |
* Self Hosted Video
|
109 |
|
110 |
Supported Audio Vendors:
|
115 |
* Beatport
|
116 |
* Self Hosted Audio
|
117 |
|
118 |
+
### 📈 SEO-Friendly ###
|
119 |
|
120 |
Visual Portfolio plugin is built keeping SEO and performance in mind by defining proper structure and tags. Furthermore, due to optimization, it is lightweight and fast when it comes to page load.
|
121 |
|
122 |
+
### 🏳️ Multilingual ###
|
123 |
|
124 |
Visual Portfolio adds a new layer of compatibility for [WPML](https://wpml.org/). All blocks are compatible with it and ready for translation. <https://visualportfolio.co/documentation/multilingual/>
|
125 |
|
126 |
+
### 🛠 Built For Developers ###
|
127 |
|
128 |
Visual Portfolio gives you a wide range of filters and actions to customize every part of your gallery. Also, it allows you to overwrite templates and change it in the theme directory. Moreover, you can customize separate portfolio lists using custom CSS and CSS Variables.
|
129 |
|
130 |
+
### 🌟 Visual Portfolio Pro ###
|
131 |
+
|
132 |
+
> The Visual Portfolio plugin is also available in a professional version which includes more features and enhanced performance! [**Learn more about Visual Portfolio Pro**](https://visualportfolio.co/pro/?utm_source=wporg&utm_medium=link&utm_campaign=pro)
|
133 |
+
>
|
134 |
+
> In order to maintain the free version of the plugin on an ongoing basis, and to provide quick and effective support for free, we offer a Pro version of the plugin. The Pro version allows you to:
|
135 |
+
|
136 |
+
* **Social Integrations**
|
137 |
+
Automatically fetch posts from your social networks to display in gallery on your site.
|
138 |
+
|
139 |
+
* [Youtube](https://visualportfolio.co/social-youtube/)
|
140 |
+
* [Instagram](https://visualportfolio.co/social-instagram/)
|
141 |
+
* [Vimeo](https://visualportfolio.co/social-vimeo/)
|
142 |
+
* [Flickr](https://visualportfolio.co/social-flickr/)
|
143 |
+
* [Twitter](https://visualportfolio.co/social-twitter/)
|
144 |
+
* [Dribbble](https://visualportfolio.co/social-dribbble/)
|
145 |
+
* [Google Photos](https://visualportfolio.co/social-google-photos/)
|
146 |
|
147 |
+
* **Stylish interaction effects**
|
148 |
|
149 |
+
* [Hover Tilt Effect](https://visualportfolio.co/justified-tilt-effect/)
|
150 |
+
* [Custom Hover Image](https://visualportfolio.co/custom-hover-image-animated-gif/) - useful for animated GIFs
|
151 |
+
* [Caption Move Style](https://visualportfolio.co/masonry-caption-move/)
|
152 |
|
153 |
+
* **Responsive Breakpoints Settings**
|
154 |
+
Manually control the screen sizes, which used by the automatic responsive function to adapt your gallery layouts.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
155 |
|
156 |
+
* **Instagram-like Image Filters**
|
157 |
+
Improve visual look of you gallery images by adding filters on your normal or hovered images.
|
158 |
|
159 |
+
* **AJAX Improvements**
|
160 |
+
Requests properly cached and links preloaded before you click.
|
161 |
+
|
162 |
+
* **Advanced Query Settings**
|
163 |
+
Filter by Author, Date Range, Ignore Sticky Posts, exclude posts without Featured Image, and much more...
|
164 |
+
|
165 |
+
* **Popup Gallery for Posts and Pages**
|
166 |
+
Display posts and pages in popup iframe, not only image and video galleries. It's like works preview in Dribbble and Behance, but on your own site.
|
167 |
+
|
168 |
+
* **Popup Gallery Deep Linking**
|
169 |
+
Makes URL automatically change when you open popup and you can easily link to a specific popup image.
|
170 |
+
|
171 |
+
[**Find much more portfolio and gallery features of Visual Portfolio Pro today!**](https://visualportfolio.co/pro/?utm_source=wporg&utm_medium=link&utm_campaign=pro)
|
172 |
+
|
173 |
+
### ⭐ More Features ###
|
174 |
|
175 |
* **Lightboxes for Standard WordPress Images**
|
176 |
Image lightbox available for Visual Portfolio galleries as well as for standard WordPress images and galleries in your content.
|
289 |
|
290 |
## Changelog ##
|
291 |
|
292 |
+
= 2.10.0 =
|
293 |
+
|
294 |
+
* added new Query setting to select multiple post types
|
295 |
+
* added new setting - 'Use Deep Linking URL to Share Images'
|
296 |
+
* added support for TED and Coub Video popups in Pro plugin
|
297 |
+
* added possibility to remove no-image from Settings
|
298 |
+
* added more templates for items (split meta parts to separate templates)
|
299 |
+
* added width and max-width styles to JS Stretch code to prevent possible styles conflicts
|
300 |
+
* fixed styles loading when using filter and sort shortcodes
|
301 |
+
|
302 |
= 2.9.1 =
|
303 |
|
304 |
* added full support for WPML plugin
|
templates/global/link-end.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Link end template.
|
4 |
+
*
|
5 |
+
* @var $href
|
6 |
+
* @var $target
|
7 |
+
* @var $class
|
8 |
+
* @var $fallback
|
9 |
+
*
|
10 |
+
* @package visual-portfolio
|
11 |
+
*/
|
12 |
+
|
13 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
14 |
+
exit;
|
15 |
+
}
|
16 |
+
|
17 |
+
if ( isset( $href ) && $href ) {
|
18 |
+
echo '</a>';
|
19 |
+
} elseif ( isset( $fallback ) && $fallback ) {
|
20 |
+
echo '</' . esc_html( $fallback ) . '>';
|
21 |
+
}
|
templates/global/link-start.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Link start template.
|
4 |
+
*
|
5 |
+
* @var $href
|
6 |
+
* @var $target
|
7 |
+
* @var $rel
|
8 |
+
* @var $tabindex
|
9 |
+
* @var $class
|
10 |
+
* @var $fallback
|
11 |
+
*
|
12 |
+
* @package visual-portfolio
|
13 |
+
*/
|
14 |
+
|
15 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
16 |
+
|
17 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
18 |
+
exit;
|
19 |
+
}
|
20 |
+
|
21 |
+
$attributes = ' ';
|
22 |
+
|
23 |
+
if ( isset( $href ) && $href ) {
|
24 |
+
$attributes .= 'href="' . esc_url( $href ) . '" ';
|
25 |
+
|
26 |
+
if ( isset( $target ) && $target ) {
|
27 |
+
$attributes .= 'target="' . esc_attr( $target ) . '" ';
|
28 |
+
}
|
29 |
+
if ( isset( $rel ) && $rel ) {
|
30 |
+
$attributes .= 'rel="' . esc_attr( $rel ) . '" ';
|
31 |
+
}
|
32 |
+
if ( isset( $tabindex ) && $tabindex ) {
|
33 |
+
$attributes .= 'tabindex="' . esc_attr( $tabindex ) . '" ';
|
34 |
+
}
|
35 |
+
}
|
36 |
+
if ( isset( $class ) && $class ) {
|
37 |
+
$attributes .= 'class="' . esc_attr( $class ) . '" ';
|
38 |
+
}
|
39 |
+
|
40 |
+
if ( isset( $href ) && $href ) {
|
41 |
+
// phpcs:ignore
|
42 |
+
echo '<a ' . $attributes . '>';
|
43 |
+
} elseif ( isset( $fallback ) && $fallback ) {
|
44 |
+
// phpcs:ignore
|
45 |
+
echo '<' . esc_html( $fallback ) . ' ' . $attributes . '>';
|
46 |
+
}
|
templates/items-list/filter/dropdown/filter.php
CHANGED
@@ -3,9 +3,12 @@
|
|
3 |
* Dropdown filter template.
|
4 |
*
|
5 |
* @var $args
|
|
|
6 |
* @package visual-portfolio
|
7 |
*/
|
8 |
|
|
|
|
|
9 |
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
exit;
|
11 |
}
|
@@ -15,7 +18,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
15 |
<div class="<?php echo esc_attr( $args['class'] ); ?> vp-filter__style-dropdown">
|
16 |
<select>
|
17 |
<?php
|
18 |
-
// phpcs:ignore
|
19 |
foreach ( $args['items'] as $item ) {
|
20 |
?>
|
21 |
<option class="<?php echo esc_attr( $item['class'] ); ?>" data-vp-url="<?php echo esc_url( $item['url'] ); ?>" data-vp-filter="<?php echo esc_attr( $item['filter'] ); ?>" value="<?php echo esc_attr( $item['filter'] ); ?>" <?php selected( $item['active'] ); ?>>
|
3 |
* Dropdown filter template.
|
4 |
*
|
5 |
* @var $args
|
6 |
+
*
|
7 |
* @package visual-portfolio
|
8 |
*/
|
9 |
|
10 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
11 |
+
|
12 |
if ( ! defined( 'ABSPATH' ) ) {
|
13 |
exit;
|
14 |
}
|
18 |
<div class="<?php echo esc_attr( $args['class'] ); ?> vp-filter__style-dropdown">
|
19 |
<select>
|
20 |
<?php
|
|
|
21 |
foreach ( $args['items'] as $item ) {
|
22 |
?>
|
23 |
<option class="<?php echo esc_attr( $item['class'] ); ?>" data-vp-url="<?php echo esc_url( $item['url'] ); ?>" data-vp-filter="<?php echo esc_attr( $item['filter'] ); ?>" value="<?php echo esc_attr( $item['filter'] ); ?>" <?php selected( $item['active'] ); ?>>
|
templates/items-list/filter/filter.php
CHANGED
@@ -3,9 +3,12 @@
|
|
3 |
* Default filter template.
|
4 |
*
|
5 |
* @var $args
|
|
|
6 |
* @package visual-portfolio
|
7 |
*/
|
8 |
|
|
|
|
|
9 |
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
exit;
|
11 |
}
|
@@ -14,7 +17,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
14 |
|
15 |
<div class="<?php echo esc_attr( $args['class'] ); ?> vp-filter__style-default">
|
16 |
<?php
|
17 |
-
// phpcs:ignore
|
18 |
foreach ( $args['items'] as $item ) {
|
19 |
?>
|
20 |
<div class="<?php echo esc_attr( $item['class'] ); ?>">
|
3 |
* Default filter template.
|
4 |
*
|
5 |
* @var $args
|
6 |
+
*
|
7 |
* @package visual-portfolio
|
8 |
*/
|
9 |
|
10 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
11 |
+
|
12 |
if ( ! defined( 'ABSPATH' ) ) {
|
13 |
exit;
|
14 |
}
|
17 |
|
18 |
<div class="<?php echo esc_attr( $args['class'] ); ?> vp-filter__style-default">
|
19 |
<?php
|
|
|
20 |
foreach ( $args['items'] as $item ) {
|
21 |
?>
|
22 |
<div class="<?php echo esc_attr( $item['class'] ); ?>">
|
templates/items-list/filter/minimal/filter.php
CHANGED
@@ -3,9 +3,12 @@
|
|
3 |
* Minimal filter template.
|
4 |
*
|
5 |
* @var $args
|
|
|
6 |
* @package visual-portfolio
|
7 |
*/
|
8 |
|
|
|
|
|
9 |
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
exit;
|
11 |
}
|
@@ -14,7 +17,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
14 |
|
15 |
<div class="<?php echo esc_attr( $args['class'] ); ?> vp-filter__style-minimal">
|
16 |
<?php
|
17 |
-
// phpcs:ignore
|
18 |
foreach ( $args['items'] as $item ) {
|
19 |
?>
|
20 |
<div class="<?php echo esc_attr( $item['class'] ); ?>">
|
3 |
* Minimal filter template.
|
4 |
*
|
5 |
* @var $args
|
6 |
+
*
|
7 |
* @package visual-portfolio
|
8 |
*/
|
9 |
|
10 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
11 |
+
|
12 |
if ( ! defined( 'ABSPATH' ) ) {
|
13 |
exit;
|
14 |
}
|
17 |
|
18 |
<div class="<?php echo esc_attr( $args['class'] ); ?> vp-filter__style-minimal">
|
19 |
<?php
|
|
|
20 |
foreach ( $args['items'] as $item ) {
|
21 |
?>
|
22 |
<div class="<?php echo esc_attr( $item['class'] ); ?>">
|
templates/items-list/item-parts/excerpt.php
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Item excerpt template.
|
4 |
+
*
|
5 |
+
* @var $args
|
6 |
+
* @var $opts
|
7 |
+
*
|
8 |
+
* @package visual-portfolio
|
9 |
+
*/
|
10 |
+
|
11 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
12 |
+
exit;
|
13 |
+
}
|
14 |
+
|
15 |
+
if ( ! $opts['show_excerpt'] || ! $args['excerpt'] ) {
|
16 |
+
return;
|
17 |
+
}
|
18 |
+
|
19 |
+
?>
|
20 |
+
|
21 |
+
<div class="vp-portfolio__item-meta-excerpt">
|
22 |
+
<div>
|
23 |
+
<?php echo wp_kses_post( $args['excerpt'] ); ?>
|
24 |
+
</div>
|
25 |
+
</div>
|
templates/items-list/item-parts/icon.php
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Item meta icon template.
|
4 |
+
*
|
5 |
+
* @var $args
|
6 |
+
* @var $opts
|
7 |
+
*
|
8 |
+
* @package visual-portfolio
|
9 |
+
*/
|
10 |
+
|
11 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
12 |
+
exit;
|
13 |
+
}
|
14 |
+
|
15 |
+
if ( ! $opts['show_icon'] ) {
|
16 |
+
return;
|
17 |
+
}
|
18 |
+
|
19 |
+
?>
|
20 |
+
|
21 |
+
<div class="vp-portfolio__item-meta-icon">
|
22 |
+
<?php
|
23 |
+
switch ( $args['format'] ) {
|
24 |
+
case 'video':
|
25 |
+
visual_portfolio()->include_template( 'icons/play' );
|
26 |
+
break;
|
27 |
+
case 'audio':
|
28 |
+
visual_portfolio()->include_template( 'icons/music' );
|
29 |
+
break;
|
30 |
+
case 'gallery':
|
31 |
+
visual_portfolio()->include_template( 'icons/gallery' );
|
32 |
+
break;
|
33 |
+
default:
|
34 |
+
if ( isset( $args['vp_opts']['items_click_action'] ) && 'popup_gallery' === $args['vp_opts']['items_click_action'] ) {
|
35 |
+
visual_portfolio()->include_template( 'icons/search' );
|
36 |
+
} else {
|
37 |
+
visual_portfolio()->include_template( 'icons/image' );
|
38 |
+
}
|
39 |
+
break;
|
40 |
+
}
|
41 |
+
?>
|
42 |
+
</div>
|
templates/items-list/item-parts/inline-meta.php
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Item inline meta template.
|
4 |
+
*
|
5 |
+
* @var $args
|
6 |
+
* @var $opts
|
7 |
+
* @var $allow_links
|
8 |
+
*
|
9 |
+
* @package visual-portfolio
|
10 |
+
*/
|
11 |
+
|
12 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
13 |
+
|
14 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
15 |
+
exit;
|
16 |
+
}
|
17 |
+
|
18 |
+
$inline_meta = $opts['show_author'] && $args['author'] ||
|
19 |
+
$opts['show_date'] ||
|
20 |
+
$opts['show_comments_count'] && '' !== $args['comments_count'] ||
|
21 |
+
$opts['show_views_count'] && $args['views_count'] ||
|
22 |
+
$opts['show_reading_time'] && $args['reading_time'];
|
23 |
+
|
24 |
+
$templates_data = array(
|
25 |
+
'args' => $args,
|
26 |
+
'opts' => $opts,
|
27 |
+
'allow_links' => isset( $allow_links ) ? $allow_links : false,
|
28 |
+
);
|
29 |
+
|
30 |
+
if ( ! $inline_meta ) {
|
31 |
+
return;
|
32 |
+
}
|
33 |
+
|
34 |
+
?>
|
35 |
+
|
36 |
+
<div class="vp-portfolio__item-meta-inline">
|
37 |
+
<?php
|
38 |
+
// Author.
|
39 |
+
visual_portfolio()->include_template( 'items-list/item-parts/meta-author', $templates_data );
|
40 |
+
|
41 |
+
// Date.
|
42 |
+
visual_portfolio()->include_template( 'items-list/item-parts/meta-date', $templates_data );
|
43 |
+
|
44 |
+
// Comments.
|
45 |
+
visual_portfolio()->include_template( 'items-list/item-parts/meta-comments', $templates_data );
|
46 |
+
|
47 |
+
// Views.
|
48 |
+
visual_portfolio()->include_template( 'items-list/item-parts/meta-views', $templates_data );
|
49 |
+
|
50 |
+
// Reading Time.
|
51 |
+
visual_portfolio()->include_template( 'items-list/item-parts/meta-reading-time', $templates_data );
|
52 |
+
?>
|
53 |
+
</div>
|
templates/items-list/item-parts/meta-author.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Item meta author template.
|
4 |
+
*
|
5 |
+
* @var $args
|
6 |
+
* @var $opts
|
7 |
+
* @var $allow_links
|
8 |
+
*
|
9 |
+
* @package visual-portfolio
|
10 |
+
*/
|
11 |
+
|
12 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
13 |
+
|
14 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
15 |
+
exit;
|
16 |
+
}
|
17 |
+
|
18 |
+
if ( ! $opts['show_author'] || ! $args['author'] ) {
|
19 |
+
return;
|
20 |
+
}
|
21 |
+
|
22 |
+
$allow_links = isset( $allow_links ) ? $allow_links : false;
|
23 |
+
$link_data = array(
|
24 |
+
'href' => $allow_links ? $args['author_url'] : false,
|
25 |
+
);
|
26 |
+
|
27 |
+
?>
|
28 |
+
|
29 |
+
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-author">
|
30 |
+
<span class="vp-portfolio__item-meta-part-icon">
|
31 |
+
<span class="vp-screen-reader-text">
|
32 |
+
<?php echo esc_html__( 'Author', 'visual-portfolio' ); ?>
|
33 |
+
</span>
|
34 |
+
<?php
|
35 |
+
if ( $args['author_avatar'] ) {
|
36 |
+
visual_portfolio()->include_template( 'global/link-start', $link_data );
|
37 |
+
?>
|
38 |
+
<img src="<?php echo esc_url( $args['author_avatar'] ); ?>" alt="<?php echo esc_attr( $args['author'] ); ?>" width="50" height="50">
|
39 |
+
<?php
|
40 |
+
visual_portfolio()->include_template( 'global/link-end', $link_data );
|
41 |
+
} else {
|
42 |
+
visual_portfolio()->include_template( 'icons/user' );
|
43 |
+
}
|
44 |
+
?>
|
45 |
+
</span>
|
46 |
+
<span class="vp-portfolio__item-meta-part-text">
|
47 |
+
<?php
|
48 |
+
printf(
|
49 |
+
// translators: %s - author name.
|
50 |
+
esc_html__( 'By %s', 'visual-portfolio' ),
|
51 |
+
$link_data['href'] ? '<a href="' . esc_url( $link_data['href'] ) . '">' . esc_html( $args['author'] ) . '</a>' : esc_html( $args['author'] )
|
52 |
+
);
|
53 |
+
?>
|
54 |
+
</span>
|
55 |
+
</div>
|
templates/items-list/item-parts/meta-categories.php
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Item meta categories template.
|
4 |
+
*
|
5 |
+
* @var $args
|
6 |
+
* @var $opts
|
7 |
+
* @var $allow_links
|
8 |
+
*
|
9 |
+
* @package visual-portfolio
|
10 |
+
*/
|
11 |
+
|
12 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
13 |
+
|
14 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
15 |
+
exit;
|
16 |
+
}
|
17 |
+
|
18 |
+
if ( ! $opts['show_categories'] || ! $args['categories'] || empty( $args['categories'] ) ) {
|
19 |
+
return;
|
20 |
+
}
|
21 |
+
|
22 |
+
$allow_links = isset( $allow_links ) ? $allow_links : false;
|
23 |
+
$count = $opts['categories_count'];
|
24 |
+
|
25 |
+
?>
|
26 |
+
|
27 |
+
<div class="vp-portfolio__item-meta-categories">
|
28 |
+
<?php
|
29 |
+
foreach ( $args['categories'] as $category ) {
|
30 |
+
if ( ! $count ) {
|
31 |
+
break;
|
32 |
+
}
|
33 |
+
|
34 |
+
$link_data = array(
|
35 |
+
'href' => $allow_links ? $category['url'] : false,
|
36 |
+
'fallback' => 'span',
|
37 |
+
);
|
38 |
+
|
39 |
+
?>
|
40 |
+
<div class="vp-portfolio__item-meta-category">
|
41 |
+
<?php
|
42 |
+
visual_portfolio()->include_template( 'global/link-start', $link_data );
|
43 |
+
echo esc_html( $category['label'] );
|
44 |
+
visual_portfolio()->include_template( 'global/link-end', $link_data );
|
45 |
+
?>
|
46 |
+
</div>
|
47 |
+
<?php
|
48 |
+
$count--;
|
49 |
+
}
|
50 |
+
?>
|
51 |
+
</div>
|
templates/items-list/item-parts/meta-comments.php
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Item meta comments template.
|
4 |
+
*
|
5 |
+
* @var $args
|
6 |
+
* @var $opts
|
7 |
+
* @var $allow_links
|
8 |
+
*
|
9 |
+
* @package visual-portfolio
|
10 |
+
*/
|
11 |
+
|
12 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
13 |
+
|
14 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
15 |
+
exit;
|
16 |
+
}
|
17 |
+
|
18 |
+
if ( ! $opts['show_comments_count'] || '' === $args['comments_count'] ) {
|
19 |
+
return;
|
20 |
+
}
|
21 |
+
|
22 |
+
$allow_links = isset( $allow_links ) ? $allow_links : false;
|
23 |
+
$link_data = array(
|
24 |
+
'href' => $allow_links ? $args['comments_url'] : false,
|
25 |
+
);
|
26 |
+
|
27 |
+
?>
|
28 |
+
|
29 |
+
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-comments">
|
30 |
+
<span class="vp-portfolio__item-meta-part-icon">
|
31 |
+
<span class="vp-screen-reader-text">
|
32 |
+
<?php echo esc_html__( 'Comments', 'visual-portfolio' ); ?>
|
33 |
+
</span>
|
34 |
+
<?php visual_portfolio()->include_template( 'icons/message' ); ?>
|
35 |
+
</span>
|
36 |
+
<span class="vp-portfolio__item-meta-part-text">
|
37 |
+
<?php
|
38 |
+
visual_portfolio()->include_template( 'global/link-start', $link_data );
|
39 |
+
|
40 |
+
if ( ! $args['comments_count'] ) {
|
41 |
+
echo esc_html__( 'No Comments', 'visual-portfolio' );
|
42 |
+
} else {
|
43 |
+
// translators: %s Number of comments.
|
44 |
+
echo esc_html( sprintf( _n( '%s Comment', '%s Comments', $args['comments_count'], 'visual-portfolio' ), number_format_i18n( (int) $args['comments_count'] ) ) );
|
45 |
+
}
|
46 |
+
|
47 |
+
visual_portfolio()->include_template( 'global/link-end', $link_data );
|
48 |
+
?>
|
49 |
+
</span>
|
50 |
+
</div>
|
templates/items-list/item-parts/meta-date.php
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Item meta date template.
|
4 |
+
*
|
5 |
+
* @var $args
|
6 |
+
* @var $opts
|
7 |
+
*
|
8 |
+
* @package visual-portfolio
|
9 |
+
*/
|
10 |
+
|
11 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
12 |
+
|
13 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
14 |
+
exit;
|
15 |
+
}
|
16 |
+
|
17 |
+
if ( ! $opts['show_date'] ) {
|
18 |
+
return;
|
19 |
+
}
|
20 |
+
|
21 |
+
?>
|
22 |
+
|
23 |
+
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-date">
|
24 |
+
<span class="vp-portfolio__item-meta-part-icon">
|
25 |
+
<span class="vp-screen-reader-text">
|
26 |
+
<?php echo esc_html__( 'Date', 'visual-portfolio' ); ?>
|
27 |
+
</span>
|
28 |
+
<?php visual_portfolio()->include_template( 'icons/calendar' ); ?>
|
29 |
+
</span>
|
30 |
+
<span class="vp-portfolio__item-meta-part-text">
|
31 |
+
<?php echo esc_html( $args['published'] ); ?>
|
32 |
+
</span>
|
33 |
+
</div>
|
templates/items-list/item-parts/meta-reading-time.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Item meta reading time template.
|
4 |
+
*
|
5 |
+
* @var $args
|
6 |
+
* @var $opts
|
7 |
+
*
|
8 |
+
* @package visual-portfolio
|
9 |
+
*/
|
10 |
+
|
11 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
12 |
+
|
13 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
14 |
+
exit;
|
15 |
+
}
|
16 |
+
|
17 |
+
if ( ! $opts['show_reading_time'] || ! $args['reading_time'] ) {
|
18 |
+
return;
|
19 |
+
}
|
20 |
+
|
21 |
+
?>
|
22 |
+
|
23 |
+
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-reading-rime">
|
24 |
+
<span class="vp-portfolio__item-meta-part-icon">
|
25 |
+
<span class="vp-screen-reader-text">
|
26 |
+
<?php echo esc_html__( 'Reading Time', 'visual-portfolio' ); ?>
|
27 |
+
</span>
|
28 |
+
<?php visual_portfolio()->include_template( 'icons/book' ); ?>
|
29 |
+
</span>
|
30 |
+
<span class="vp-portfolio__item-meta-part-text">
|
31 |
+
<?php
|
32 |
+
echo esc_html(
|
33 |
+
sprintf(
|
34 |
+
// translators: %s Reading time minutes.
|
35 |
+
_n(
|
36 |
+
'%s Min Read',
|
37 |
+
'%s Mins Read',
|
38 |
+
is_string( $args['reading_time'] ) ? 1 : $args['reading_time'],
|
39 |
+
'visual-portfolio'
|
40 |
+
),
|
41 |
+
is_string( $args['reading_time'] ) ? $args['reading_time'] : number_format_i18n( (int) $args['reading_time'] )
|
42 |
+
)
|
43 |
+
);
|
44 |
+
?>
|
45 |
+
</span>
|
46 |
+
</div>
|
templates/items-list/item-parts/meta-views.php
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Item meta views template.
|
4 |
+
*
|
5 |
+
* @var $args
|
6 |
+
* @var $opts
|
7 |
+
*
|
8 |
+
* @package visual-portfolio
|
9 |
+
*/
|
10 |
+
|
11 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
12 |
+
|
13 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
14 |
+
exit;
|
15 |
+
}
|
16 |
+
|
17 |
+
if ( ! $opts['show_views_count'] || ! $args['views_count'] ) {
|
18 |
+
return;
|
19 |
+
}
|
20 |
+
|
21 |
+
?>
|
22 |
+
|
23 |
+
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-views">
|
24 |
+
<span class="vp-portfolio__item-meta-part-icon">
|
25 |
+
<span class="vp-screen-reader-text">
|
26 |
+
<?php echo esc_html__( 'Views', 'visual-portfolio' ); ?>
|
27 |
+
</span>
|
28 |
+
<?php visual_portfolio()->include_template( 'icons/eye' ); ?>
|
29 |
+
</span>
|
30 |
+
<span class="vp-portfolio__item-meta-part-text">
|
31 |
+
<?php
|
32 |
+
// translators: %s Number of views.
|
33 |
+
echo esc_html( sprintf( _n( '%s View', '%s Views', $args['views_count'], 'visual-portfolio' ), number_format_i18n( (int) $args['views_count'] ) ) );
|
34 |
+
?>
|
35 |
+
</span>
|
36 |
+
</div>
|
templates/items-list/item-parts/read-more.php
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Item read more template.
|
4 |
+
*
|
5 |
+
* @var $args
|
6 |
+
* @var $opts
|
7 |
+
*
|
8 |
+
* @package visual-portfolio
|
9 |
+
*/
|
10 |
+
|
11 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
12 |
+
exit;
|
13 |
+
}
|
14 |
+
|
15 |
+
if ( ! $opts['show_read_more'] || ! $opts['read_more_label'] ) {
|
16 |
+
return;
|
17 |
+
}
|
18 |
+
|
19 |
+
?>
|
20 |
+
|
21 |
+
<a class="vp-portfolio__item-meta-read-more" href="<?php echo esc_url( $opts['read_more_url'] ); ?>">
|
22 |
+
<?php echo esc_html( $opts['read_more_label'] ); ?>
|
23 |
+
</a>
|
templates/items-list/item-parts/title.php
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Item title template.
|
4 |
+
*
|
5 |
+
* @var $args
|
6 |
+
* @var $opts
|
7 |
+
* @var $allow_links
|
8 |
+
*
|
9 |
+
* @package visual-portfolio
|
10 |
+
*/
|
11 |
+
|
12 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
13 |
+
|
14 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
15 |
+
exit;
|
16 |
+
}
|
17 |
+
|
18 |
+
if ( ! $opts['show_title'] || ! $args['title'] ) {
|
19 |
+
return;
|
20 |
+
}
|
21 |
+
|
22 |
+
$allow_links = isset( $allow_links ) ? $allow_links : false;
|
23 |
+
$link_data = array(
|
24 |
+
'href' => $allow_links ? $args['url'] : false,
|
25 |
+
'target' => $args['url_target'],
|
26 |
+
'rel' => $args['url_rel'],
|
27 |
+
);
|
28 |
+
|
29 |
+
?>
|
30 |
+
|
31 |
+
<h2 class="vp-portfolio__item-meta-title">
|
32 |
+
<?php
|
33 |
+
visual_portfolio()->include_template( 'global/link-start', $link_data );
|
34 |
+
echo wp_kses_post( $args['title'] );
|
35 |
+
visual_portfolio()->include_template( 'global/link-end', $link_data );
|
36 |
+
?>
|
37 |
+
</h2>
|
templates/items-list/items-style/emerge/image.php
CHANGED
@@ -4,42 +4,31 @@
|
|
4 |
*
|
5 |
* @var $args
|
6 |
* @var $opts
|
|
|
7 |
* @package visual-portfolio
|
8 |
*/
|
9 |
|
|
|
|
|
10 |
if ( ! defined( 'ABSPATH' ) ) {
|
11 |
exit;
|
12 |
}
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
?>
|
15 |
|
16 |
<div class="vp-portfolio__item-img-wrap">
|
17 |
<div class="vp-portfolio__item-img">
|
18 |
-
<?php
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
<?php
|
23 |
-
if ( isset( $args['url_target'] ) && $args['url_target'] ) :
|
24 |
-
?>
|
25 |
-
target="<?php echo esc_attr( $args['url_target'] ); ?>"
|
26 |
-
<?php
|
27 |
-
endif;
|
28 |
-
if ( isset( $args['url_rel'] ) && $args['url_rel'] ) :
|
29 |
-
?>
|
30 |
-
rel="<?php echo esc_attr( $args['url_rel'] ); ?>"
|
31 |
-
<?php
|
32 |
-
endif;
|
33 |
-
?>
|
34 |
-
>
|
35 |
-
<?php echo wp_kses( $args['image'], $args['image_allowed_html'] ); ?>
|
36 |
|
37 |
-
|
38 |
-
</a>
|
39 |
-
<?php
|
40 |
-
} else {
|
41 |
-
echo wp_kses( $args['image'], $args['image_allowed_html'] );
|
42 |
-
}
|
43 |
-
?>
|
44 |
</div>
|
45 |
</div>
|
4 |
*
|
5 |
* @var $args
|
6 |
* @var $opts
|
7 |
+
*
|
8 |
* @package visual-portfolio
|
9 |
*/
|
10 |
|
11 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
12 |
+
|
13 |
if ( ! defined( 'ABSPATH' ) ) {
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
$link_data = array(
|
18 |
+
'href' => $args['url'],
|
19 |
+
'target' => $args['url_target'],
|
20 |
+
'rel' => $args['url_rel'],
|
21 |
+
);
|
22 |
+
|
23 |
?>
|
24 |
|
25 |
<div class="vp-portfolio__item-img-wrap">
|
26 |
<div class="vp-portfolio__item-img">
|
27 |
+
<?php visual_portfolio()->include_template( 'global/link-start', $link_data ); ?>
|
28 |
+
|
29 |
+
<?php echo wp_kses( $args['image'], $args['image_allowed_html'] ); ?>
|
30 |
+
<div class="vp-portfolio__item-img-overlay"></div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
|
32 |
+
<?php visual_portfolio()->include_template( 'global/link-утв', $link_data ); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
</div>
|
34 |
</div>
|
templates/items-list/items-style/emerge/meta.php
CHANGED
@@ -4,26 +4,33 @@
|
|
4 |
*
|
5 |
* @var $args
|
6 |
* @var $opts
|
|
|
7 |
* @package visual-portfolio
|
8 |
*/
|
9 |
|
|
|
|
|
10 |
if ( ! defined( 'ABSPATH' ) ) {
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
// phpcs:ignore
|
15 |
$inline_meta = $opts['show_author'] && $args['author'] ||
|
16 |
$opts['show_date'] ||
|
17 |
$opts['show_comments_count'] && '' !== $args['comments_count'] ||
|
18 |
$opts['show_views_count'] && $args['views_count'] ||
|
19 |
$opts['show_reading_time'] && $args['reading_time'];
|
20 |
|
21 |
-
// phpcs:ignore
|
22 |
$show_meta = $inline_meta ||
|
23 |
$opts['show_title'] && $args['title'] ||
|
24 |
$opts['show_excerpt'] && $args['excerpt'] ||
|
25 |
$opts['show_categories'] && $args['categories'] && ! empty( $args['categories'] );
|
26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
?>
|
28 |
|
29 |
<figcaption class="vp-portfolio__item-overlay vp-portfolio__item-align-<?php echo esc_attr( $opts['align'] ); ?>">
|
@@ -31,231 +38,17 @@ $show_meta = $inline_meta ||
|
|
31 |
<div class="vp-portfolio__item-meta-wrap vp-portfolio__custom-scrollbar">
|
32 |
<div class="vp-portfolio__item-meta">
|
33 |
<?php
|
|
|
|
|
34 |
|
35 |
-
//
|
36 |
-
|
37 |
-
?>
|
38 |
-
<div class="vp-portfolio__item-meta-categories">
|
39 |
-
<?php
|
40 |
-
// phpcs:ignore
|
41 |
-
$count = $opts['categories_count'];
|
42 |
-
|
43 |
-
// phpcs:ignore
|
44 |
-
foreach ( $args['categories'] as $category ) {
|
45 |
-
if ( ! $count ) {
|
46 |
-
break;
|
47 |
-
}
|
48 |
-
?>
|
49 |
-
<div class="vp-portfolio__item-meta-category">
|
50 |
-
<a href="<?php echo esc_url( $category['url'] ); ?>">
|
51 |
-
<?php echo esc_html( $category['label'] ); ?>
|
52 |
-
</a>
|
53 |
-
</div>
|
54 |
-
<?php
|
55 |
-
$count--;
|
56 |
-
}
|
57 |
-
?>
|
58 |
-
</div>
|
59 |
-
<?php
|
60 |
-
}
|
61 |
-
|
62 |
-
// Show Title.
|
63 |
-
if ( $opts['show_title'] && $args['title'] ) {
|
64 |
-
?>
|
65 |
-
<h2 class="vp-portfolio__item-meta-title">
|
66 |
-
<?php
|
67 |
-
if ( $args['url'] ) {
|
68 |
-
?>
|
69 |
-
<a href="<?php echo esc_url( $args['url'] ); ?>"
|
70 |
-
<?php
|
71 |
-
if ( isset( $args['url_target'] ) && $args['url_target'] ) :
|
72 |
-
?>
|
73 |
-
target="<?php echo esc_attr( $args['url_target'] ); ?>"
|
74 |
-
<?php
|
75 |
-
endif;
|
76 |
-
if ( isset( $args['url_rel'] ) && $args['url_rel'] ) :
|
77 |
-
?>
|
78 |
-
rel="<?php echo esc_attr( $args['url_rel'] ); ?>"
|
79 |
-
<?php
|
80 |
-
endif;
|
81 |
-
?>
|
82 |
-
>
|
83 |
-
<?php echo wp_kses_post( $args['title'] ); ?>
|
84 |
-
</a>
|
85 |
-
<?php
|
86 |
-
} else {
|
87 |
-
echo wp_kses_post( $args['title'] );
|
88 |
-
}
|
89 |
-
?>
|
90 |
-
</h2>
|
91 |
-
<?php
|
92 |
-
}
|
93 |
|
94 |
// Inline Meta.
|
95 |
-
|
96 |
-
?>
|
97 |
-
<div class="vp-portfolio__item-meta-inline">
|
98 |
-
<?php
|
99 |
-
|
100 |
-
// Show Author.
|
101 |
-
if ( $opts['show_author'] && $args['author'] ) {
|
102 |
-
?>
|
103 |
-
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-author">
|
104 |
-
<span class="vp-portfolio__item-meta-part-icon">
|
105 |
-
<span class="vp-screen-reader-text">
|
106 |
-
<?php echo esc_html__( 'Author', 'visual-portfolio' ); ?>
|
107 |
-
</span>
|
108 |
-
<?php
|
109 |
-
if ( $args['author_avatar'] ) {
|
110 |
-
if ( $args['author_url'] ) {
|
111 |
-
?>
|
112 |
-
<a href="<?php echo esc_url( $args['author_url'] ); ?>">
|
113 |
-
<?php
|
114 |
-
}
|
115 |
-
?>
|
116 |
-
<img src="<?php echo esc_url( $args['author_avatar'] ); ?>" alt="<?php echo esc_attr( $args['author'] ); ?>" width="50" height="50">
|
117 |
-
<?php
|
118 |
-
if ( $args['author_url'] ) {
|
119 |
-
?>
|
120 |
-
</a>
|
121 |
-
<?php
|
122 |
-
}
|
123 |
-
} else {
|
124 |
-
visual_portfolio()->include_template( 'icons/user' );
|
125 |
-
}
|
126 |
-
?>
|
127 |
-
</span>
|
128 |
-
<span class="vp-portfolio__item-meta-part-text">
|
129 |
-
<?php
|
130 |
-
printf(
|
131 |
-
// translators: %s - author name.
|
132 |
-
esc_html__( 'By %s', 'visual-portfolio' ),
|
133 |
-
$args['author_url'] ? '<a href="' . esc_url( $args['author_url'] ) . '">' . esc_html( $args['author'] ) . '</a>' : esc_html( $args['author'] )
|
134 |
-
);
|
135 |
-
?>
|
136 |
-
</span>
|
137 |
-
</div>
|
138 |
-
<?php
|
139 |
-
}
|
140 |
-
|
141 |
-
// Show Date.
|
142 |
-
if ( $opts['show_date'] ) {
|
143 |
-
?>
|
144 |
-
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-date">
|
145 |
-
<span class="vp-portfolio__item-meta-part-icon">
|
146 |
-
<span class="vp-screen-reader-text">
|
147 |
-
<?php echo esc_html__( 'Date', 'visual-portfolio' ); ?>
|
148 |
-
</span>
|
149 |
-
<?php visual_portfolio()->include_template( 'icons/calendar' ); ?>
|
150 |
-
</span>
|
151 |
-
<span class="vp-portfolio__item-meta-part-text">
|
152 |
-
<?php echo esc_html( $args['published'] ); ?>
|
153 |
-
</span>
|
154 |
-
</div>
|
155 |
-
<?php
|
156 |
-
}
|
157 |
-
|
158 |
-
// Show Comments Count.
|
159 |
-
if ( $opts['show_comments_count'] && '' !== $args['comments_count'] ) {
|
160 |
-
?>
|
161 |
-
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-comments">
|
162 |
-
<span class="vp-portfolio__item-meta-part-icon">
|
163 |
-
<span class="vp-screen-reader-text">
|
164 |
-
<?php echo esc_html__( 'Comments', 'visual-portfolio' ); ?>
|
165 |
-
</span>
|
166 |
-
<?php visual_portfolio()->include_template( 'icons/message' ); ?>
|
167 |
-
</span>
|
168 |
-
<span class="vp-portfolio__item-meta-part-text">
|
169 |
-
<?php
|
170 |
-
if ( $args['comments_url'] ) {
|
171 |
-
?>
|
172 |
-
<a href="<?php echo esc_url( $args['comments_url'] ); ?>">
|
173 |
-
<?php
|
174 |
-
}
|
175 |
-
|
176 |
-
if ( ! $args['comments_count'] ) {
|
177 |
-
echo esc_html__( 'No Comments', 'visual-portfolio' );
|
178 |
-
} else {
|
179 |
-
// translators: %s Number of comments.
|
180 |
-
echo esc_html( sprintf( _n( '%s Comment', '%s Comments', $args['comments_count'], 'visual-portfolio' ), number_format_i18n( (int) $args['comments_count'] ) ) );
|
181 |
-
}
|
182 |
-
|
183 |
-
if ( $args['comments_url'] ) {
|
184 |
-
?>
|
185 |
-
</a>
|
186 |
-
<?php
|
187 |
-
}
|
188 |
-
?>
|
189 |
-
</span>
|
190 |
-
</div>
|
191 |
-
<?php
|
192 |
-
}
|
193 |
-
|
194 |
-
// Show Views Count.
|
195 |
-
if ( $opts['show_views_count'] && $args['views_count'] ) {
|
196 |
-
?>
|
197 |
-
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-views">
|
198 |
-
<span class="vp-portfolio__item-meta-part-icon">
|
199 |
-
<span class="vp-screen-reader-text">
|
200 |
-
<?php echo esc_html__( 'Views', 'visual-portfolio' ); ?>
|
201 |
-
</span>
|
202 |
-
<?php visual_portfolio()->include_template( 'icons/eye' ); ?>
|
203 |
-
</span>
|
204 |
-
<span class="vp-portfolio__item-meta-part-text">
|
205 |
-
<?php
|
206 |
-
// translators: %s Number of views.
|
207 |
-
echo esc_html( sprintf( _n( '%s View', '%s Views', $args['views_count'], 'visual-portfolio' ), number_format_i18n( (int) $args['views_count'] ) ) );
|
208 |
-
?>
|
209 |
-
</span>
|
210 |
-
</div>
|
211 |
-
<?php
|
212 |
-
}
|
213 |
-
|
214 |
-
// Show Reading Time.
|
215 |
-
if ( $opts['show_reading_time'] && $args['reading_time'] ) {
|
216 |
-
?>
|
217 |
-
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-reading-rime">
|
218 |
-
<span class="vp-portfolio__item-meta-part-icon">
|
219 |
-
<span class="vp-screen-reader-text">
|
220 |
-
<?php echo esc_html__( 'Reading Time', 'visual-portfolio' ); ?>
|
221 |
-
</span>
|
222 |
-
<?php visual_portfolio()->include_template( 'icons/book' ); ?>
|
223 |
-
</span>
|
224 |
-
<span class="vp-portfolio__item-meta-part-text">
|
225 |
-
<?php
|
226 |
-
echo esc_html(
|
227 |
-
sprintf(
|
228 |
-
// translators: %s Reading time minutes.
|
229 |
-
_n(
|
230 |
-
'%s Min Read',
|
231 |
-
'%s Mins Read',
|
232 |
-
is_string( $args['reading_time'] ) ? 1 : $args['reading_time'],
|
233 |
-
'visual-portfolio'
|
234 |
-
),
|
235 |
-
is_string( $args['reading_time'] ) ? $args['reading_time'] : number_format_i18n( (int) $args['reading_time'] )
|
236 |
-
)
|
237 |
-
);
|
238 |
-
?>
|
239 |
-
</span>
|
240 |
-
</div>
|
241 |
-
<?php
|
242 |
-
}
|
243 |
-
|
244 |
-
?>
|
245 |
-
</div>
|
246 |
-
<?php
|
247 |
-
}
|
248 |
|
249 |
-
//
|
250 |
-
|
251 |
-
?>
|
252 |
-
<div class="vp-portfolio__item-meta-excerpt">
|
253 |
-
<div>
|
254 |
-
<?php echo wp_kses_post( $args['excerpt'] ); ?>
|
255 |
-
</div>
|
256 |
-
</div>
|
257 |
-
<?php
|
258 |
-
}
|
259 |
?>
|
260 |
</div>
|
261 |
</div>
|
4 |
*
|
5 |
* @var $args
|
6 |
* @var $opts
|
7 |
+
*
|
8 |
* @package visual-portfolio
|
9 |
*/
|
10 |
|
11 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
12 |
+
|
13 |
if ( ! defined( 'ABSPATH' ) ) {
|
14 |
exit;
|
15 |
}
|
16 |
|
|
|
17 |
$inline_meta = $opts['show_author'] && $args['author'] ||
|
18 |
$opts['show_date'] ||
|
19 |
$opts['show_comments_count'] && '' !== $args['comments_count'] ||
|
20 |
$opts['show_views_count'] && $args['views_count'] ||
|
21 |
$opts['show_reading_time'] && $args['reading_time'];
|
22 |
|
|
|
23 |
$show_meta = $inline_meta ||
|
24 |
$opts['show_title'] && $args['title'] ||
|
25 |
$opts['show_excerpt'] && $args['excerpt'] ||
|
26 |
$opts['show_categories'] && $args['categories'] && ! empty( $args['categories'] );
|
27 |
|
28 |
+
$templates_data = array(
|
29 |
+
'args' => $args,
|
30 |
+
'opts' => $opts,
|
31 |
+
'allow_links' => true,
|
32 |
+
);
|
33 |
+
|
34 |
?>
|
35 |
|
36 |
<figcaption class="vp-portfolio__item-overlay vp-portfolio__item-align-<?php echo esc_attr( $opts['align'] ); ?>">
|
38 |
<div class="vp-portfolio__item-meta-wrap vp-portfolio__custom-scrollbar">
|
39 |
<div class="vp-portfolio__item-meta">
|
40 |
<?php
|
41 |
+
// Categories.
|
42 |
+
visual_portfolio()->include_template( 'items-list/item-parts/meta-categories', $templates_data );
|
43 |
|
44 |
+
// Title.
|
45 |
+
visual_portfolio()->include_template( 'items-list/item-parts/title', $templates_data );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
|
47 |
// Inline Meta.
|
48 |
+
visual_portfolio()->include_template( 'items-list/item-parts/inline-meta', $templates_data );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
|
50 |
+
// Excerpt.
|
51 |
+
visual_portfolio()->include_template( 'items-list/item-parts/excerpt', $templates_data );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
?>
|
53 |
</div>
|
54 |
</div>
|
templates/items-list/items-style/fade/image.php
CHANGED
@@ -4,40 +4,30 @@
|
|
4 |
*
|
5 |
* @var $args
|
6 |
* @var $opts
|
|
|
7 |
* @package visual-portfolio
|
8 |
*/
|
9 |
|
|
|
|
|
10 |
if ( ! defined( 'ABSPATH' ) ) {
|
11 |
exit;
|
12 |
}
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
?>
|
15 |
|
16 |
<div class="vp-portfolio__item-img-wrap">
|
17 |
<div class="vp-portfolio__item-img">
|
18 |
-
<?php
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
if ( isset( $args['url_target'] ) && $args['url_target'] ) :
|
24 |
-
?>
|
25 |
-
target="<?php echo esc_attr( $args['url_target'] ); ?>"
|
26 |
-
<?php
|
27 |
-
endif;
|
28 |
-
if ( isset( $args['url_rel'] ) && $args['url_rel'] ) :
|
29 |
-
?>
|
30 |
-
rel="<?php echo esc_attr( $args['url_rel'] ); ?>"
|
31 |
-
<?php
|
32 |
-
endif;
|
33 |
-
?>
|
34 |
-
>
|
35 |
-
<?php echo wp_kses( $args['image'], $args['image_allowed_html'] ); ?>
|
36 |
-
</a>
|
37 |
-
<?php
|
38 |
-
} else {
|
39 |
-
echo wp_kses( $args['image'], $args['image_allowed_html'] );
|
40 |
-
}
|
41 |
-
?>
|
42 |
</div>
|
43 |
</div>
|
4 |
*
|
5 |
* @var $args
|
6 |
* @var $opts
|
7 |
+
*
|
8 |
* @package visual-portfolio
|
9 |
*/
|
10 |
|
11 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
12 |
+
|
13 |
if ( ! defined( 'ABSPATH' ) ) {
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
$link_data = array(
|
18 |
+
'href' => $args['url'],
|
19 |
+
'target' => $args['url_target'],
|
20 |
+
'rel' => $args['url_rel'],
|
21 |
+
);
|
22 |
+
|
23 |
?>
|
24 |
|
25 |
<div class="vp-portfolio__item-img-wrap">
|
26 |
<div class="vp-portfolio__item-img">
|
27 |
+
<?php visual_portfolio()->include_template( 'global/link-start', $link_data ); ?>
|
28 |
+
|
29 |
+
<?php echo wp_kses( $args['image'], $args['image_allowed_html'] ); ?>
|
30 |
+
|
31 |
+
<?php visual_portfolio()->include_template( 'global/link-end', $link_data ); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
</div>
|
33 |
</div>
|
templates/items-list/items-style/fade/meta.php
CHANGED
@@ -4,291 +4,68 @@
|
|
4 |
*
|
5 |
* @var $args
|
6 |
* @var $opts
|
|
|
7 |
* @package visual-portfolio
|
8 |
*/
|
9 |
|
|
|
|
|
10 |
if ( ! defined( 'ABSPATH' ) ) {
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
// phpcs:ignore
|
15 |
-
$tag = 'a';
|
16 |
-
if ( ! $args['url'] ) {
|
17 |
-
// phpcs:ignore
|
18 |
-
$tag = 'span';
|
19 |
-
}
|
20 |
-
|
21 |
-
// phpcs:ignore
|
22 |
$inline_meta = $opts['show_author'] && $args['author'] ||
|
23 |
$opts['show_date'] ||
|
24 |
$opts['show_comments_count'] && '' !== $args['comments_count'] ||
|
25 |
$opts['show_views_count'] && $args['views_count'] ||
|
26 |
$opts['show_reading_time'] && $args['reading_time'];
|
27 |
|
28 |
-
// phpcs:ignore
|
29 |
$show_meta = $inline_meta ||
|
30 |
$opts['show_icon'] ||
|
31 |
$opts['show_title'] && $args['title'] ||
|
32 |
$opts['show_excerpt'] && $args['excerpt'] ||
|
33 |
$opts['show_categories'] && $args['categories'] && ! empty( $args['categories'] );
|
34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
?>
|
36 |
|
37 |
<figcaption class="vp-portfolio__item-overlay vp-portfolio__item-align-<?php echo esc_attr( $opts['align'] ); ?>">
|
38 |
<div class="vp-portfolio__item-meta-wrap vp-portfolio__custom-scrollbar">
|
39 |
-
|
40 |
-
<?php if ( $args['url'] ) : ?>
|
41 |
-
href="<?php echo esc_url( $args['url'] ); ?>"
|
42 |
-
<?php
|
43 |
-
if ( isset( $args['url_target'] ) && $args['url_target'] ) :
|
44 |
-
?>
|
45 |
-
target="<?php echo esc_attr( $args['url_target'] ); ?>"
|
46 |
-
<?php
|
47 |
-
endif;
|
48 |
-
if ( isset( $args['url_rel'] ) && $args['url_rel'] ) :
|
49 |
-
?>
|
50 |
-
rel="<?php echo esc_attr( $args['url_rel'] ); ?>"
|
51 |
-
<?php
|
52 |
-
endif;
|
53 |
-
?>
|
54 |
-
tabindex="-1"
|
55 |
-
<?php endif; ?>
|
56 |
-
class="vp-portfolio__item-meta">
|
57 |
-
|
58 |
-
<?php if ( $show_meta ) : ?>
|
59 |
-
<?php
|
60 |
-
|
61 |
-
// Show Icon.
|
62 |
-
if ( $opts['show_icon'] ) {
|
63 |
-
?>
|
64 |
-
<div class="vp-portfolio__item-meta-icon">
|
65 |
-
<?php
|
66 |
-
switch ( $args['format'] ) {
|
67 |
-
case 'video':
|
68 |
-
visual_portfolio()->include_template( 'icons/play' );
|
69 |
-
break;
|
70 |
-
case 'audio':
|
71 |
-
visual_portfolio()->include_template( 'icons/music' );
|
72 |
-
break;
|
73 |
-
case 'gallery':
|
74 |
-
visual_portfolio()->include_template( 'icons/gallery' );
|
75 |
-
break;
|
76 |
-
default:
|
77 |
-
if ( isset( $args['vp_opts']['items_click_action'] ) && 'popup_gallery' === $args['vp_opts']['items_click_action'] ) {
|
78 |
-
visual_portfolio()->include_template( 'icons/search' );
|
79 |
-
} else {
|
80 |
-
visual_portfolio()->include_template( 'icons/image' );
|
81 |
-
}
|
82 |
-
break;
|
83 |
-
}
|
84 |
-
?>
|
85 |
-
</div>
|
86 |
-
<?php
|
87 |
-
}
|
88 |
-
|
89 |
-
// Show Categories.
|
90 |
-
if ( $opts['show_categories'] && $args['categories'] && ! empty( $args['categories'] ) ) {
|
91 |
-
?>
|
92 |
-
<div class="vp-portfolio__item-meta-categories">
|
93 |
-
<?php
|
94 |
-
// phpcs:ignore
|
95 |
-
$count = $opts['categories_count'];
|
96 |
-
|
97 |
-
// phpcs:ignore
|
98 |
-
foreach ( $args['categories'] as $category ) {
|
99 |
-
if ( ! $count ) {
|
100 |
-
break;
|
101 |
-
}
|
102 |
-
?>
|
103 |
-
<div class="vp-portfolio__item-meta-category">
|
104 |
-
<span><?php echo esc_html( $category['label'] ); ?></span>
|
105 |
-
</div>
|
106 |
-
<?php
|
107 |
-
$count--;
|
108 |
-
}
|
109 |
-
?>
|
110 |
-
</div>
|
111 |
-
<?php
|
112 |
-
}
|
113 |
-
|
114 |
-
// Show Title.
|
115 |
-
if ( $opts['show_title'] && $args['title'] ) {
|
116 |
-
?>
|
117 |
-
<h2 class="vp-portfolio__item-meta-title">
|
118 |
-
<?php
|
119 |
-
echo wp_kses_post( $args['title'] );
|
120 |
-
?>
|
121 |
-
</h2>
|
122 |
-
<?php
|
123 |
-
}
|
124 |
-
|
125 |
-
// Inline Meta.
|
126 |
-
if ( $inline_meta ) {
|
127 |
-
?>
|
128 |
-
<div class="vp-portfolio__item-meta-inline">
|
129 |
-
<?php
|
130 |
-
|
131 |
-
// Show Author.
|
132 |
-
if ( $opts['show_author'] && $args['author'] ) {
|
133 |
-
?>
|
134 |
-
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-author">
|
135 |
-
<span class="vp-portfolio__item-meta-part-icon">
|
136 |
-
<span class="vp-screen-reader-text">
|
137 |
-
<?php echo esc_html__( 'Author', 'visual-portfolio' ); ?>
|
138 |
-
</span>
|
139 |
-
<?php
|
140 |
-
if ( $args['author_avatar'] ) {
|
141 |
-
if ( $args['author_url'] && 'a' !== $tag ) {
|
142 |
-
?>
|
143 |
-
<a href="<?php echo esc_url( $args['author_url'] ); ?>">
|
144 |
-
<?php
|
145 |
-
}
|
146 |
-
?>
|
147 |
-
<img src="<?php echo esc_url( $args['author_avatar'] ); ?>" alt="<?php echo esc_attr( $args['author'] ); ?>" width="50" height="50">
|
148 |
-
<?php
|
149 |
-
if ( $args['author_url'] && 'a' !== $tag ) {
|
150 |
-
?>
|
151 |
-
</a>
|
152 |
-
<?php
|
153 |
-
}
|
154 |
-
} else {
|
155 |
-
visual_portfolio()->include_template( 'icons/user' );
|
156 |
-
}
|
157 |
-
?>
|
158 |
-
</span>
|
159 |
-
<span class="vp-portfolio__item-meta-part-text">
|
160 |
-
<?php
|
161 |
-
printf(
|
162 |
-
// translators: %s - author name.
|
163 |
-
esc_html__( 'By %s', 'visual-portfolio' ),
|
164 |
-
$args['author_url'] && 'a' !== $tag ? '<a href="' . esc_url( $args['author_url'] ) . '">' . esc_html( $args['author'] ) . '</a>' : esc_html( $args['author'] )
|
165 |
-
);
|
166 |
-
?>
|
167 |
-
</span>
|
168 |
-
</div>
|
169 |
-
<?php
|
170 |
-
}
|
171 |
-
|
172 |
-
// Show Date.
|
173 |
-
if ( $opts['show_date'] ) {
|
174 |
-
?>
|
175 |
-
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-date">
|
176 |
-
<span class="vp-portfolio__item-meta-part-icon">
|
177 |
-
<span class="vp-screen-reader-text">
|
178 |
-
<?php echo esc_html__( 'Date', 'visual-portfolio' ); ?>
|
179 |
-
</span>
|
180 |
-
<?php visual_portfolio()->include_template( 'icons/calendar' ); ?>
|
181 |
-
</span>
|
182 |
-
<span class="vp-portfolio__item-meta-part-text">
|
183 |
-
<?php echo esc_html( $args['published'] ); ?>
|
184 |
-
</span>
|
185 |
-
</div>
|
186 |
-
<?php
|
187 |
-
}
|
188 |
-
|
189 |
-
// Show Comments Count.
|
190 |
-
if ( $opts['show_comments_count'] && '' !== $args['comments_count'] ) {
|
191 |
-
?>
|
192 |
-
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-comments">
|
193 |
-
<span class="vp-portfolio__item-meta-part-icon">
|
194 |
-
<span class="vp-screen-reader-text">
|
195 |
-
<?php echo esc_html__( 'Comments', 'visual-portfolio' ); ?>
|
196 |
-
</span>
|
197 |
-
<?php visual_portfolio()->include_template( 'icons/message' ); ?>
|
198 |
-
</span>
|
199 |
-
<span class="vp-portfolio__item-meta-part-text">
|
200 |
-
<?php
|
201 |
-
if ( $args['comments_url'] && 'a' !== $tag ) {
|
202 |
-
?>
|
203 |
-
<a href="<?php echo esc_url( $args['comments_url'] ); ?>">
|
204 |
-
<?php
|
205 |
-
}
|
206 |
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
echo esc_html( sprintf( _n( '%s Comment', '%s Comments', $args['comments_count'], 'visual-portfolio' ), number_format_i18n( (int) $args['comments_count'] ) ) );
|
212 |
-
}
|
213 |
|
214 |
-
|
215 |
-
|
216 |
-
</a>
|
217 |
-
<?php
|
218 |
-
}
|
219 |
-
?>
|
220 |
-
</span>
|
221 |
-
</div>
|
222 |
-
<?php
|
223 |
-
}
|
224 |
|
225 |
-
|
226 |
-
|
227 |
-
?>
|
228 |
-
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-views">
|
229 |
-
<span class="vp-portfolio__item-meta-part-icon">
|
230 |
-
<span class="vp-screen-reader-text">
|
231 |
-
<?php echo esc_html__( 'Views', 'visual-portfolio' ); ?>
|
232 |
-
</span>
|
233 |
-
<?php visual_portfolio()->include_template( 'icons/eye' ); ?>
|
234 |
-
</span>
|
235 |
-
<span class="vp-portfolio__item-meta-part-text">
|
236 |
-
<?php
|
237 |
-
// translators: %s Number of views.
|
238 |
-
echo esc_html( sprintf( _n( '%s View', '%s Views', $args['views_count'], 'visual-portfolio' ), number_format_i18n( (int) $args['views_count'] ) ) );
|
239 |
-
?>
|
240 |
-
</span>
|
241 |
-
</div>
|
242 |
-
<?php
|
243 |
-
}
|
244 |
|
245 |
-
|
246 |
-
|
247 |
-
?>
|
248 |
-
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-reading-rime">
|
249 |
-
<span class="vp-portfolio__item-meta-part-icon">
|
250 |
-
<span class="vp-screen-reader-text">
|
251 |
-
<?php echo esc_html__( 'Reading Time', 'visual-portfolio' ); ?>
|
252 |
-
</span>
|
253 |
-
<?php visual_portfolio()->include_template( 'icons/book' ); ?>
|
254 |
-
</span>
|
255 |
-
<span class="vp-portfolio__item-meta-part-text">
|
256 |
-
<?php
|
257 |
-
echo esc_html(
|
258 |
-
sprintf(
|
259 |
-
// translators: %s Reading time minutes.
|
260 |
-
_n(
|
261 |
-
'%s Min Read',
|
262 |
-
'%s Mins Read',
|
263 |
-
is_string( $args['reading_time'] ) ? 1 : $args['reading_time'],
|
264 |
-
'visual-portfolio'
|
265 |
-
),
|
266 |
-
is_string( $args['reading_time'] ) ? $args['reading_time'] : number_format_i18n( (int) $args['reading_time'] )
|
267 |
-
)
|
268 |
-
);
|
269 |
-
?>
|
270 |
-
</span>
|
271 |
-
</div>
|
272 |
-
<?php
|
273 |
-
}
|
274 |
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
|
280 |
-
|
281 |
-
if ( $opts['show_excerpt'] && $args['excerpt'] ) {
|
282 |
-
?>
|
283 |
-
<div class="vp-portfolio__item-meta-excerpt">
|
284 |
-
<div>
|
285 |
-
<?php echo wp_kses_post( $args['excerpt'] ); ?>
|
286 |
-
</div>
|
287 |
-
</div>
|
288 |
-
<?php
|
289 |
-
}
|
290 |
-
?>
|
291 |
-
<?php endif; ?>
|
292 |
-
</<?php echo esc_html( $tag ); ?>>
|
293 |
</div>
|
294 |
</figcaption>
|
4 |
*
|
5 |
* @var $args
|
6 |
* @var $opts
|
7 |
+
*
|
8 |
* @package visual-portfolio
|
9 |
*/
|
10 |
|
11 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
12 |
+
|
13 |
if ( ! defined( 'ABSPATH' ) ) {
|
14 |
exit;
|
15 |
}
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
$inline_meta = $opts['show_author'] && $args['author'] ||
|
18 |
$opts['show_date'] ||
|
19 |
$opts['show_comments_count'] && '' !== $args['comments_count'] ||
|
20 |
$opts['show_views_count'] && $args['views_count'] ||
|
21 |
$opts['show_reading_time'] && $args['reading_time'];
|
22 |
|
|
|
23 |
$show_meta = $inline_meta ||
|
24 |
$opts['show_icon'] ||
|
25 |
$opts['show_title'] && $args['title'] ||
|
26 |
$opts['show_excerpt'] && $args['excerpt'] ||
|
27 |
$opts['show_categories'] && $args['categories'] && ! empty( $args['categories'] );
|
28 |
|
29 |
+
$templates_data = array(
|
30 |
+
'args' => $args,
|
31 |
+
'opts' => $opts,
|
32 |
+
'allow_links' => ! $args['url'],
|
33 |
+
);
|
34 |
+
|
35 |
+
$link_data = array(
|
36 |
+
'href' => $args['url'],
|
37 |
+
'target' => $args['url_target'],
|
38 |
+
'rel' => $args['url_rel'],
|
39 |
+
'fallback' => 'span',
|
40 |
+
'class' => 'vp-portfolio__item-meta',
|
41 |
+
'tabindex' => '-1',
|
42 |
+
);
|
43 |
+
|
44 |
?>
|
45 |
|
46 |
<figcaption class="vp-portfolio__item-overlay vp-portfolio__item-align-<?php echo esc_attr( $opts['align'] ); ?>">
|
47 |
<div class="vp-portfolio__item-meta-wrap vp-portfolio__custom-scrollbar">
|
48 |
+
<?php visual_portfolio()->include_template( 'global/link-start', $link_data ); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
|
50 |
+
<?php
|
51 |
+
if ( $show_meta ) {
|
52 |
+
// Icon.
|
53 |
+
visual_portfolio()->include_template( 'items-list/item-parts/icon', $templates_data );
|
|
|
|
|
54 |
|
55 |
+
// Categories.
|
56 |
+
visual_portfolio()->include_template( 'items-list/item-parts/meta-categories', $templates_data );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
|
58 |
+
// Title.
|
59 |
+
visual_portfolio()->include_template( 'items-list/item-parts/title', $templates_data );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
|
61 |
+
// Inline Meta.
|
62 |
+
visual_portfolio()->include_template( 'items-list/item-parts/inline-meta', $templates_data );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
|
64 |
+
// Excerpt.
|
65 |
+
visual_portfolio()->include_template( 'items-list/item-parts/excerpt', $templates_data );
|
66 |
+
}
|
67 |
+
?>
|
68 |
|
69 |
+
<?php visual_portfolio()->include_template( 'global/link-end', $link_data ); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
</div>
|
71 |
</figcaption>
|
templates/items-list/items-style/fly/image.php
CHANGED
@@ -4,40 +4,30 @@
|
|
4 |
*
|
5 |
* @var $args
|
6 |
* @var $opts
|
|
|
7 |
* @package visual-portfolio
|
8 |
*/
|
9 |
|
|
|
|
|
10 |
if ( ! defined( 'ABSPATH' ) ) {
|
11 |
exit;
|
12 |
}
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
?>
|
15 |
|
16 |
<div class="vp-portfolio__item-img-wrap">
|
17 |
<div class="vp-portfolio__item-img">
|
18 |
-
<?php
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
if ( isset( $args['url_target'] ) && $args['url_target'] ) :
|
24 |
-
?>
|
25 |
-
target="<?php echo esc_attr( $args['url_target'] ); ?>"
|
26 |
-
<?php
|
27 |
-
endif;
|
28 |
-
if ( isset( $args['url_rel'] ) && $args['url_rel'] ) :
|
29 |
-
?>
|
30 |
-
rel="<?php echo esc_attr( $args['url_rel'] ); ?>"
|
31 |
-
<?php
|
32 |
-
endif;
|
33 |
-
?>
|
34 |
-
>
|
35 |
-
<?php echo wp_kses( $args['image'], $args['image_allowed_html'] ); ?>
|
36 |
-
</a>
|
37 |
-
<?php
|
38 |
-
} else {
|
39 |
-
echo wp_kses( $args['image'], $args['image_allowed_html'] );
|
40 |
-
}
|
41 |
-
?>
|
42 |
</div>
|
43 |
</div>
|
4 |
*
|
5 |
* @var $args
|
6 |
* @var $opts
|
7 |
+
*
|
8 |
* @package visual-portfolio
|
9 |
*/
|
10 |
|
11 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
12 |
+
|
13 |
if ( ! defined( 'ABSPATH' ) ) {
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
$link_data = array(
|
18 |
+
'href' => $args['url'],
|
19 |
+
'target' => $args['url_target'],
|
20 |
+
'rel' => $args['url_rel'],
|
21 |
+
);
|
22 |
+
|
23 |
?>
|
24 |
|
25 |
<div class="vp-portfolio__item-img-wrap">
|
26 |
<div class="vp-portfolio__item-img">
|
27 |
+
<?php visual_portfolio()->include_template( 'global/link-start', $link_data ); ?>
|
28 |
+
|
29 |
+
<?php echo wp_kses( $args['image'], $args['image_allowed_html'] ); ?>
|
30 |
+
|
31 |
+
<?php visual_portfolio()->include_template( 'global/link-end', $link_data ); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
</div>
|
33 |
</div>
|
templates/items-list/items-style/fly/meta.php
CHANGED
@@ -4,290 +4,68 @@
|
|
4 |
*
|
5 |
* @var $args
|
6 |
* @var $opts
|
|
|
7 |
* @package visual-portfolio
|
8 |
*/
|
9 |
|
|
|
|
|
10 |
if ( ! defined( 'ABSPATH' ) ) {
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
// phpcs:ignore
|
15 |
-
$tag = 'a';
|
16 |
-
if ( ! $args['url'] ) {
|
17 |
-
// phpcs:ignore
|
18 |
-
$tag = 'span';
|
19 |
-
}
|
20 |
-
|
21 |
-
// phpcs:ignore
|
22 |
$inline_meta = $opts['show_author'] && $args['author'] ||
|
23 |
$opts['show_date'] ||
|
24 |
$opts['show_comments_count'] && '' !== $args['comments_count'] ||
|
25 |
$opts['show_views_count'] && $args['views_count'] ||
|
26 |
$opts['show_reading_time'] && $args['reading_time'];
|
27 |
|
28 |
-
// phpcs:ignore
|
29 |
$show_meta = $inline_meta ||
|
30 |
$opts['show_icon'] ||
|
31 |
$opts['show_title'] && $args['title'] ||
|
32 |
$opts['show_excerpt'] && $args['excerpt'] ||
|
33 |
$opts['show_categories'] && $args['categories'] && ! empty( $args['categories'] );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
?>
|
35 |
|
36 |
<figcaption class="vp-portfolio__item-overlay vp-portfolio__item-align-<?php echo esc_attr( $opts['align'] ); ?>">
|
37 |
<div class="vp-portfolio__item-meta-wrap vp-portfolio__custom-scrollbar">
|
38 |
-
|
39 |
-
<?php if ( $args['url'] ) : ?>
|
40 |
-
href="<?php echo esc_url( $args['url'] ); ?>"
|
41 |
-
<?php
|
42 |
-
if ( isset( $args['url_target'] ) && $args['url_target'] ) :
|
43 |
-
?>
|
44 |
-
target="<?php echo esc_attr( $args['url_target'] ); ?>"
|
45 |
-
<?php
|
46 |
-
endif;
|
47 |
-
if ( isset( $args['url_rel'] ) && $args['url_rel'] ) :
|
48 |
-
?>
|
49 |
-
rel="<?php echo esc_attr( $args['url_rel'] ); ?>"
|
50 |
-
<?php
|
51 |
-
endif;
|
52 |
-
?>
|
53 |
-
tabindex="-1"
|
54 |
-
<?php endif; ?>
|
55 |
-
class="vp-portfolio__item-meta">
|
56 |
-
|
57 |
-
<?php if ( $show_meta ) : ?>
|
58 |
-
<?php
|
59 |
-
|
60 |
-
// Show Icon.
|
61 |
-
if ( $opts['show_icon'] ) {
|
62 |
-
?>
|
63 |
-
<div class="vp-portfolio__item-meta-icon">
|
64 |
-
<?php
|
65 |
-
switch ( $args['format'] ) {
|
66 |
-
case 'video':
|
67 |
-
visual_portfolio()->include_template( 'icons/play' );
|
68 |
-
break;
|
69 |
-
case 'audio':
|
70 |
-
visual_portfolio()->include_template( 'icons/music' );
|
71 |
-
break;
|
72 |
-
case 'gallery':
|
73 |
-
visual_portfolio()->include_template( 'icons/gallery' );
|
74 |
-
break;
|
75 |
-
default:
|
76 |
-
if ( isset( $args['vp_opts']['items_click_action'] ) && 'popup_gallery' === $args['vp_opts']['items_click_action'] ) {
|
77 |
-
visual_portfolio()->include_template( 'icons/search' );
|
78 |
-
} else {
|
79 |
-
visual_portfolio()->include_template( 'icons/image' );
|
80 |
-
}
|
81 |
-
break;
|
82 |
-
}
|
83 |
-
?>
|
84 |
-
</div>
|
85 |
-
<?php
|
86 |
-
}
|
87 |
-
|
88 |
-
// Show Categories.
|
89 |
-
if ( $opts['show_categories'] && $args['categories'] && ! empty( $args['categories'] ) ) {
|
90 |
-
?>
|
91 |
-
<div class="vp-portfolio__item-meta-categories">
|
92 |
-
<?php
|
93 |
-
// phpcs:ignore
|
94 |
-
$count = $opts['categories_count'];
|
95 |
-
|
96 |
-
// phpcs:ignore
|
97 |
-
foreach ( $args['categories'] as $category ) {
|
98 |
-
if ( ! $count ) {
|
99 |
-
break;
|
100 |
-
}
|
101 |
-
?>
|
102 |
-
<div class="vp-portfolio__item-meta-category">
|
103 |
-
<span><?php echo esc_html( $category['label'] ); ?></span>
|
104 |
-
</div>
|
105 |
-
<?php
|
106 |
-
$count--;
|
107 |
-
}
|
108 |
-
?>
|
109 |
-
</div>
|
110 |
-
<?php
|
111 |
-
}
|
112 |
-
|
113 |
-
// Show Title.
|
114 |
-
if ( $opts['show_title'] && $args['title'] ) {
|
115 |
-
?>
|
116 |
-
<h2 class="vp-portfolio__item-meta-title">
|
117 |
-
<?php
|
118 |
-
echo wp_kses_post( $args['title'] );
|
119 |
-
?>
|
120 |
-
</h2>
|
121 |
-
<?php
|
122 |
-
}
|
123 |
-
|
124 |
-
// Inline Meta.
|
125 |
-
if ( $inline_meta ) {
|
126 |
-
?>
|
127 |
-
<div class="vp-portfolio__item-meta-inline">
|
128 |
-
<?php
|
129 |
-
|
130 |
-
// Show Author.
|
131 |
-
if ( $opts['show_author'] && $args['author'] ) {
|
132 |
-
?>
|
133 |
-
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-author">
|
134 |
-
<span class="vp-portfolio__item-meta-part-icon">
|
135 |
-
<span class="vp-screen-reader-text">
|
136 |
-
<?php echo esc_html__( 'Author', 'visual-portfolio' ); ?>
|
137 |
-
</span>
|
138 |
-
<?php
|
139 |
-
if ( $args['author_avatar'] ) {
|
140 |
-
if ( $args['author_url'] && 'a' !== $tag ) {
|
141 |
-
?>
|
142 |
-
<a href="<?php echo esc_url( $args['author_url'] ); ?>">
|
143 |
-
<?php
|
144 |
-
}
|
145 |
-
?>
|
146 |
-
<img src="<?php echo esc_url( $args['author_avatar'] ); ?>" alt="<?php echo esc_attr( $args['author'] ); ?>" width="50" height="50">
|
147 |
-
<?php
|
148 |
-
if ( $args['author_url'] && 'a' !== $tag ) {
|
149 |
-
?>
|
150 |
-
</a>
|
151 |
-
<?php
|
152 |
-
}
|
153 |
-
} else {
|
154 |
-
visual_portfolio()->include_template( 'icons/user' );
|
155 |
-
}
|
156 |
-
?>
|
157 |
-
</span>
|
158 |
-
<span class="vp-portfolio__item-meta-part-text">
|
159 |
-
<?php
|
160 |
-
printf(
|
161 |
-
// translators: %s - author name.
|
162 |
-
esc_html__( 'By %s', 'visual-portfolio' ),
|
163 |
-
$args['author_url'] && 'a' !== $tag ? '<a href="' . esc_url( $args['author_url'] ) . '">' . esc_html( $args['author'] ) . '</a>' : esc_html( $args['author'] )
|
164 |
-
);
|
165 |
-
?>
|
166 |
-
</span>
|
167 |
-
</div>
|
168 |
-
<?php
|
169 |
-
}
|
170 |
-
|
171 |
-
// Show Date.
|
172 |
-
if ( $opts['show_date'] ) {
|
173 |
-
?>
|
174 |
-
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-date">
|
175 |
-
<span class="vp-portfolio__item-meta-part-icon">
|
176 |
-
<span class="vp-screen-reader-text">
|
177 |
-
<?php echo esc_html__( 'Date', 'visual-portfolio' ); ?>
|
178 |
-
</span>
|
179 |
-
<?php visual_portfolio()->include_template( 'icons/calendar' ); ?>
|
180 |
-
</span>
|
181 |
-
<span class="vp-portfolio__item-meta-part-text">
|
182 |
-
<?php echo esc_html( $args['published'] ); ?>
|
183 |
-
</span>
|
184 |
-
</div>
|
185 |
-
<?php
|
186 |
-
}
|
187 |
-
|
188 |
-
// Show Comments Count.
|
189 |
-
if ( $opts['show_comments_count'] && '' !== $args['comments_count'] ) {
|
190 |
-
?>
|
191 |
-
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-comments">
|
192 |
-
<span class="vp-portfolio__item-meta-part-icon">
|
193 |
-
<span class="vp-screen-reader-text">
|
194 |
-
<?php echo esc_html__( 'Comments', 'visual-portfolio' ); ?>
|
195 |
-
</span>
|
196 |
-
<?php visual_portfolio()->include_template( 'icons/message' ); ?>
|
197 |
-
</span>
|
198 |
-
<span class="vp-portfolio__item-meta-part-text">
|
199 |
-
<?php
|
200 |
-
if ( $args['comments_url'] && 'a' !== $tag ) {
|
201 |
-
?>
|
202 |
-
<a href="<?php echo esc_url( $args['comments_url'] ); ?>">
|
203 |
-
<?php
|
204 |
-
}
|
205 |
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
echo esc_html( sprintf( _n( '%s Comment', '%s Comments', $args['comments_count'], 'visual-portfolio' ), number_format_i18n( (int) $args['comments_count'] ) ) );
|
211 |
-
}
|
212 |
|
213 |
-
|
214 |
-
|
215 |
-
</a>
|
216 |
-
<?php
|
217 |
-
}
|
218 |
-
?>
|
219 |
-
</span>
|
220 |
-
</div>
|
221 |
-
<?php
|
222 |
-
}
|
223 |
|
224 |
-
|
225 |
-
|
226 |
-
?>
|
227 |
-
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-views">
|
228 |
-
<span class="vp-portfolio__item-meta-part-icon">
|
229 |
-
<span class="vp-screen-reader-text">
|
230 |
-
<?php echo esc_html__( 'Views', 'visual-portfolio' ); ?>
|
231 |
-
</span>
|
232 |
-
<?php visual_portfolio()->include_template( 'icons/eye' ); ?>
|
233 |
-
</span>
|
234 |
-
<span class="vp-portfolio__item-meta-part-text">
|
235 |
-
<?php
|
236 |
-
// translators: %s Number of views.
|
237 |
-
echo esc_html( sprintf( _n( '%s View', '%s Views', $args['views_count'], 'visual-portfolio' ), number_format_i18n( (int) $args['views_count'] ) ) );
|
238 |
-
?>
|
239 |
-
</span>
|
240 |
-
</div>
|
241 |
-
<?php
|
242 |
-
}
|
243 |
|
244 |
-
|
245 |
-
|
246 |
-
?>
|
247 |
-
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-reading-rime">
|
248 |
-
<span class="vp-portfolio__item-meta-part-icon">
|
249 |
-
<span class="vp-screen-reader-text">
|
250 |
-
<?php echo esc_html__( 'Reading Time', 'visual-portfolio' ); ?>
|
251 |
-
</span>
|
252 |
-
<?php visual_portfolio()->include_template( 'icons/book' ); ?>
|
253 |
-
</span>
|
254 |
-
<span class="vp-portfolio__item-meta-part-text">
|
255 |
-
<?php
|
256 |
-
echo esc_html(
|
257 |
-
sprintf(
|
258 |
-
// translators: %s Reading time minutes.
|
259 |
-
_n(
|
260 |
-
'%s Min Read',
|
261 |
-
'%s Mins Read',
|
262 |
-
is_string( $args['reading_time'] ) ? 1 : $args['reading_time'],
|
263 |
-
'visual-portfolio'
|
264 |
-
),
|
265 |
-
is_string( $args['reading_time'] ) ? $args['reading_time'] : number_format_i18n( (int) $args['reading_time'] )
|
266 |
-
)
|
267 |
-
);
|
268 |
-
?>
|
269 |
-
</span>
|
270 |
-
</div>
|
271 |
-
<?php
|
272 |
-
}
|
273 |
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
|
279 |
-
|
280 |
-
if ( $opts['show_excerpt'] && $args['excerpt'] ) {
|
281 |
-
?>
|
282 |
-
<div class="vp-portfolio__item-meta-excerpt">
|
283 |
-
<div>
|
284 |
-
<?php echo wp_kses_post( $args['excerpt'] ); ?>
|
285 |
-
</div>
|
286 |
-
</div>
|
287 |
-
<?php
|
288 |
-
}
|
289 |
-
?>
|
290 |
-
<?php endif; ?>
|
291 |
-
</<?php echo esc_html( $tag ); ?>>
|
292 |
</div>
|
293 |
</figcaption>
|
4 |
*
|
5 |
* @var $args
|
6 |
* @var $opts
|
7 |
+
*
|
8 |
* @package visual-portfolio
|
9 |
*/
|
10 |
|
11 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
12 |
+
|
13 |
if ( ! defined( 'ABSPATH' ) ) {
|
14 |
exit;
|
15 |
}
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
$inline_meta = $opts['show_author'] && $args['author'] ||
|
18 |
$opts['show_date'] ||
|
19 |
$opts['show_comments_count'] && '' !== $args['comments_count'] ||
|
20 |
$opts['show_views_count'] && $args['views_count'] ||
|
21 |
$opts['show_reading_time'] && $args['reading_time'];
|
22 |
|
|
|
23 |
$show_meta = $inline_meta ||
|
24 |
$opts['show_icon'] ||
|
25 |
$opts['show_title'] && $args['title'] ||
|
26 |
$opts['show_excerpt'] && $args['excerpt'] ||
|
27 |
$opts['show_categories'] && $args['categories'] && ! empty( $args['categories'] );
|
28 |
+
|
29 |
+
$templates_data = array(
|
30 |
+
'args' => $args,
|
31 |
+
'opts' => $opts,
|
32 |
+
'allow_links' => ! $args['url'],
|
33 |
+
);
|
34 |
+
|
35 |
+
$link_data = array(
|
36 |
+
'href' => $args['url'],
|
37 |
+
'target' => $args['url_target'],
|
38 |
+
'rel' => $args['url_rel'],
|
39 |
+
'fallback' => 'span',
|
40 |
+
'class' => 'vp-portfolio__item-meta',
|
41 |
+
'tabindex' => '-1',
|
42 |
+
);
|
43 |
+
|
44 |
?>
|
45 |
|
46 |
<figcaption class="vp-portfolio__item-overlay vp-portfolio__item-align-<?php echo esc_attr( $opts['align'] ); ?>">
|
47 |
<div class="vp-portfolio__item-meta-wrap vp-portfolio__custom-scrollbar">
|
48 |
+
<?php visual_portfolio()->include_template( 'global/link-start', $link_data ); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
|
50 |
+
<?php
|
51 |
+
if ( $show_meta ) {
|
52 |
+
// Icon.
|
53 |
+
visual_portfolio()->include_template( 'items-list/item-parts/icon', $templates_data );
|
|
|
|
|
54 |
|
55 |
+
// Categories.
|
56 |
+
visual_portfolio()->include_template( 'items-list/item-parts/meta-categories', $templates_data );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
|
58 |
+
// Title.
|
59 |
+
visual_portfolio()->include_template( 'items-list/item-parts/title', $templates_data );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
|
61 |
+
// Inline Meta.
|
62 |
+
visual_portfolio()->include_template( 'items-list/item-parts/inline-meta', $templates_data );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
|
64 |
+
// Excerpt.
|
65 |
+
visual_portfolio()->include_template( 'items-list/item-parts/excerpt', $templates_data );
|
66 |
+
}
|
67 |
+
?>
|
68 |
|
69 |
+
<?php visual_portfolio()->include_template( 'global/link-end', $link_data ); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
</div>
|
71 |
</figcaption>
|
templates/items-list/items-style/image.php
CHANGED
@@ -4,76 +4,43 @@
|
|
4 |
*
|
5 |
* @var $args
|
6 |
* @var $opts
|
|
|
7 |
* @package visual-portfolio
|
8 |
*/
|
9 |
|
|
|
|
|
10 |
if ( ! defined( 'ABSPATH' ) ) {
|
11 |
exit;
|
12 |
}
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
?>
|
15 |
|
16 |
<div class="vp-portfolio__item-img-wrap">
|
17 |
<div class="vp-portfolio__item-img">
|
18 |
-
<?php
|
19 |
-
if ( $args['url'] ) {
|
20 |
-
?>
|
21 |
-
<a href="<?php echo esc_url( $args['url'] ); ?>"
|
22 |
-
<?php
|
23 |
-
if ( isset( $args['url_target'] ) && $args['url_target'] ) :
|
24 |
-
?>
|
25 |
-
target="<?php echo esc_attr( $args['url_target'] ); ?>"
|
26 |
-
<?php
|
27 |
-
endif;
|
28 |
-
if ( isset( $args['url_rel'] ) && $args['url_rel'] ) :
|
29 |
-
?>
|
30 |
-
rel="<?php echo esc_attr( $args['url_rel'] ); ?>"
|
31 |
-
<?php
|
32 |
-
endif;
|
33 |
-
?>
|
34 |
-
>
|
35 |
-
<?php
|
36 |
-
}
|
37 |
-
?>
|
38 |
-
<?php echo wp_kses( $args['image'], $args['image_allowed_html'] ); ?>
|
39 |
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
if ( $opts['show_icon'] ) {
|
44 |
-
?>
|
45 |
-
<div class="vp-portfolio__item-meta-icon">
|
46 |
-
<?php
|
47 |
-
switch ( $args['format'] ) {
|
48 |
-
case 'video':
|
49 |
-
visual_portfolio()->include_template( 'icons/play' );
|
50 |
-
break;
|
51 |
-
case 'audio':
|
52 |
-
visual_portfolio()->include_template( 'icons/music' );
|
53 |
-
break;
|
54 |
-
case 'gallery':
|
55 |
-
visual_portfolio()->include_template( 'icons/gallery' );
|
56 |
-
break;
|
57 |
-
default:
|
58 |
-
if ( isset( $args['vp_opts']['items_click_action'] ) && 'popup_gallery' === $args['vp_opts']['items_click_action'] ) {
|
59 |
-
visual_portfolio()->include_template( 'icons/search' );
|
60 |
-
} else {
|
61 |
-
visual_portfolio()->include_template( 'icons/image' );
|
62 |
-
}
|
63 |
-
break;
|
64 |
-
}
|
65 |
-
?>
|
66 |
-
</div>
|
67 |
-
<?php
|
68 |
-
}
|
69 |
-
?>
|
70 |
-
</div>
|
71 |
-
<?php
|
72 |
-
if ( $args['url'] ) {
|
73 |
-
?>
|
74 |
-
</a>
|
75 |
<?php
|
76 |
-
|
77 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
</div>
|
79 |
</div>
|
4 |
*
|
5 |
* @var $args
|
6 |
* @var $opts
|
7 |
+
*
|
8 |
* @package visual-portfolio
|
9 |
*/
|
10 |
|
11 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
12 |
+
|
13 |
if ( ! defined( 'ABSPATH' ) ) {
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
$link_data = array(
|
18 |
+
'href' => $args['url'],
|
19 |
+
'target' => $args['url_target'],
|
20 |
+
'rel' => $args['url_rel'],
|
21 |
+
);
|
22 |
+
|
23 |
?>
|
24 |
|
25 |
<div class="vp-portfolio__item-img-wrap">
|
26 |
<div class="vp-portfolio__item-img">
|
27 |
+
<?php visual_portfolio()->include_template( 'global/link-start', $link_data ); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
|
29 |
+
<?php echo wp_kses( $args['image'], $args['image_allowed_html'] ); ?>
|
30 |
+
|
31 |
+
<div class="vp-portfolio__item-img-overlay">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
<?php
|
33 |
+
// Show Icon.
|
34 |
+
visual_portfolio()->include_template(
|
35 |
+
'items-list/item-parts/icon',
|
36 |
+
array(
|
37 |
+
'args' => $args,
|
38 |
+
'opts' => $opts,
|
39 |
+
)
|
40 |
+
);
|
41 |
+
?>
|
42 |
+
</div>
|
43 |
+
|
44 |
+
<?php visual_portfolio()->include_template( 'global/link-end', $link_data ); ?>
|
45 |
</div>
|
46 |
</div>
|
templates/items-list/items-style/meta.php
CHANGED
@@ -4,266 +4,53 @@
|
|
4 |
*
|
5 |
* @var $args
|
6 |
* @var $opts
|
|
|
7 |
* @package visual-portfolio
|
8 |
*/
|
9 |
|
|
|
|
|
10 |
if ( ! defined( 'ABSPATH' ) ) {
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
// phpcs:ignore
|
15 |
$inline_meta = $opts['show_author'] && $args['author'] ||
|
16 |
$opts['show_date'] ||
|
17 |
$opts['show_comments_count'] && '' !== $args['comments_count'] ||
|
18 |
$opts['show_views_count'] && $args['views_count'] ||
|
19 |
$opts['show_reading_time'] && $args['reading_time'];
|
20 |
|
21 |
-
// phpcs:ignore
|
22 |
$show_meta = $inline_meta ||
|
23 |
$opts['show_title'] && $args['title'] ||
|
24 |
$opts['show_excerpt'] && $args['excerpt'] ||
|
25 |
$opts['show_categories'] && $args['categories'] && ! empty( $args['categories'] );
|
26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
?>
|
28 |
|
29 |
<figcaption class="vp-portfolio__item-overlay vp-portfolio__item-align-<?php echo esc_attr( $opts['align'] ); ?>">
|
30 |
<?php if ( $show_meta ) : ?>
|
31 |
<div class="vp-portfolio__item-meta">
|
32 |
<?php
|
|
|
|
|
33 |
|
34 |
-
//
|
35 |
-
|
36 |
-
?>
|
37 |
-
<div class="vp-portfolio__item-meta-categories">
|
38 |
-
<?php
|
39 |
-
// phpcs:ignore
|
40 |
-
$count = $opts['categories_count'];
|
41 |
-
|
42 |
-
// phpcs:ignore
|
43 |
-
foreach ( $args['categories'] as $category ) {
|
44 |
-
if ( ! $count ) {
|
45 |
-
break;
|
46 |
-
}
|
47 |
-
?>
|
48 |
-
<div class="vp-portfolio__item-meta-category">
|
49 |
-
<a href="<?php echo esc_url( $category['url'] ); ?>">
|
50 |
-
<?php echo esc_html( $category['label'] ); ?>
|
51 |
-
</a>
|
52 |
-
</div>
|
53 |
-
<?php
|
54 |
-
$count--;
|
55 |
-
}
|
56 |
-
?>
|
57 |
-
</div>
|
58 |
-
<?php
|
59 |
-
}
|
60 |
-
|
61 |
-
// Show Title.
|
62 |
-
if ( $opts['show_title'] && $args['title'] ) {
|
63 |
-
?>
|
64 |
-
<h2 class="vp-portfolio__item-meta-title">
|
65 |
-
<?php
|
66 |
-
if ( $args['url'] ) {
|
67 |
-
?>
|
68 |
-
<a href="<?php echo esc_url( $args['url'] ); ?>"
|
69 |
-
<?php
|
70 |
-
if ( isset( $args['url_target'] ) && $args['url_target'] ) :
|
71 |
-
?>
|
72 |
-
target="<?php echo esc_attr( $args['url_target'] ); ?>"
|
73 |
-
<?php
|
74 |
-
endif;
|
75 |
-
if ( isset( $args['url_rel'] ) && $args['url_rel'] ) :
|
76 |
-
?>
|
77 |
-
rel="<?php echo esc_attr( $args['url_rel'] ); ?>"
|
78 |
-
<?php
|
79 |
-
endif;
|
80 |
-
?>
|
81 |
-
>
|
82 |
-
<?php echo wp_kses_post( $args['title'] ); ?>
|
83 |
-
</a>
|
84 |
-
<?php
|
85 |
-
} else {
|
86 |
-
echo wp_kses_post( $args['title'] );
|
87 |
-
}
|
88 |
-
?>
|
89 |
-
</h2>
|
90 |
-
<?php
|
91 |
-
}
|
92 |
|
93 |
// Inline Meta.
|
94 |
-
|
95 |
-
?>
|
96 |
-
<div class="vp-portfolio__item-meta-inline">
|
97 |
-
<?php
|
98 |
-
|
99 |
-
// Show Author.
|
100 |
-
if ( $opts['show_author'] && $args['author'] ) {
|
101 |
-
?>
|
102 |
-
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-author">
|
103 |
-
<span class="vp-portfolio__item-meta-part-icon">
|
104 |
-
<span class="vp-screen-reader-text">
|
105 |
-
<?php echo esc_html__( 'Author', 'visual-portfolio' ); ?>
|
106 |
-
</span>
|
107 |
-
<?php
|
108 |
-
if ( $args['author_avatar'] ) {
|
109 |
-
if ( $args['author_url'] ) {
|
110 |
-
?>
|
111 |
-
<a href="<?php echo esc_url( $args['author_url'] ); ?>">
|
112 |
-
<?php
|
113 |
-
}
|
114 |
-
?>
|
115 |
-
<img src="<?php echo esc_url( $args['author_avatar'] ); ?>" alt="<?php echo esc_attr( $args['author'] ); ?>" width="50" height="50">
|
116 |
-
<?php
|
117 |
-
if ( $args['author_url'] ) {
|
118 |
-
?>
|
119 |
-
</a>
|
120 |
-
<?php
|
121 |
-
}
|
122 |
-
} else {
|
123 |
-
visual_portfolio()->include_template( 'icons/user' );
|
124 |
-
}
|
125 |
-
?>
|
126 |
-
</span>
|
127 |
-
<span class="vp-portfolio__item-meta-part-text">
|
128 |
-
<?php
|
129 |
-
printf(
|
130 |
-
// translators: %s - author name.
|
131 |
-
esc_html__( 'By %s', 'visual-portfolio' ),
|
132 |
-
$args['author_url'] ? '<a href="' . esc_url( $args['author_url'] ) . '">' . esc_html( $args['author'] ) . '</a>' : esc_html( $args['author'] )
|
133 |
-
);
|
134 |
-
?>
|
135 |
-
</span>
|
136 |
-
</div>
|
137 |
-
<?php
|
138 |
-
}
|
139 |
-
|
140 |
-
// Show Date.
|
141 |
-
if ( $opts['show_date'] ) {
|
142 |
-
?>
|
143 |
-
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-date">
|
144 |
-
<span class="vp-portfolio__item-meta-part-icon">
|
145 |
-
<span class="vp-screen-reader-text">
|
146 |
-
<?php echo esc_html__( 'Date', 'visual-portfolio' ); ?>
|
147 |
-
</span>
|
148 |
-
<?php visual_portfolio()->include_template( 'icons/calendar' ); ?>
|
149 |
-
</span>
|
150 |
-
<span class="vp-portfolio__item-meta-part-text">
|
151 |
-
<?php echo esc_html( $args['published'] ); ?>
|
152 |
-
</span>
|
153 |
-
</div>
|
154 |
-
<?php
|
155 |
-
}
|
156 |
-
|
157 |
-
// Show Comments Count.
|
158 |
-
if ( $opts['show_comments_count'] && '' !== $args['comments_count'] ) {
|
159 |
-
?>
|
160 |
-
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-comments">
|
161 |
-
<span class="vp-portfolio__item-meta-part-icon">
|
162 |
-
<span class="vp-screen-reader-text">
|
163 |
-
<?php echo esc_html__( 'Comments', 'visual-portfolio' ); ?>
|
164 |
-
</span>
|
165 |
-
<?php visual_portfolio()->include_template( 'icons/message' ); ?>
|
166 |
-
</span>
|
167 |
-
<span class="vp-portfolio__item-meta-part-text">
|
168 |
-
<?php
|
169 |
-
if ( $args['comments_url'] ) {
|
170 |
-
?>
|
171 |
-
<a href="<?php echo esc_url( $args['comments_url'] ); ?>">
|
172 |
-
<?php
|
173 |
-
}
|
174 |
-
|
175 |
-
if ( ! $args['comments_count'] ) {
|
176 |
-
echo esc_html__( 'No Comments', 'visual-portfolio' );
|
177 |
-
} else {
|
178 |
-
// translators: %s Number of comments.
|
179 |
-
echo esc_html( sprintf( _n( '%s Comment', '%s Comments', $args['comments_count'], 'visual-portfolio' ), number_format_i18n( (int) $args['comments_count'] ) ) );
|
180 |
-
}
|
181 |
-
|
182 |
-
if ( $args['comments_url'] ) {
|
183 |
-
?>
|
184 |
-
</a>
|
185 |
-
<?php
|
186 |
-
}
|
187 |
-
?>
|
188 |
-
</span>
|
189 |
-
</div>
|
190 |
-
<?php
|
191 |
-
}
|
192 |
-
|
193 |
-
// Show Views Count.
|
194 |
-
if ( $opts['show_views_count'] && $args['views_count'] ) {
|
195 |
-
?>
|
196 |
-
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-views">
|
197 |
-
<span class="vp-portfolio__item-meta-part-icon">
|
198 |
-
<span class="vp-screen-reader-text">
|
199 |
-
<?php echo esc_html__( 'Views', 'visual-portfolio' ); ?>
|
200 |
-
</span>
|
201 |
-
<?php visual_portfolio()->include_template( 'icons/eye' ); ?>
|
202 |
-
</span>
|
203 |
-
<span class="vp-portfolio__item-meta-part-text">
|
204 |
-
<?php
|
205 |
-
// translators: %s Number of views.
|
206 |
-
echo esc_html( sprintf( _n( '%s View', '%s Views', $args['views_count'], 'visual-portfolio' ), number_format_i18n( (int) $args['views_count'] ) ) );
|
207 |
-
?>
|
208 |
-
</span>
|
209 |
-
</div>
|
210 |
-
<?php
|
211 |
-
}
|
212 |
-
|
213 |
-
// Show Reading Time.
|
214 |
-
if ( $opts['show_reading_time'] && $args['reading_time'] ) {
|
215 |
-
?>
|
216 |
-
<div class="vp-portfolio__item-meta-part vp-portfolio__item-meta-reading-rime">
|
217 |
-
<span class="vp-portfolio__item-meta-part-icon">
|
218 |
-
<span class="vp-screen-reader-text">
|
219 |
-
<?php echo esc_html__( 'Reading Time', 'visual-portfolio' ); ?>
|
220 |
-
</span>
|
221 |
-
<?php visual_portfolio()->include_template( 'icons/book' ); ?>
|
222 |
-
</span>
|
223 |
-
<span class="vp-portfolio__item-meta-part-text">
|
224 |
-
<?php
|
225 |
-
echo esc_html(
|
226 |
-
sprintf(
|
227 |
-
// translators: %s Reading time minutes.
|
228 |
-
_n(
|
229 |
-
'%s Min Read',
|
230 |
-
'%s Mins Read',
|
231 |
-
is_string( $args['reading_time'] ) ? 1 : $args['reading_time'],
|
232 |
-
'visual-portfolio'
|
233 |
-
),
|
234 |
-
is_string( $args['reading_time'] ) ? $args['reading_time'] : number_format_i18n( (int) $args['reading_time'] )
|
235 |
-
)
|
236 |
-
);
|
237 |
-
?>
|
238 |
-
</span>
|
239 |
-
</div>
|
240 |
-
<?php
|
241 |
-
}
|
242 |
-
|
243 |
-
?>
|
244 |
-
</div>
|
245 |
-
<?php
|
246 |
-
}
|
247 |
|
248 |
-
//
|
249 |
-
|
250 |
-
?>
|
251 |
-
<div class="vp-portfolio__item-meta-excerpt">
|
252 |
-
<div>
|
253 |
-
<?php echo wp_kses_post( $args['excerpt'] ); ?>
|
254 |
-
</div>
|
255 |
-
</div>
|
256 |
-
<?php
|
257 |
-
}
|
258 |
|
259 |
-
//
|
260 |
-
|
261 |
-
?>
|
262 |
-
<a class="vp-portfolio__item-meta-read-more" href="<?php echo esc_url( $opts['read_more_url'] ); ?>">
|
263 |
-
<?php echo esc_html( $opts['read_more_label'] ); ?>
|
264 |
-
</a>
|
265 |
-
<?php
|
266 |
-
}
|
267 |
?>
|
268 |
</div>
|
269 |
<?php endif; ?>
|
4 |
*
|
5 |
* @var $args
|
6 |
* @var $opts
|
7 |
+
*
|
8 |
* @package visual-portfolio
|
9 |
*/
|
10 |
|
11 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
12 |
+
|
13 |
if ( ! defined( 'ABSPATH' ) ) {
|
14 |
exit;
|
15 |
}
|
16 |
|
|
|
17 |
$inline_meta = $opts['show_author'] && $args['author'] ||
|
18 |
$opts['show_date'] ||
|
19 |
$opts['show_comments_count'] && '' !== $args['comments_count'] ||
|
20 |
$opts['show_views_count'] && $args['views_count'] ||
|
21 |
$opts['show_reading_time'] && $args['reading_time'];
|
22 |
|
|
|
23 |
$show_meta = $inline_meta ||
|
24 |
$opts['show_title'] && $args['title'] ||
|
25 |
$opts['show_excerpt'] && $args['excerpt'] ||
|
26 |
$opts['show_categories'] && $args['categories'] && ! empty( $args['categories'] );
|
27 |
|
28 |
+
$templates_data = array(
|
29 |
+
'args' => $args,
|
30 |
+
'opts' => $opts,
|
31 |
+
'allow_links' => true,
|
32 |
+
);
|
33 |
+
|
34 |
?>
|
35 |
|
36 |
<figcaption class="vp-portfolio__item-overlay vp-portfolio__item-align-<?php echo esc_attr( $opts['align'] ); ?>">
|
37 |
<?php if ( $show_meta ) : ?>
|
38 |
<div class="vp-portfolio__item-meta">
|
39 |
<?php
|
40 |
+
// Categories.
|
41 |
+
visual_portfolio()->include_template( 'items-list/item-parts/meta-categories', $templates_data );
|
42 |
|
43 |
+
// Title.
|
44 |
+
visual_portfolio()->include_template( 'items-list/item-parts/title', $templates_data );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
|
46 |
// Inline Meta.
|
47 |
+
visual_portfolio()->include_template( 'items-list/item-parts/inline-meta', $templates_data );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
|
49 |
+
// Excerpt.
|
50 |
+
visual_portfolio()->include_template( 'items-list/item-parts/excerpt', $templates_data );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
|
52 |
+
// Read More.
|
53 |
+
visual_portfolio()->include_template( 'items-list/item-parts/read-more', $templates_data );
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
?>
|
55 |
</div>
|
56 |
<?php endif; ?>
|
templates/items-list/layouts/slider/thumbnails.php
CHANGED
@@ -10,6 +10,8 @@
|
|
10 |
* @package visual-portfolio
|
11 |
*/
|
12 |
|
|
|
|
|
13 |
if ( ! defined( 'ABSPATH' ) ) {
|
14 |
exit;
|
15 |
}
|
@@ -19,7 +21,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
19 |
<div class="vp-portfolio__thumbnails-wrap">
|
20 |
<div class="vp-portfolio__thumbnails">
|
21 |
<?php
|
22 |
-
// phpcs:ignore
|
23 |
foreach ( $thumbnails as $image_id ) {
|
24 |
?>
|
25 |
<div class="vp-portfolio__thumbnail-wrap">
|
10 |
* @package visual-portfolio
|
11 |
*/
|
12 |
|
13 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
14 |
+
|
15 |
if ( ! defined( 'ABSPATH' ) ) {
|
16 |
exit;
|
17 |
}
|
21 |
<div class="vp-portfolio__thumbnails-wrap">
|
22 |
<div class="vp-portfolio__thumbnails">
|
23 |
<?php
|
|
|
24 |
foreach ( $thumbnails as $image_id ) {
|
25 |
?>
|
26 |
<div class="vp-portfolio__thumbnail-wrap">
|
templates/items-list/pagination/infinite.php
CHANGED
@@ -3,6 +3,7 @@
|
|
3 |
* Default infinite pagination template.
|
4 |
*
|
5 |
* @var $args
|
|
|
6 |
* @package visual-portfolio
|
7 |
*/
|
8 |
|
3 |
* Default infinite pagination template.
|
4 |
*
|
5 |
* @var $args
|
6 |
+
*
|
7 |
* @package visual-portfolio
|
8 |
*/
|
9 |
|
templates/items-list/pagination/load-more.php
CHANGED
@@ -3,6 +3,7 @@
|
|
3 |
* Default load more pagination template.
|
4 |
*
|
5 |
* @var $args
|
|
|
6 |
* @package visual-portfolio
|
7 |
*/
|
8 |
|
3 |
* Default load more pagination template.
|
4 |
*
|
5 |
* @var $args
|
6 |
+
*
|
7 |
* @package visual-portfolio
|
8 |
*/
|
9 |
|
templates/items-list/pagination/minimal/infinite.php
CHANGED
@@ -3,6 +3,7 @@
|
|
3 |
* Minimal infinite pagination template.
|
4 |
*
|
5 |
* @var $args
|
|
|
6 |
* @package visual-portfolio
|
7 |
*/
|
8 |
|
3 |
* Minimal infinite pagination template.
|
4 |
*
|
5 |
* @var $args
|
6 |
+
*
|
7 |
* @package visual-portfolio
|
8 |
*/
|
9 |
|
templates/items-list/pagination/minimal/load-more.php
CHANGED
@@ -3,6 +3,7 @@
|
|
3 |
* Minimal load more pagination template.
|
4 |
*
|
5 |
* @var $args
|
|
|
6 |
* @package visual-portfolio
|
7 |
*/
|
8 |
|
3 |
* Minimal load more pagination template.
|
4 |
*
|
5 |
* @var $args
|
6 |
+
*
|
7 |
* @package visual-portfolio
|
8 |
*/
|
9 |
|
templates/items-list/pagination/minimal/paged.php
CHANGED
@@ -3,9 +3,12 @@
|
|
3 |
* Minimal paged pagination template.
|
4 |
*
|
5 |
* @var $args
|
|
|
6 |
* @package visual-portfolio
|
7 |
*/
|
8 |
|
|
|
|
|
9 |
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
exit;
|
11 |
}
|
@@ -14,7 +17,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
14 |
|
15 |
<div class="<?php echo esc_attr( $args['class'] ); ?> vp-pagination__style-minimal" data-vp-pagination-type="<?php echo esc_attr( $args['type'] ); ?>">
|
16 |
<?php
|
17 |
-
// phpcs:ignore
|
18 |
foreach ( $args['items'] as $item ) {
|
19 |
?>
|
20 |
<div class="<?php echo esc_attr( $item['class'] ); ?>">
|
3 |
* Minimal paged pagination template.
|
4 |
*
|
5 |
* @var $args
|
6 |
+
*
|
7 |
* @package visual-portfolio
|
8 |
*/
|
9 |
|
10 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
11 |
+
|
12 |
if ( ! defined( 'ABSPATH' ) ) {
|
13 |
exit;
|
14 |
}
|
17 |
|
18 |
<div class="<?php echo esc_attr( $args['class'] ); ?> vp-pagination__style-minimal" data-vp-pagination-type="<?php echo esc_attr( $args['type'] ); ?>">
|
19 |
<?php
|
|
|
20 |
foreach ( $args['items'] as $item ) {
|
21 |
?>
|
22 |
<div class="<?php echo esc_attr( $item['class'] ); ?>">
|
templates/items-list/pagination/paged.php
CHANGED
@@ -3,9 +3,12 @@
|
|
3 |
* Default paged pagination template.
|
4 |
*
|
5 |
* @var $args
|
|
|
6 |
* @package visual-portfolio
|
7 |
*/
|
8 |
|
|
|
|
|
9 |
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
exit;
|
11 |
}
|
@@ -18,7 +21,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
18 |
<?php endif; ?>
|
19 |
>
|
20 |
<?php
|
21 |
-
// phpcs:ignore
|
22 |
foreach ( $args['items'] as $item ) {
|
23 |
?>
|
24 |
<div class="<?php echo esc_attr( $item['class'] ); ?>">
|
3 |
* Default paged pagination template.
|
4 |
*
|
5 |
* @var $args
|
6 |
+
*
|
7 |
* @package visual-portfolio
|
8 |
*/
|
9 |
|
10 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
11 |
+
|
12 |
if ( ! defined( 'ABSPATH' ) ) {
|
13 |
exit;
|
14 |
}
|
21 |
<?php endif; ?>
|
22 |
>
|
23 |
<?php
|
|
|
24 |
foreach ( $args['items'] as $item ) {
|
25 |
?>
|
26 |
<div class="<?php echo esc_attr( $item['class'] ); ?>">
|
templates/items-list/sort/dropdown/sort.php
CHANGED
@@ -3,9 +3,12 @@
|
|
3 |
* Dropdown sort template.
|
4 |
*
|
5 |
* @var $args
|
|
|
6 |
* @package visual-portfolio
|
7 |
*/
|
8 |
|
|
|
|
|
9 |
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
exit;
|
11 |
}
|
@@ -15,7 +18,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
15 |
<div class="<?php echo esc_attr( $args['class'] ); ?> vp-sort__style-dropdown">
|
16 |
<select>
|
17 |
<?php
|
18 |
-
// phpcs:ignore
|
19 |
foreach ( $args['items'] as $item ) {
|
20 |
?>
|
21 |
<option class="<?php echo esc_attr( $item['class'] ); ?>" data-vp-url="<?php echo esc_url( $item['url'] ); ?>" data-vp-sort="<?php echo esc_attr( $item['sort'] ); ?>" value="<?php echo esc_attr( $item['sort'] ); ?>" <?php selected( $item['active'] ); ?>>
|
3 |
* Dropdown sort template.
|
4 |
*
|
5 |
* @var $args
|
6 |
+
*
|
7 |
* @package visual-portfolio
|
8 |
*/
|
9 |
|
10 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
11 |
+
|
12 |
if ( ! defined( 'ABSPATH' ) ) {
|
13 |
exit;
|
14 |
}
|
18 |
<div class="<?php echo esc_attr( $args['class'] ); ?> vp-sort__style-dropdown">
|
19 |
<select>
|
20 |
<?php
|
|
|
21 |
foreach ( $args['items'] as $item ) {
|
22 |
?>
|
23 |
<option class="<?php echo esc_attr( $item['class'] ); ?>" data-vp-url="<?php echo esc_url( $item['url'] ); ?>" data-vp-sort="<?php echo esc_attr( $item['sort'] ); ?>" value="<?php echo esc_attr( $item['sort'] ); ?>" <?php selected( $item['active'] ); ?>>
|
templates/items-list/sort/minimal/sort.php
CHANGED
@@ -3,9 +3,12 @@
|
|
3 |
* Minimal sort template.
|
4 |
*
|
5 |
* @var $args
|
|
|
6 |
* @package visual-portfolio
|
7 |
*/
|
8 |
|
|
|
|
|
9 |
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
exit;
|
11 |
}
|
@@ -14,7 +17,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
14 |
|
15 |
<div class="<?php echo esc_attr( $args['class'] ); ?> vp-sort__style-minimal">
|
16 |
<?php
|
17 |
-
// phpcs:ignore
|
18 |
foreach ( $args['items'] as $item ) {
|
19 |
?>
|
20 |
<div class="<?php echo esc_attr( $item['class'] ); ?>">
|
3 |
* Minimal sort template.
|
4 |
*
|
5 |
* @var $args
|
6 |
+
*
|
7 |
* @package visual-portfolio
|
8 |
*/
|
9 |
|
10 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
11 |
+
|
12 |
if ( ! defined( 'ABSPATH' ) ) {
|
13 |
exit;
|
14 |
}
|
17 |
|
18 |
<div class="<?php echo esc_attr( $args['class'] ); ?> vp-sort__style-minimal">
|
19 |
<?php
|
|
|
20 |
foreach ( $args['items'] as $item ) {
|
21 |
?>
|
22 |
<div class="<?php echo esc_attr( $item['class'] ); ?>">
|
templates/items-list/sort/sort.php
CHANGED
@@ -3,9 +3,12 @@
|
|
3 |
* Default sort template.
|
4 |
*
|
5 |
* @var $args
|
|
|
6 |
* @package visual-portfolio
|
7 |
*/
|
8 |
|
|
|
|
|
9 |
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
exit;
|
11 |
}
|
@@ -14,7 +17,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
14 |
|
15 |
<div class="<?php echo esc_attr( $args['class'] ); ?> vp-sort__style-default">
|
16 |
<?php
|
17 |
-
// phpcs:ignore
|
18 |
foreach ( $args['items'] as $item ) {
|
19 |
?>
|
20 |
<div class="<?php echo esc_attr( $item['class'] ); ?>">
|
3 |
* Default sort template.
|
4 |
*
|
5 |
* @var $args
|
6 |
+
*
|
7 |
* @package visual-portfolio
|
8 |
*/
|
9 |
|
10 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
11 |
+
|
12 |
if ( ! defined( 'ABSPATH' ) ) {
|
13 |
exit;
|
14 |
}
|
17 |
|
18 |
<div class="<?php echo esc_attr( $args['class'] ); ?> vp-sort__style-default">
|
19 |
<?php
|
|
|
20 |
foreach ( $args['items'] as $item ) {
|
21 |
?>
|
22 |
<div class="<?php echo esc_attr( $item['class'] ); ?>">
|
templates/items-list/wrapper-start.php
CHANGED
@@ -10,6 +10,8 @@
|
|
10 |
* @package visual-portfolio
|
11 |
*/
|
12 |
|
|
|
|
|
13 |
if ( ! defined( 'ABSPATH' ) ) {
|
14 |
exit;
|
15 |
}
|
@@ -18,7 +20,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
18 |
|
19 |
<div class="<?php echo esc_attr( $class ); ?>"
|
20 |
<?php
|
21 |
-
// phpcs:ignore
|
22 |
foreach ( $data_attrs as $name => $data ) {
|
23 |
if ( 'data-vp-next-page-url' === $name ) {
|
24 |
echo esc_html( $name ) . '="' . esc_url( $data ) . '" ';
|
10 |
* @package visual-portfolio
|
11 |
*/
|
12 |
|
13 |
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
|
14 |
+
|
15 |
if ( ! defined( 'ABSPATH' ) ) {
|
16 |
exit;
|
17 |
}
|
20 |
|
21 |
<div class="<?php echo esc_attr( $class ); ?>"
|
22 |
<?php
|
|
|
23 |
foreach ( $data_attrs as $name => $data ) {
|
24 |
if ( 'data-vp-next-page-url' === $name ) {
|
25 |
echo esc_html( $name ) . '="' . esc_url( $data ) . '" ';
|
vendors/class-settings-api.php
CHANGED
@@ -400,15 +400,15 @@ class Visual_Portfolio_Settings_API {
|
|
400 |
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
401 |
$size = isset( $args['size'] ) && ! is_null( $args['size'] ) ? $args['size'] : 'regular';
|
402 |
$id = $args['section'] . '[' . $args['id'] . ']';
|
403 |
-
$label = isset( $args['options']['button_label'] ) ?
|
404 |
-
|
405 |
-
__( 'Choose Image' );
|
406 |
$img = wp_get_attachment_image_src( $value );
|
407 |
$img_url = $img ? $img[0] : '';
|
408 |
|
409 |
$html = sprintf( '<input type="hidden" class="%1$s-text wpsa-image-id" id="%2$s" name="%2$s" value="%3$s"/>', $size, $id, $value );
|
410 |
$html .= '<p class="wpsa-image-preview"><img src="' . $img_url . '" /></p>';
|
411 |
-
$html .= '<input type="button" class="button wpsa-image-browse" value="' . $label . '" />';
|
|
|
412 |
$html .= $this->get_field_description( $args );
|
413 |
|
414 |
echo $html;
|
@@ -651,35 +651,35 @@ class Visual_Portfolio_Settings_API {
|
|
651 |
$('.wpsa-browse').on('click', function (event) {
|
652 |
event.preventDefault();
|
653 |
|
654 |
-
var
|
655 |
|
656 |
// Create the media frame.
|
657 |
var file_frame = wp.media.frames.file_frame = wp.media({
|
658 |
-
title:
|
659 |
button: {
|
660 |
-
text:
|
661 |
},
|
662 |
multiple: false
|
663 |
});
|
664 |
|
665 |
file_frame.on('select', function () {
|
666 |
attachment = file_frame.state().get('selection').first().toJSON();
|
667 |
-
|
668 |
});
|
669 |
|
670 |
// Finally, open the modal
|
671 |
file_frame.open();
|
672 |
});
|
673 |
|
674 |
-
$('.wpsa-image-browse').on('click', function
|
675 |
event.preventDefault();
|
676 |
-
var
|
677 |
|
678 |
// Create the media frame.
|
679 |
var file_frame = wp.media.frames.file_frame = wp.media({
|
680 |
-
title:
|
681 |
button: {
|
682 |
-
text:
|
683 |
},
|
684 |
multiple: false,
|
685 |
library: { type: 'image' }
|
@@ -688,35 +688,40 @@ class Visual_Portfolio_Settings_API {
|
|
688 |
.on('select', function () {
|
689 |
attachment = file_frame.state().get('selection').first().toJSON();
|
690 |
var url;
|
691 |
-
|
692 |
-
|
693 |
-
|
|
|
694 |
url = attachment.url;
|
695 |
-
|
696 |
-
|
|
|
|
|
|
|
697 |
})
|
698 |
|
699 |
// Finally, open the modal
|
700 |
.open();
|
701 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
702 |
});
|
703 |
</script>
|
704 |
<?php
|
705 |
-
$this->_style_fix();
|
706 |
}
|
707 |
-
|
708 |
-
function _style_fix() {
|
709 |
-
global $wp_version;
|
710 |
-
|
711 |
-
if ( version_compare( $wp_version, '3.8', '<=' ) ) :
|
712 |
-
?>
|
713 |
-
<style type="text/css">
|
714 |
-
/** WordPress 3.8 Fix **/
|
715 |
-
.form-table th { padding: 20px 10px; }
|
716 |
-
#wpbody-content .metabox-holder { padding-top: 5px; }
|
717 |
-
</style>
|
718 |
-
<?php
|
719 |
-
endif;
|
720 |
-
}
|
721 |
-
|
722 |
}
|
400 |
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
401 |
$size = isset( $args['size'] ) && ! is_null( $args['size'] ) ? $args['size'] : 'regular';
|
402 |
$id = $args['section'] . '[' . $args['id'] . ']';
|
403 |
+
$label = isset( $args['options']['button_label'] ) ? $args['options']['button_label'] : __( 'Choose Image' );
|
404 |
+
$label_remove = isset( $args['options']['button_remove_label'] ) ? $args['options']['button_remove_label'] : __( 'Remove Image' );
|
|
|
405 |
$img = wp_get_attachment_image_src( $value );
|
406 |
$img_url = $img ? $img[0] : '';
|
407 |
|
408 |
$html = sprintf( '<input type="hidden" class="%1$s-text wpsa-image-id" id="%2$s" name="%2$s" value="%3$s"/>', $size, $id, $value );
|
409 |
$html .= '<p class="wpsa-image-preview"><img src="' . $img_url . '" /></p>';
|
410 |
+
$html .= '<input type="button" class="button button-primary wpsa-image-browse" value="' . $label . '" />';
|
411 |
+
$html .= '<input type="button" class="button button-link wpsa-image-remove" value="' . $label_remove . '" />';
|
412 |
$html .= $this->get_field_description( $args );
|
413 |
|
414 |
echo $html;
|
651 |
$('.wpsa-browse').on('click', function (event) {
|
652 |
event.preventDefault();
|
653 |
|
654 |
+
var $this = $(this);
|
655 |
|
656 |
// Create the media frame.
|
657 |
var file_frame = wp.media.frames.file_frame = wp.media({
|
658 |
+
title: $this.data('uploader_title'),
|
659 |
button: {
|
660 |
+
text: $this.data('uploader_button_text'),
|
661 |
},
|
662 |
multiple: false
|
663 |
});
|
664 |
|
665 |
file_frame.on('select', function () {
|
666 |
attachment = file_frame.state().get('selection').first().toJSON();
|
667 |
+
$this.prev('.wpsa-url').val(attachment.url).change();
|
668 |
});
|
669 |
|
670 |
// Finally, open the modal
|
671 |
file_frame.open();
|
672 |
});
|
673 |
|
674 |
+
$('.wpsa-image-browse').on('click', function(event) {
|
675 |
event.preventDefault();
|
676 |
+
var $this = $(this);
|
677 |
|
678 |
// Create the media frame.
|
679 |
var file_frame = wp.media.frames.file_frame = wp.media({
|
680 |
+
title: $this.data('uploader_title'),
|
681 |
button: {
|
682 |
+
text: $this.data('uploader_button_text'),
|
683 |
},
|
684 |
multiple: false,
|
685 |
library: { type: 'image' }
|
688 |
.on('select', function () {
|
689 |
attachment = file_frame.state().get('selection').first().toJSON();
|
690 |
var url;
|
691 |
+
|
692 |
+
if (attachment.sizes && attachment.sizes.thumbnail) {
|
693 |
+
url = attachment.sizes.thumbnail.url;
|
694 |
+
} else {
|
695 |
url = attachment.url;
|
696 |
+
}
|
697 |
+
|
698 |
+
$this.siblings('.wpsa-image-id').val(attachment.id).change();
|
699 |
+
$this.siblings('.wpsa-image-preview').children('img').attr('src', url);
|
700 |
+
$this.siblings('.wpsa-image-remove').css('display', 'inline-block');
|
701 |
})
|
702 |
|
703 |
// Finally, open the modal
|
704 |
.open();
|
705 |
});
|
706 |
+
|
707 |
+
$('.wpsa-image-remove').each(function() {
|
708 |
+
var $this = $(this);
|
709 |
+
|
710 |
+
if ( $this.siblings('.wpsa-image-id').val() ) {
|
711 |
+
$this.css('display', 'inline-block');
|
712 |
+
}
|
713 |
+
});
|
714 |
+
|
715 |
+
$('.wpsa-image-remove').on('click', function(event) {
|
716 |
+
event.preventDefault();
|
717 |
+
var $this = $(this);
|
718 |
+
|
719 |
+
$this.siblings('.wpsa-image-id').val('').change();
|
720 |
+
$this.siblings('.wpsa-image-preview').children('img').attr('src', '');
|
721 |
+
$this.css('display', '');
|
722 |
+
});
|
723 |
});
|
724 |
</script>
|
725 |
<?php
|
|
|
726 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
727 |
}
|