Version Description
Download this release
Release Info
Developer | nko |
Plugin | Visual Portfolio, Photo Gallery & Post Grid |
Version | 2.9.1 |
Comparing to | |
See all releases |
Code changes from version 2.9.0 to 2.9.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/preview.js +1 -1
- class-visual-portfolio.php +8 -2
- classes/class-admin.php +25 -14
- classes/class-assets.php +6 -6
- classes/class-controls.php +5 -2
- classes/class-custom-post-type.php +2 -2
- classes/class-deprecated.php +122 -0
- classes/class-elementor-widget.php +2 -2
- classes/class-get-portfolio.php +3 -3
- classes/class-gutenberg-saved.php +4 -0
- classes/class-gutenberg.php +3 -3
- classes/class-images.php +2 -2
- classes/class-migration.php +1 -1
- classes/class-preview.php +2 -2
- classes/class-settings.php +2 -2
- classes/class-supported-themes.php +1 -1
- classes/class-tinymce.php +1 -1
- classes/class-vc.php +1 -1
- classes/class-wpml.php +93 -0
- gutenberg/components/controls-render/index.js +1 -1
- languages/visual-portfolio.pot +156 -148
- readme.md +125 -68
- wpml-config.xml +1 -16
assets/admin/js/elementor.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
* Additional js for Elementor
|
3 |
*
|
4 |
* Name : Visual Portfolio
|
5 |
-
* Version : 2.9.
|
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.9.1
|
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.9.
|
4 |
* Author : nK https://nkdev.info
|
5 |
*/
|
6 |
const {
|
1 |
/*!
|
2 |
* Name : Visual Portfolio
|
3 |
+
* Version : 2.9.1
|
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.9.
|
4 |
* Author : nK https://nkdev.info
|
5 |
*/
|
6 |
import { debounce } from 'throttle-debounce';
|
1 |
/*!
|
2 |
* Name : Visual Portfolio
|
3 |
+
* Version : 2.9.1
|
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.9.
|
6 |
* Author : nK https://nkdev.info
|
7 |
*/
|
8 |
const {
|
2 |
* Additional js for frontend VC
|
3 |
*
|
4 |
* Name : Visual Portfolio
|
5 |
+
* Version : 2.9.1
|
6 |
* Author : nK https://nkdev.info
|
7 |
*/
|
8 |
const {
|
assets/js/preview.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/*!
|
2 |
* Name : Visual Portfolio
|
3 |
-
* Version : 2.9.
|
4 |
* Author : nK https://nkdev.info
|
5 |
*/
|
6 |
const $ = window.jQuery;
|
1 |
/*!
|
2 |
* Name : Visual Portfolio
|
3 |
+
* Version : 2.9.1
|
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.9.
|
6 |
* Author: nK
|
7 |
* Author URI: https://nkdev.info
|
8 |
* License: GPLv2 or later
|
@@ -165,6 +165,9 @@ class Visual_Portfolio {
|
|
165 |
* Include dependencies
|
166 |
*/
|
167 |
private function include_dependencies() {
|
|
|
|
|
|
|
168 |
require_once $this->plugin_path . 'gutenberg/utils/control-condition-check/index.php';
|
169 |
require_once $this->plugin_path . 'gutenberg/utils/control-get-value/index.php';
|
170 |
require_once $this->plugin_path . 'gutenberg/utils/controls-dynamic-css/index.php';
|
@@ -186,8 +189,11 @@ class Visual_Portfolio {
|
|
186 |
require_once $this->plugin_path . 'classes/class-vc.php';
|
187 |
require_once $this->plugin_path . 'classes/class-elementor.php';
|
188 |
require_once $this->plugin_path . 'classes/class-supported-themes.php';
|
189 |
-
require_once $this->plugin_path . 'classes/class-migration.php';
|
190 |
require_once $this->plugin_path . 'classes/class-breakpoints.php';
|
|
|
|
|
|
|
|
|
191 |
}
|
192 |
|
193 |
/**
|
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.9.1
|
6 |
* Author: nK
|
7 |
* Author URI: https://nkdev.info
|
8 |
* License: GPLv2 or later
|
165 |
* Include dependencies
|
166 |
*/
|
167 |
private function include_dependencies() {
|
168 |
+
// Deprecations run before all features.
|
169 |
+
require_once $this->plugin_path . 'classes/class-deprecated.php';
|
170 |
+
|
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';
|
189 |
require_once $this->plugin_path . 'classes/class-vc.php';
|
190 |
require_once $this->plugin_path . 'classes/class-elementor.php';
|
191 |
require_once $this->plugin_path . 'classes/class-supported-themes.php';
|
|
|
192 |
require_once $this->plugin_path . 'classes/class-breakpoints.php';
|
193 |
+
require_once $this->plugin_path . 'classes/class-wpml.php';
|
194 |
+
|
195 |
+
// Migration run after all features.
|
196 |
+
require_once $this->plugin_path . 'classes/class-migration.php';
|
197 |
}
|
198 |
|
199 |
/**
|
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.9.
|
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.9.
|
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.9.
|
62 |
-
wp_enqueue_style( 'visual-portfolio-saved-layouts', visual_portfolio()->plugin_url . 'gutenberg/layouts-editor.min.css', array(), '2.9.
|
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.9.
|
109 |
exit();
|
110 |
}
|
111 |
}
|
@@ -684,6 +684,7 @@ class Visual_Portfolio_Admin {
|
|
684 |
'default' => 'Read More',
|
685 |
'hint' => esc_attr__( 'Read More Button Label', 'visual-portfolio' ),
|
686 |
'hint_place' => 'left',
|
|
|
687 |
'condition' => array(
|
688 |
array(
|
689 |
'control' => 'show_read_more',
|
@@ -1350,6 +1351,7 @@ class Visual_Portfolio_Admin {
|
|
1350 |
'category' => 'content-source-images',
|
1351 |
'type' => 'gallery',
|
1352 |
'name' => 'images',
|
|
|
1353 |
'setup_wizard' => true,
|
1354 |
'focal_point' => true,
|
1355 |
'image_controls' => array(
|
@@ -1436,7 +1438,7 @@ class Visual_Portfolio_Admin {
|
|
1436 |
array(
|
1437 |
'category' => 'content-source-images',
|
1438 |
'type' => 'select',
|
1439 |
-
'label' => esc_html__( 'Titles', 'visual-portfolio' ),
|
1440 |
'name' => 'images_titles_source',
|
1441 |
'default' => 'custom',
|
1442 |
'options' => array(
|
@@ -1453,7 +1455,7 @@ class Visual_Portfolio_Admin {
|
|
1453 |
array(
|
1454 |
'category' => 'content-source-images',
|
1455 |
'type' => 'select',
|
1456 |
-
'label' => esc_html__( 'Descriptions', 'visual-portfolio' ),
|
1457 |
'name' => 'images_descriptions_source',
|
1458 |
'default' => 'custom',
|
1459 |
'options' => array(
|
@@ -1542,6 +1544,7 @@ class Visual_Portfolio_Admin {
|
|
1542 |
'placeholder' => esc_html__( 'Notice', 'visual-portfolio' ),
|
1543 |
'name' => 'no_items_notice',
|
1544 |
'default' => esc_html__( 'No items were found matching your selection.', 'visual-portfolio' ),
|
|
|
1545 |
'condition' => array(
|
1546 |
array(
|
1547 |
'control' => 'no_items_action',
|
@@ -1822,6 +1825,7 @@ class Visual_Portfolio_Admin {
|
|
1822 |
'default' => 'F j, Y',
|
1823 |
'hint' => esc_attr__( "Date format \r\n Example: F j, Y", 'visual-portfolio' ),
|
1824 |
'hint_place' => 'left',
|
|
|
1825 |
'condition' => array(
|
1826 |
array(
|
1827 |
'control' => 'show_date',
|
@@ -2030,7 +2034,7 @@ class Visual_Portfolio_Admin {
|
|
2030 |
array(
|
2031 |
'category' => 'items-click-action',
|
2032 |
'type' => 'select',
|
2033 |
-
'label' => esc_html__( 'Title', 'visual-portfolio' ),
|
2034 |
'name' => 'items_click_action_popup_title_source',
|
2035 |
'default' => 'title',
|
2036 |
'options' => array(
|
@@ -2052,7 +2056,7 @@ class Visual_Portfolio_Admin {
|
|
2052 |
array(
|
2053 |
'category' => 'items-click-action',
|
2054 |
'type' => 'select',
|
2055 |
-
'label' => esc_html__( 'Description', 'visual-portfolio' ),
|
2056 |
'name' => 'items_click_action_popup_description_source',
|
2057 |
'default' => 'description',
|
2058 |
'options' => array(
|
@@ -2282,11 +2286,12 @@ class Visual_Portfolio_Admin {
|
|
2282 |
);
|
2283 |
Visual_Portfolio_Controls::register(
|
2284 |
array(
|
2285 |
-
'category'
|
2286 |
-
'type'
|
2287 |
-
'label'
|
2288 |
-
'name'
|
2289 |
-
'default'
|
|
|
2290 |
)
|
2291 |
);
|
2292 |
|
@@ -2590,6 +2595,7 @@ class Visual_Portfolio_Admin {
|
|
2590 |
'placeholder' => esc_attr__( 'Load more button label', 'visual-portfolio' ),
|
2591 |
'hint' => esc_attr__( 'Load more button label', 'visual-portfolio' ),
|
2592 |
'hint_place' => 'left',
|
|
|
2593 |
'condition' => array(
|
2594 |
array(
|
2595 |
'control' => 'pagination',
|
@@ -2608,6 +2614,7 @@ class Visual_Portfolio_Admin {
|
|
2608 |
'placeholder' => esc_attr__( 'Loading more button label', 'visual-portfolio' ),
|
2609 |
'hint' => esc_attr__( 'Loading more button label', 'visual-portfolio' ),
|
2610 |
'hint_place' => 'left',
|
|
|
2611 |
'condition' => array(
|
2612 |
array(
|
2613 |
'control' => 'pagination',
|
@@ -2626,6 +2633,7 @@ class Visual_Portfolio_Admin {
|
|
2626 |
'placeholder' => esc_attr__( 'End of the list text', 'visual-portfolio' ),
|
2627 |
'hint' => esc_attr__( 'End of the list text', 'visual-portfolio' ),
|
2628 |
'hint_place' => 'left',
|
|
|
2629 |
'condition' => array(
|
2630 |
array(
|
2631 |
'control' => 'pagination',
|
@@ -2644,6 +2652,7 @@ class Visual_Portfolio_Admin {
|
|
2644 |
'placeholder' => esc_attr__( 'Load more button label', 'visual-portfolio' ),
|
2645 |
'hint' => esc_attr__( 'Load more button label', 'visual-portfolio' ),
|
2646 |
'hint_place' => 'left',
|
|
|
2647 |
'condition' => array(
|
2648 |
array(
|
2649 |
'control' => 'pagination',
|
@@ -2662,6 +2671,7 @@ class Visual_Portfolio_Admin {
|
|
2662 |
'placeholder' => esc_attr__( 'Loading more button label', 'visual-portfolio' ),
|
2663 |
'hint' => esc_attr__( 'Loading more button label', 'visual-portfolio' ),
|
2664 |
'hint_place' => 'left',
|
|
|
2665 |
'condition' => array(
|
2666 |
array(
|
2667 |
'control' => 'pagination',
|
@@ -2680,6 +2690,7 @@ class Visual_Portfolio_Admin {
|
|
2680 |
'placeholder' => esc_attr__( 'End of the list text', 'visual-portfolio' ),
|
2681 |
'hint' => esc_attr__( 'End of the list text', 'visual-portfolio' ),
|
2682 |
'hint_place' => 'left',
|
|
|
2683 |
'condition' => array(
|
2684 |
array(
|
2685 |
'control' => 'pagination',
|
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.9.1', 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.9.1' );
|
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.9.1', true );
|
62 |
+
wp_enqueue_style( 'visual-portfolio-saved-layouts', visual_portfolio()->plugin_url . 'gutenberg/layouts-editor.min.css', array(), '2.9.1' );
|
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.9.1' );
|
109 |
exit();
|
110 |
}
|
111 |
}
|
684 |
'default' => 'Read More',
|
685 |
'hint' => esc_attr__( 'Read More Button Label', 'visual-portfolio' ),
|
686 |
'hint_place' => 'left',
|
687 |
+
'wpml' => true,
|
688 |
'condition' => array(
|
689 |
array(
|
690 |
'control' => 'show_read_more',
|
1351 |
'category' => 'content-source-images',
|
1352 |
'type' => 'gallery',
|
1353 |
'name' => 'images',
|
1354 |
+
'wpml' => true,
|
1355 |
'setup_wizard' => true,
|
1356 |
'focal_point' => true,
|
1357 |
'image_controls' => array(
|
1438 |
array(
|
1439 |
'category' => 'content-source-images',
|
1440 |
'type' => 'select',
|
1441 |
+
'label' => esc_html__( 'Titles Source', 'visual-portfolio' ),
|
1442 |
'name' => 'images_titles_source',
|
1443 |
'default' => 'custom',
|
1444 |
'options' => array(
|
1455 |
array(
|
1456 |
'category' => 'content-source-images',
|
1457 |
'type' => 'select',
|
1458 |
+
'label' => esc_html__( 'Descriptions Source', 'visual-portfolio' ),
|
1459 |
'name' => 'images_descriptions_source',
|
1460 |
'default' => 'custom',
|
1461 |
'options' => array(
|
1544 |
'placeholder' => esc_html__( 'Notice', 'visual-portfolio' ),
|
1545 |
'name' => 'no_items_notice',
|
1546 |
'default' => esc_html__( 'No items were found matching your selection.', 'visual-portfolio' ),
|
1547 |
+
'wpml' => true,
|
1548 |
'condition' => array(
|
1549 |
array(
|
1550 |
'control' => 'no_items_action',
|
1825 |
'default' => 'F j, Y',
|
1826 |
'hint' => esc_attr__( "Date format \r\n Example: F j, Y", 'visual-portfolio' ),
|
1827 |
'hint_place' => 'left',
|
1828 |
+
'wpml' => true,
|
1829 |
'condition' => array(
|
1830 |
array(
|
1831 |
'control' => 'show_date',
|
2034 |
array(
|
2035 |
'category' => 'items-click-action',
|
2036 |
'type' => 'select',
|
2037 |
+
'label' => esc_html__( 'Title Source', 'visual-portfolio' ),
|
2038 |
'name' => 'items_click_action_popup_title_source',
|
2039 |
'default' => 'title',
|
2040 |
'options' => array(
|
2056 |
array(
|
2057 |
'category' => 'items-click-action',
|
2058 |
'type' => 'select',
|
2059 |
+
'label' => esc_html__( 'Description Source', 'visual-portfolio' ),
|
2060 |
'name' => 'items_click_action_popup_description_source',
|
2061 |
'default' => 'description',
|
2062 |
'options' => array(
|
2286 |
);
|
2287 |
Visual_Portfolio_Controls::register(
|
2288 |
array(
|
2289 |
+
'category' => 'filter',
|
2290 |
+
'type' => 'text',
|
2291 |
+
'label' => esc_html__( 'All Button Text', 'visual-portfolio' ),
|
2292 |
+
'name' => 'filter_text_all',
|
2293 |
+
'default' => esc_attr__( 'All', 'visual-portfolio' ),
|
2294 |
+
'wpml' => true,
|
2295 |
)
|
2296 |
);
|
2297 |
|
2595 |
'placeholder' => esc_attr__( 'Load more button label', 'visual-portfolio' ),
|
2596 |
'hint' => esc_attr__( 'Load more button label', 'visual-portfolio' ),
|
2597 |
'hint_place' => 'left',
|
2598 |
+
'wpml' => true,
|
2599 |
'condition' => array(
|
2600 |
array(
|
2601 |
'control' => 'pagination',
|
2614 |
'placeholder' => esc_attr__( 'Loading more button label', 'visual-portfolio' ),
|
2615 |
'hint' => esc_attr__( 'Loading more button label', 'visual-portfolio' ),
|
2616 |
'hint_place' => 'left',
|
2617 |
+
'wpml' => true,
|
2618 |
'condition' => array(
|
2619 |
array(
|
2620 |
'control' => 'pagination',
|
2633 |
'placeholder' => esc_attr__( 'End of the list text', 'visual-portfolio' ),
|
2634 |
'hint' => esc_attr__( 'End of the list text', 'visual-portfolio' ),
|
2635 |
'hint_place' => 'left',
|
2636 |
+
'wpml' => true,
|
2637 |
'condition' => array(
|
2638 |
array(
|
2639 |
'control' => 'pagination',
|
2652 |
'placeholder' => esc_attr__( 'Load more button label', 'visual-portfolio' ),
|
2653 |
'hint' => esc_attr__( 'Load more button label', 'visual-portfolio' ),
|
2654 |
'hint_place' => 'left',
|
2655 |
+
'wpml' => true,
|
2656 |
'condition' => array(
|
2657 |
array(
|
2658 |
'control' => 'pagination',
|
2671 |
'placeholder' => esc_attr__( 'Loading more button label', 'visual-portfolio' ),
|
2672 |
'hint' => esc_attr__( 'Loading more button label', 'visual-portfolio' ),
|
2673 |
'hint_place' => 'left',
|
2674 |
+
'wpml' => true,
|
2675 |
'condition' => array(
|
2676 |
array(
|
2677 |
'control' => 'pagination',
|
2690 |
'placeholder' => esc_attr__( 'End of the list text', 'visual-portfolio' ),
|
2691 |
'hint' => esc_attr__( 'End of the list text', 'visual-portfolio' ),
|
2692 |
'hint_place' => 'left',
|
2693 |
+
'wpml' => true,
|
2694 |
'condition' => array(
|
2695 |
array(
|
2696 |
'control' => 'pagination',
|
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.9.
|
102 |
} elseif ( is_string( $data['value'] ) ) {
|
103 |
-
visual_portfolio()->include_template_style( $name, $data['value'], array(), '2.9.
|
104 |
} else {
|
105 |
-
wp_enqueue_style( $name, '', array(), '2.9.
|
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.9.
|
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.9.
|
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.9.
|
518 |
}
|
519 |
|
520 |
do_action( 'vpf_after_assets_register' );
|
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.9.1', true );
|
102 |
} elseif ( is_string( $data['value'] ) ) {
|
103 |
+
visual_portfolio()->include_template_style( $name, $data['value'], array(), '2.9.1' );
|
104 |
} else {
|
105 |
+
wp_enqueue_style( $name, '', array(), '2.9.1' );
|
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.9.1' );
|
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.9.1' );
|
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.9.1', true );
|
518 |
}
|
519 |
|
520 |
do_action( 'vpf_after_assets_register' );
|
classes/class-controls.php
CHANGED
@@ -88,6 +88,9 @@ class Visual_Portfolio_Controls {
|
|
88 |
// display in setup wizard.
|
89 |
'setup_wizard' => false,
|
90 |
|
|
|
|
|
|
|
91 |
// condition.
|
92 |
'condition' => array(
|
93 |
/**
|
@@ -237,7 +240,7 @@ class Visual_Portfolio_Controls {
|
|
237 |
$result[ $k ]['image_controls'] = $img_controls;
|
238 |
}
|
239 |
|
240 |
-
$result[ $k ] = apply_filters( '
|
241 |
}
|
242 |
|
243 |
self::$cached_all_registered_controls = apply_filters( 'vpf_registered_controls', $result );
|
@@ -285,7 +288,7 @@ class Visual_Portfolio_Controls {
|
|
285 |
}
|
286 |
|
287 |
// filter.
|
288 |
-
$result = apply_filters( '
|
289 |
|
290 |
// fix for gallery array.
|
291 |
if ( isset( $registered_data['type'] ) && 'gallery' === $registered_data['type'] ) {
|
88 |
// display in setup wizard.
|
89 |
'setup_wizard' => false,
|
90 |
|
91 |
+
// support for WPML.
|
92 |
+
'wpml' => false,
|
93 |
+
|
94 |
// condition.
|
95 |
'condition' => array(
|
96 |
/**
|
240 |
$result[ $k ]['image_controls'] = $img_controls;
|
241 |
}
|
242 |
|
243 |
+
$result[ $k ] = apply_filters( 'vpf_registered_control_args', $result[ $k ] );
|
244 |
}
|
245 |
|
246 |
self::$cached_all_registered_controls = apply_filters( 'vpf_registered_controls', $result );
|
288 |
}
|
289 |
|
290 |
// filter.
|
291 |
+
$result = apply_filters( 'vpf_control_value', $result, $name, $post_id );
|
292 |
|
293 |
// fix for gallery array.
|
294 |
if ( isset( $registered_data['type'] ) && 'gallery' === $registered_data['type'] ) {
|
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.9.
|
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.9.
|
329 |
}
|
330 |
|
331 |
/**
|
248 |
if ( ! is_blog_installed() ) {
|
249 |
return;
|
250 |
}
|
251 |
+
if ( get_option( 'visual_portfolio_updated_caps' ) === '2.9.1' ) {
|
252 |
return;
|
253 |
}
|
254 |
|
325 |
$wp_roles->add_cap( 'administrator', $cap );
|
326 |
}
|
327 |
|
328 |
+
update_option( 'visual_portfolio_updated_caps', '2.9.1' );
|
329 |
}
|
330 |
|
331 |
/**
|
classes/class-deprecated.php
ADDED
@@ -0,0 +1,122 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Deprecations.
|
4 |
+
*
|
5 |
+
* @package visual-portfolio
|
6 |
+
*/
|
7 |
+
|
8 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
9 |
+
exit;
|
10 |
+
}
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Class Visual_Portfolio_Deprecations
|
14 |
+
*/
|
15 |
+
class Visual_Portfolio_Deprecations {
|
16 |
+
/**
|
17 |
+
* The list of all deprecated hooks.
|
18 |
+
*
|
19 |
+
* @var array
|
20 |
+
*/
|
21 |
+
public $hooks = array();
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Visual_Portfolio_Deprecations constructor.
|
25 |
+
*/
|
26 |
+
public function __construct() {
|
27 |
+
// Deprecated filters in v2.9.0.
|
28 |
+
$this->add_deprecated_filter( 'vpf_print_layout_control_args', '2.9.0', 'vpf_registered_control_args' );
|
29 |
+
$this->add_deprecated_filter( 'vpf_get_layout_option', '2.9.0', 'vpf_control_value' );
|
30 |
+
$this->add_deprecated_filter( 'vpf_extend_popup_image', '2.9.0', 'vpf_popup_image_data' );
|
31 |
+
$this->add_deprecated_filter( 'vpf_extend_custom_popup_image', '2.9.0', 'vpf_popup_custom_image_data' );
|
32 |
+
$this->add_deprecated_filter( 'vpf_print_popup_data', '2.9.0', 'vpf_popup_output' );
|
33 |
+
$this->add_deprecated_filter( 'vpf_wp_get_attachment_image_extend', '2.9.0', 'vpf_wp_get_attachment_image' );
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Add Deprecated Filter
|
38 |
+
*
|
39 |
+
* @param string $deprecated The deprecated hook.
|
40 |
+
* @param string $version The version this hook was deprecated.
|
41 |
+
* @param string $replacement The replacement hook.
|
42 |
+
*/
|
43 |
+
public function add_deprecated_filter( $deprecated, $version, $replacement ) {
|
44 |
+
// Store replacement data.
|
45 |
+
$this->hooks[] = array(
|
46 |
+
'type' => 'filter',
|
47 |
+
'deprecated' => $deprecated,
|
48 |
+
'replacement' => $replacement,
|
49 |
+
'version' => $version,
|
50 |
+
);
|
51 |
+
|
52 |
+
// Add generic handler.
|
53 |
+
// Use a priority of 10, and accepted args of 10 (ignored by WP).
|
54 |
+
add_filter( $replacement, array( $this, 'apply_deprecated_hook' ), 10, 10 );
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Add Deprecated Action
|
59 |
+
*
|
60 |
+
* @param string $deprecated The deprecated hook.
|
61 |
+
* @param string $version The version this hook was deprecated.
|
62 |
+
* @param string $replacement The replacement hook.
|
63 |
+
*/
|
64 |
+
public function add_deprecated_action( $deprecated, $version, $replacement ) {
|
65 |
+
// Store replacement data.
|
66 |
+
$hooks[] = array(
|
67 |
+
'type' => 'action',
|
68 |
+
'deprecated' => $deprecated,
|
69 |
+
'replacement' => $replacement,
|
70 |
+
'version' => $version,
|
71 |
+
);
|
72 |
+
|
73 |
+
// Add generic handler.
|
74 |
+
// Use a priority of 10, and accepted args of 10 (ignored by WP).
|
75 |
+
add_action( $replacement, '_acf_apply_deprecated_hook', 10, 10 );
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Apply Deprecated Hook
|
80 |
+
*
|
81 |
+
* Apply a deprecated filter during apply_filters() or do_action().
|
82 |
+
*
|
83 |
+
* @return mixed
|
84 |
+
*/
|
85 |
+
public function apply_deprecated_hook() {
|
86 |
+
// Get current hook.
|
87 |
+
$hook_name = current_filter();
|
88 |
+
|
89 |
+
// Get args provided to function.
|
90 |
+
$args = func_get_args();
|
91 |
+
|
92 |
+
foreach ( $this->hooks as $hook_data ) {
|
93 |
+
if ( $hook_name !== $hook_data['replacement'] ) {
|
94 |
+
continue;
|
95 |
+
}
|
96 |
+
|
97 |
+
// Check if anyone is hooked into this deprecated hook.
|
98 |
+
if ( has_filter( $hook_data['deprecated'] ) ) {
|
99 |
+
// Log warning.
|
100 |
+
// Most probably we will add it later.
|
101 |
+
//
|
102 |
+
// _deprecated_hook( $hook_data['deprecated'], $hook_data['version'], $hook_name ); .
|
103 |
+
|
104 |
+
// Apply filters.
|
105 |
+
if ( 'filter' === $hook_data['type'] ) {
|
106 |
+
// phpcs:ignore
|
107 |
+
$args[0] = apply_filters_ref_array( $hook_data['deprecated'], $args );
|
108 |
+
|
109 |
+
// Or do action.
|
110 |
+
} else {
|
111 |
+
// phpcs:ignore
|
112 |
+
do_action_ref_array( $hook_data['deprecated'], $args );
|
113 |
+
}
|
114 |
+
}
|
115 |
+
}
|
116 |
+
|
117 |
+
// Return first arg.
|
118 |
+
return $args[0];
|
119 |
+
}
|
120 |
+
}
|
121 |
+
|
122 |
+
new Visual_Portfolio_Deprecations();
|
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.9.
|
37 |
|
38 |
-
wp_register_style( 'visual-portfolio-elementor', visual_portfolio()->plugin_url . 'assets/admin/css/elementor.min.css', array(), '2.9.
|
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.9.1', true );
|
37 |
|
38 |
+
wp_register_style( 'visual-portfolio-elementor', visual_portfolio()->plugin_url . 'assets/admin/css/elementor.min.css', array(), '2.9.1' );
|
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
@@ -1932,7 +1932,7 @@ class Visual_Portfolio_Get {
|
|
1932 |
$img_sm_meta = wp_get_attachment_image_src( $args['image_id'], $args['img_size_sm_popup'] );
|
1933 |
|
1934 |
$popup_image = apply_filters(
|
1935 |
-
'
|
1936 |
array(
|
1937 |
'id' => $args['image_id'],
|
1938 |
'title' => $attachment->post_title,
|
@@ -1952,7 +1952,7 @@ class Visual_Portfolio_Get {
|
|
1952 |
)
|
1953 |
);
|
1954 |
} elseif ( $args['image_id'] ) {
|
1955 |
-
$popup_image = apply_filters( '
|
1956 |
}
|
1957 |
}
|
1958 |
}
|
@@ -1998,7 +1998,7 @@ class Visual_Portfolio_Get {
|
|
1998 |
}
|
1999 |
|
2000 |
$popup_output = ob_get_clean();
|
2001 |
-
$popup_output = apply_filters( '
|
2002 |
|
2003 |
// phpcs:ignore
|
2004 |
echo $popup_output;
|
1932 |
$img_sm_meta = wp_get_attachment_image_src( $args['image_id'], $args['img_size_sm_popup'] );
|
1933 |
|
1934 |
$popup_image = apply_filters(
|
1935 |
+
'vpf_popup_image_data',
|
1936 |
array(
|
1937 |
'id' => $args['image_id'],
|
1938 |
'title' => $attachment->post_title,
|
1952 |
)
|
1953 |
);
|
1954 |
} elseif ( $args['image_id'] ) {
|
1955 |
+
$popup_image = apply_filters( 'vpf_popup_custom_image_data', false, $args['image_id'] );
|
1956 |
}
|
1957 |
}
|
1958 |
}
|
1998 |
}
|
1999 |
|
2000 |
$popup_output = ob_get_clean();
|
2001 |
+
$popup_output = apply_filters( 'vpf_popup_output', $popup_output, $args );
|
2002 |
|
2003 |
// phpcs:ignore
|
2004 |
echo $popup_output;
|
classes/class-gutenberg-saved.php
CHANGED
@@ -92,6 +92,10 @@ class Visual_Portfolio_Gutenberg_Saved_Block {
|
|
92 |
return '';
|
93 |
}
|
94 |
|
|
|
|
|
|
|
|
|
95 |
$class_name = 'wp-block-visual-portfolio';
|
96 |
|
97 |
if ( $attributes['align'] ) {
|
92 |
return '';
|
93 |
}
|
94 |
|
95 |
+
// WPML support.
|
96 |
+
// phpcs:ignore
|
97 |
+
$attributes['id'] = apply_filters( 'wpml_object_id', $attributes['id'], 'vp_lists', true );
|
98 |
+
|
99 |
$class_name = 'wp-block-visual-portfolio';
|
100 |
|
101 |
if ( $attributes['align'] ) {
|
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.9.
|
177 |
true
|
178 |
);
|
179 |
wp_enqueue_style(
|
180 |
'visual-portfolio-gutenberg',
|
181 |
plugins_url( '../gutenberg/style.min.css', __FILE__ ),
|
182 |
array(),
|
183 |
-
'2.9.
|
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.9.
|
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.9.1',
|
177 |
true
|
178 |
);
|
179 |
wp_enqueue_style(
|
180 |
'visual-portfolio-gutenberg',
|
181 |
plugins_url( '../gutenberg/style.min.css', __FILE__ ),
|
182 |
array(),
|
183 |
+
'2.9.1'
|
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.9.1',
|
204 |
true
|
205 |
);
|
206 |
|
classes/class-images.php
CHANGED
@@ -129,7 +129,7 @@ class Visual_Portfolio_Images {
|
|
129 |
}
|
130 |
|
131 |
if ( $lazyload ) {
|
132 |
-
$noscript = apply_filters( '
|
133 |
|
134 |
if ( ! $noscript ) {
|
135 |
$noscript = wp_get_attachment_image( $attachment_id, $size, $icon, $attr );
|
@@ -144,7 +144,7 @@ class Visual_Portfolio_Images {
|
|
144 |
self::$image_processing = true;
|
145 |
}
|
146 |
|
147 |
-
$image = apply_filters( '
|
148 |
|
149 |
if ( ! $image ) {
|
150 |
$image = wp_get_attachment_image( $attachment_id, $size, $icon, $attr );
|
129 |
}
|
130 |
|
131 |
if ( $lazyload ) {
|
132 |
+
$noscript = apply_filters( 'vpf_wp_get_attachment_image', false, $attachment_id, $size, $attr, false );
|
133 |
|
134 |
if ( ! $noscript ) {
|
135 |
$noscript = wp_get_attachment_image( $attachment_id, $size, $icon, $attr );
|
144 |
self::$image_processing = true;
|
145 |
}
|
146 |
|
147 |
+
$image = apply_filters( 'vpf_wp_get_attachment_image', false, $attachment_id, $size, $attr, $lazyload );
|
148 |
|
149 |
if ( ! $image ) {
|
150 |
$image = wp_get_attachment_image( $attachment_id, $size, $icon, $attr );
|
classes/class-migration.php
CHANGED
@@ -18,7 +18,7 @@ class Visual_Portfolio_Migrations {
|
|
18 |
*
|
19 |
* @var string
|
20 |
*/
|
21 |
-
protected $version = '2.9.
|
22 |
|
23 |
/**
|
24 |
* Initial version.
|
18 |
*
|
19 |
* @var string
|
20 |
*/
|
21 |
+
protected $version = '2.9.1';
|
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.9.
|
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.9.
|
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.9.1', 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.9.1' );
|
279 |
|
280 |
// Output template.
|
281 |
visual_portfolio()->include_template(
|
classes/class-settings.php
CHANGED
@@ -367,7 +367,7 @@ class Visual_Portfolio_Settings {
|
|
367 |
array(
|
368 |
'name' => 'deep_linking',
|
369 |
'label' => esc_html__( 'Deep Linking', 'visual-portfolio' ),
|
370 |
-
'desc' => esc_html__( 'Makes URL automatically change
|
371 |
'type' => 'checkbox',
|
372 |
'default' => ! class_exists( 'Visual_Portfolio_Pro' ) ? 'off' : 'on',
|
373 |
'is_pro' => true,
|
@@ -473,7 +473,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.9.
|
477 |
</div>
|
478 |
</div>
|
479 |
',
|
367 |
array(
|
368 |
'name' => 'deep_linking',
|
369 |
'label' => esc_html__( 'Deep Linking', 'visual-portfolio' ),
|
370 |
+
'desc' => esc_html__( 'Makes URL automatically change to reflect the current opened popup, and you can easily link directly to that image or video.', 'visual-portfolio' ),
|
371 |
'type' => 'checkbox',
|
372 |
'default' => ! class_exists( 'Visual_Portfolio_Pro' ) ? 'off' : 'on',
|
373 |
'is_pro' => true,
|
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.9.1">' . esc_html__( 'Read More', 'visual-portfolio' ) . '</a>
|
477 |
</div>
|
478 |
</div>
|
479 |
',
|
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.9.
|
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.9.1' );
|
78 |
wp_style_add_data( $theme_compat['name'], 'rtl', 'replace' );
|
79 |
wp_style_add_data( $theme_compat['name'], 'suffix', '.min' );
|
80 |
}
|
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.9.
|
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.9.1', 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.9.
|
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.9.1', true );
|
39 |
}
|
40 |
}
|
41 |
|
classes/class-wpml.php
ADDED
@@ -0,0 +1,93 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Register some fields for WPML.
|
4 |
+
*
|
5 |
+
* @package visual-portfolio/preview
|
6 |
+
*/
|
7 |
+
|
8 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
9 |
+
exit;
|
10 |
+
}
|
11 |
+
|
12 |
+
// phpcs:disable WordPress.NamingConventions.ValidVariableName.VariableNotSnakeCase
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Class Visual_Portfolio_WPML
|
16 |
+
*/
|
17 |
+
class Visual_Portfolio_WPML {
|
18 |
+
/**
|
19 |
+
* Visual_Portfolio_WPML constructor.
|
20 |
+
*/
|
21 |
+
public function __construct() {
|
22 |
+
global $iclTranslationManagement;
|
23 |
+
|
24 |
+
if ( ! isset( $iclTranslationManagement ) ) {
|
25 |
+
return;
|
26 |
+
}
|
27 |
+
|
28 |
+
add_filter( 'vpf_registered_controls', array( $this, 'make_control_translatable' ) );
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Make Control Translatable.
|
33 |
+
* https://wpml.org/forums/topic/unable-to-save-custom-field-translation-settings-when-acf-ml-is-installed/
|
34 |
+
*
|
35 |
+
* @param array $controls - controls array.
|
36 |
+
*
|
37 |
+
* @return array
|
38 |
+
*/
|
39 |
+
public function make_control_translatable( $controls ) {
|
40 |
+
global $iclTranslationManagement;
|
41 |
+
|
42 |
+
$allow_save = false;
|
43 |
+
|
44 |
+
// Prepare Saved Layouts meta fields.
|
45 |
+
foreach ( $controls as $control ) {
|
46 |
+
$name = 'vp_' . $control['name'];
|
47 |
+
|
48 |
+
// Create initial arrays.
|
49 |
+
if ( ! isset( $iclTranslationManagement->settings['custom_fields_translation'] ) ) {
|
50 |
+
$iclTranslationManagement->settings['custom_fields_translation'] = array();
|
51 |
+
}
|
52 |
+
if ( ! isset( $iclTranslationManagement->settings['custom_fields_readonly_config'] ) ) {
|
53 |
+
$iclTranslationManagement->settings['custom_fields_readonly_config'] = array();
|
54 |
+
}
|
55 |
+
|
56 |
+
// Add fields translation.
|
57 |
+
if ( ! isset( $iclTranslationManagement->settings['custom_fields_translation'][ $name ] ) ) {
|
58 |
+
$iclTranslationManagement->settings['custom_fields_translation'][ $name ] = $control['wpml'] ? WPML_TRANSLATE_CUSTOM_FIELD : WPML_COPY_CUSTOM_FIELD;
|
59 |
+
|
60 |
+
$allow_save = true;
|
61 |
+
}
|
62 |
+
|
63 |
+
// Add fields read only.
|
64 |
+
if ( ! in_array( $name, $iclTranslationManagement->settings['custom_fields_readonly_config'], true ) ) {
|
65 |
+
$iclTranslationManagement->settings['custom_fields_readonly_config'][] = $name;
|
66 |
+
|
67 |
+
$allow_save = true;
|
68 |
+
}
|
69 |
+
}
|
70 |
+
|
71 |
+
// Images meta array.
|
72 |
+
if ( ! isset( $iclTranslationManagement->settings['custom_fields_attributes_whitelist']['vp_images'] ) ) {
|
73 |
+
$iclTranslationManagement->settings['custom_fields_attributes_whitelist']['vp_images'] = array(
|
74 |
+
'*' => array(
|
75 |
+
'title' => array(),
|
76 |
+
'description' => array(),
|
77 |
+
'author' => array(),
|
78 |
+
'categories' => array(),
|
79 |
+
),
|
80 |
+
);
|
81 |
+
|
82 |
+
$allow_save = true;
|
83 |
+
}
|
84 |
+
|
85 |
+
if ( $allow_save ) {
|
86 |
+
$iclTranslationManagement->save_settings();
|
87 |
+
}
|
88 |
+
|
89 |
+
return $controls;
|
90 |
+
}
|
91 |
+
}
|
92 |
+
|
93 |
+
new Visual_Portfolio_WPML();
|
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.9.
|
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.9.1">
|
467 |
{ __( 'Read More', 'visual-portfolio' ) }
|
468 |
</ProNote.Button>
|
469 |
</ProNote>
|
languages/visual-portfolio.pot
CHANGED
@@ -87,7 +87,7 @@ msgstr ""
|
|
87 |
msgid "Coverflow"
|
88 |
msgstr ""
|
89 |
|
90 |
-
#: dist/visual-portfolio/classes/class-admin.php:344, dist/visual-portfolio/classes/class-admin.php:
|
91 |
msgid "Fade"
|
92 |
msgstr ""
|
93 |
|
@@ -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 |
|
@@ -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 |
|
@@ -211,562 +211,570 @@ msgstr ""
|
|
211 |
msgid "Read More Button Label"
|
212 |
msgstr ""
|
213 |
|
214 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
215 |
msgid "Display Overlay"
|
216 |
msgstr ""
|
217 |
|
218 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
219 |
msgid "Hover State Only"
|
220 |
msgstr ""
|
221 |
|
222 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
223 |
msgid "Default State Only"
|
224 |
msgstr ""
|
225 |
|
226 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
227 |
msgid "Always"
|
228 |
msgstr ""
|
229 |
|
230 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
231 |
msgid "Overlay Background Color"
|
232 |
msgstr ""
|
233 |
|
234 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
235 |
msgid "Overlay Text Color"
|
236 |
msgstr ""
|
237 |
|
238 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
239 |
msgid "Caption Text Color"
|
240 |
msgstr ""
|
241 |
|
242 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
243 |
msgid "Caption Links Color"
|
244 |
msgstr ""
|
245 |
|
246 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
247 |
msgid "Caption Links Hover Color"
|
248 |
msgstr ""
|
249 |
|
250 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
251 |
msgid "PRO Feature"
|
252 |
msgstr ""
|
253 |
|
254 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
255 |
msgid "Instagram-like filters for your images"
|
256 |
msgstr ""
|
257 |
|
258 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
259 |
msgid "Fly"
|
260 |
msgstr ""
|
261 |
|
262 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
263 |
msgid "Emerge"
|
264 |
msgstr ""
|
265 |
|
266 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
267 |
msgid "Display Caption"
|
268 |
msgstr ""
|
269 |
|
270 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
271 |
msgid "Caption Background Color"
|
272 |
msgstr ""
|
273 |
|
274 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
275 |
msgid "Display Image Overlay"
|
276 |
msgstr ""
|
277 |
|
278 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
279 |
msgid "Image Overlay Background Color"
|
280 |
msgstr ""
|
281 |
|
282 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
283 |
msgid "Content Source"
|
284 |
msgstr ""
|
285 |
|
286 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
287 |
msgid "Posts Settings"
|
288 |
msgstr ""
|
289 |
|
290 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
291 |
msgid "Images Settings"
|
292 |
msgstr ""
|
293 |
|
294 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
295 |
msgid "Social Stream Settings"
|
296 |
msgstr ""
|
297 |
|
298 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
299 |
msgid "Layout"
|
300 |
msgstr ""
|
301 |
|
302 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
303 |
msgid "Items Style"
|
304 |
msgstr ""
|
305 |
|
306 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
307 |
msgid "Items Click Action"
|
308 |
msgstr ""
|
309 |
|
310 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
311 |
msgid "Custom CSS"
|
312 |
msgstr ""
|
313 |
|
314 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
315 |
msgid "Posts"
|
316 |
msgstr ""
|
317 |
|
318 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
319 |
msgid "Images"
|
320 |
msgstr ""
|
321 |
|
322 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
323 |
msgid "Social"
|
324 |
msgstr ""
|
325 |
|
326 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
327 |
msgid "Custom Query"
|
328 |
msgstr ""
|
329 |
|
330 |
#. translators: %1$s - escaped url.
|
331 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
332 |
msgid "Build custom query according to WordPress Codex. See example here <a href=\"%1$s\">%1$s</a>."
|
333 |
msgstr ""
|
334 |
|
335 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
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"
|
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"
|
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 "Display pages in popup iframe, not just images."
|
643 |
msgstr ""
|
644 |
|
645 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
646 |
msgid "Top"
|
647 |
msgstr ""
|
648 |
|
649 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
650 |
msgid "Bottom"
|
651 |
msgstr ""
|
652 |
|
653 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
654 |
msgid "Filter"
|
655 |
msgstr ""
|
656 |
|
657 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
658 |
msgid "Sort"
|
659 |
msgstr ""
|
660 |
|
661 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
662 |
msgid "Search"
|
663 |
msgstr ""
|
664 |
|
665 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
666 |
msgid "Items"
|
667 |
msgstr ""
|
668 |
|
669 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
670 |
msgid "Pagination"
|
671 |
msgstr ""
|
672 |
|
673 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
674 |
msgid "Minimal"
|
675 |
msgstr ""
|
676 |
|
677 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
678 |
msgid "Dropdown"
|
679 |
msgstr ""
|
680 |
|
681 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
682 |
msgid "Display Count"
|
683 |
msgstr ""
|
684 |
|
685 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
686 |
msgid "All Button Text"
|
687 |
msgstr ""
|
688 |
|
689 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
690 |
msgid "All"
|
691 |
msgstr ""
|
692 |
|
693 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
694 |
msgid "The search module is only available for PRO users."
|
695 |
msgstr ""
|
696 |
|
697 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
698 |
msgid "Type"
|
699 |
msgstr ""
|
700 |
|
701 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
702 |
msgid "Paged"
|
703 |
msgstr ""
|
704 |
|
705 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
706 |
msgid "Load More"
|
707 |
msgstr ""
|
708 |
|
709 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
710 |
msgid "Infinite"
|
711 |
msgstr ""
|
712 |
|
713 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
714 |
msgid "Note: you will see the \"Load More\" pagination in the preview. \"Infinite\" pagination will be visible on the site."
|
715 |
msgstr ""
|
716 |
|
717 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
718 |
msgid "Texts"
|
719 |
msgstr ""
|
720 |
|
721 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
722 |
msgid "Load more button label"
|
723 |
msgstr ""
|
724 |
|
725 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
726 |
msgid "Loading More..."
|
727 |
msgstr ""
|
728 |
|
729 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
730 |
msgid "Loading more button label"
|
731 |
msgstr ""
|
732 |
|
733 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
734 |
msgid "You’ve reached the end of the list"
|
735 |
msgstr ""
|
736 |
|
737 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
738 |
msgid "End of the list text"
|
739 |
msgstr ""
|
740 |
|
741 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
742 |
msgid "Display Numbers"
|
743 |
msgstr ""
|
744 |
|
745 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
746 |
msgid "Scroll to Top"
|
747 |
msgstr ""
|
748 |
|
749 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
750 |
msgid "Scroll to Top Offset"
|
751 |
msgstr ""
|
752 |
|
753 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
754 |
msgid "Hide on Reached End"
|
755 |
msgstr ""
|
756 |
|
757 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
758 |
msgid "Use <code>selector</code> rule to change block styles."
|
759 |
msgstr ""
|
760 |
|
761 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
762 |
msgid "Example:"
|
763 |
msgstr ""
|
764 |
|
765 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
766 |
msgid "Manual Selection"
|
767 |
msgstr ""
|
768 |
|
769 |
-
#: dist/visual-portfolio/classes/class-admin.php:
|
770 |
msgid "Current Query"
|
771 |
msgstr ""
|
772 |
|
@@ -850,7 +858,7 @@ msgstr ""
|
|
850 |
msgid "Zoom"
|
851 |
msgstr ""
|
852 |
|
853 |
-
#: dist/visual-portfolio/classes/class-controls.php:
|
854 |
msgid "Dynamic control callback function is not found."
|
855 |
msgstr ""
|
856 |
|
@@ -1202,7 +1210,7 @@ msgid "Deep Linking"
|
|
1202 |
msgstr ""
|
1203 |
|
1204 |
#: dist/visual-portfolio/classes/class-settings.php:370
|
1205 |
-
msgid "Makes URL automatically change
|
1206 |
msgstr ""
|
1207 |
|
1208 |
#: dist/visual-portfolio/classes/class-settings.php:380
|
87 |
msgid "Coverflow"
|
88 |
msgstr ""
|
89 |
|
90 |
+
#: dist/visual-portfolio/classes/class-admin.php:344, dist/visual-portfolio/classes/class-admin.php:778
|
91 |
msgid "Fade"
|
92 |
msgstr ""
|
93 |
|
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:1446, dist/visual-portfolio/classes/class-admin.php:1463
|
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:2707, dist/visual-portfolio/classes/class-settings.php:379
|
159 |
msgid "Display Arrows"
|
160 |
msgstr ""
|
161 |
|
187 |
msgid "Thumbnails Per View"
|
188 |
msgstr ""
|
189 |
|
190 |
+
#: dist/visual-portfolio/classes/class-admin.php:653, dist/visual-portfolio/classes/class-admin.php:2183, dist/visual-portfolio/classes/class-admin.php:2312, dist/visual-portfolio/classes/class-admin.php:2434
|
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:1536, dist/visual-portfolio/classes/class-admin.php:1816
|
199 |
msgid "Hide"
|
200 |
msgstr ""
|
201 |
|
211 |
msgid "Read More Button Label"
|
212 |
msgstr ""
|
213 |
|
214 |
+
#: dist/visual-portfolio/classes/class-admin.php:698, dist/visual-portfolio/classes/class-admin.php:796
|
215 |
msgid "Display Overlay"
|
216 |
msgstr ""
|
217 |
|
218 |
+
#: dist/visual-portfolio/classes/class-admin.php:702, dist/visual-portfolio/classes/class-admin.php:800, dist/visual-portfolio/classes/class-admin.php:913, dist/visual-portfolio/classes/class-admin.php:972
|
219 |
msgid "Hover State Only"
|
220 |
msgstr ""
|
221 |
|
222 |
+
#: dist/visual-portfolio/classes/class-admin.php:703, dist/visual-portfolio/classes/class-admin.php:801, dist/visual-portfolio/classes/class-admin.php:914, dist/visual-portfolio/classes/class-admin.php:973
|
223 |
msgid "Default State Only"
|
224 |
msgstr ""
|
225 |
|
226 |
+
#: dist/visual-portfolio/classes/class-admin.php:704, dist/visual-portfolio/classes/class-admin.php:802, dist/visual-portfolio/classes/class-admin.php:915, dist/visual-portfolio/classes/class-admin.php:974
|
227 |
msgid "Always"
|
228 |
msgstr ""
|
229 |
|
230 |
+
#: dist/visual-portfolio/classes/class-admin.php:709, dist/visual-portfolio/classes/class-admin.php:807, dist/visual-portfolio/classes/class-admin.php:858
|
231 |
msgid "Overlay Background Color"
|
232 |
msgstr ""
|
233 |
|
234 |
+
#: dist/visual-portfolio/classes/class-admin.php:721, dist/visual-portfolio/classes/class-admin.php:819, dist/visual-portfolio/classes/class-admin.php:870
|
235 |
msgid "Overlay Text Color"
|
236 |
msgstr ""
|
237 |
|
238 |
+
#: dist/visual-portfolio/classes/class-admin.php:733, dist/visual-portfolio/classes/class-admin.php:932
|
239 |
msgid "Caption Text Color"
|
240 |
msgstr ""
|
241 |
|
242 |
+
#: dist/visual-portfolio/classes/class-admin.php:745, dist/visual-portfolio/classes/class-admin.php:944
|
243 |
msgid "Caption Links Color"
|
244 |
msgstr ""
|
245 |
|
246 |
+
#: dist/visual-portfolio/classes/class-admin.php:757, dist/visual-portfolio/classes/class-admin.php:956
|
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:1341, dist/visual-portfolio/classes/class-admin.php:1508, dist/visual-portfolio/classes/class-admin.php:2082, dist/visual-portfolio/classes/class-admin.php:2415, dist/visual-portfolio/classes/class-settings.php:473
|
251 |
msgid "PRO Feature"
|
252 |
msgstr ""
|
253 |
|
254 |
+
#: dist/visual-portfolio/classes/class-admin.php:771, dist/visual-portfolio/classes/class-admin.php:833, dist/visual-portfolio/classes/class-admin.php:884, dist/visual-portfolio/classes/class-admin.php:993
|
255 |
msgid "Instagram-like filters for your images"
|
256 |
msgstr ""
|
257 |
|
258 |
+
#: dist/visual-portfolio/classes/class-admin.php:840
|
259 |
msgid "Fly"
|
260 |
msgstr ""
|
261 |
|
262 |
+
#: dist/visual-portfolio/classes/class-admin.php:891
|
263 |
msgid "Emerge"
|
264 |
msgstr ""
|
265 |
|
266 |
+
#: dist/visual-portfolio/classes/class-admin.php:909
|
267 |
msgid "Display Caption"
|
268 |
msgstr ""
|
269 |
|
270 |
+
#: dist/visual-portfolio/classes/class-admin.php:920
|
271 |
msgid "Caption Background Color"
|
272 |
msgstr ""
|
273 |
|
274 |
+
#: dist/visual-portfolio/classes/class-admin.php:968
|
275 |
msgid "Display Image Overlay"
|
276 |
msgstr ""
|
277 |
|
278 |
+
#: dist/visual-portfolio/classes/class-admin.php:979
|
279 |
msgid "Image Overlay Background Color"
|
280 |
msgstr ""
|
281 |
|
282 |
+
#: dist/visual-portfolio/classes/class-admin.php:1014
|
283 |
msgid "Content Source"
|
284 |
msgstr ""
|
285 |
|
286 |
+
#: dist/visual-portfolio/classes/class-admin.php:1022
|
287 |
msgid "Posts Settings"
|
288 |
msgstr ""
|
289 |
|
290 |
+
#: dist/visual-portfolio/classes/class-admin.php:1027
|
291 |
msgid "Images Settings"
|
292 |
msgstr ""
|
293 |
|
294 |
+
#: dist/visual-portfolio/classes/class-admin.php:1032
|
295 |
msgid "Social Stream Settings"
|
296 |
msgstr ""
|
297 |
|
298 |
+
#: dist/visual-portfolio/classes/class-admin.php:1037
|
299 |
msgid "Layout"
|
300 |
msgstr ""
|
301 |
|
302 |
+
#: dist/visual-portfolio/classes/class-admin.php:1042
|
303 |
msgid "Items Style"
|
304 |
msgstr ""
|
305 |
|
306 |
+
#: dist/visual-portfolio/classes/class-admin.php:1047
|
307 |
msgid "Items Click Action"
|
308 |
msgstr ""
|
309 |
|
310 |
+
#: dist/visual-portfolio/classes/class-admin.php:1052
|
311 |
msgid "Custom CSS"
|
312 |
msgstr ""
|
313 |
|
314 |
+
#: dist/visual-portfolio/classes/class-admin.php:1083
|
315 |
msgid "Posts"
|
316 |
msgstr ""
|
317 |
|
318 |
+
#: dist/visual-portfolio/classes/class-admin.php:1088, dist/visual-portfolio/classes/class-settings.php:135
|
319 |
msgid "Images"
|
320 |
msgstr ""
|
321 |
|
322 |
+
#: dist/visual-portfolio/classes/class-admin.php:1093
|
323 |
msgid "Social"
|
324 |
msgstr ""
|
325 |
|
326 |
+
#: dist/visual-portfolio/classes/class-admin.php:1122, dist/visual-portfolio/classes/class-admin.php:2852
|
327 |
msgid "Custom Query"
|
328 |
msgstr ""
|
329 |
|
330 |
#. translators: %1$s - escaped url.
|
331 |
+
#: dist/visual-portfolio/classes/class-admin.php:1124
|
332 |
msgid "Build custom query according to WordPress Codex. See example here <a href=\"%1$s\">%1$s</a>."
|
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:1159
|
340 |
msgid "Excluded Posts"
|
341 |
msgstr ""
|
342 |
|
343 |
+
#: dist/visual-portfolio/classes/class-admin.php:1188
|
344 |
msgid "Taxonomies"
|
345 |
msgstr ""
|
346 |
|
347 |
+
#: dist/visual-portfolio/classes/class-admin.php:1217
|
348 |
msgid "Taxonomies Relation"
|
349 |
msgstr ""
|
350 |
|
351 |
+
#: dist/visual-portfolio/classes/class-admin.php:1221
|
352 |
msgid "OR"
|
353 |
msgstr ""
|
354 |
|
355 |
+
#: dist/visual-portfolio/classes/class-admin.php:1222
|
356 |
msgid "AND"
|
357 |
msgstr ""
|
358 |
|
359 |
+
#: dist/visual-portfolio/classes/class-admin.php:1247, dist/visual-portfolio/classes/class-admin.php:1475
|
360 |
msgid "Order by"
|
361 |
msgstr ""
|
362 |
|
363 |
+
#: dist/visual-portfolio/classes/class-admin.php:1251, dist/visual-portfolio/templates/items-list/items-style/meta.php:146, dist/visual-portfolio/templates/items-list/items-style/emerge/meta.php:147, dist/visual-portfolio/templates/items-list/items-style/fade/meta.php:178, dist/visual-portfolio/templates/items-list/items-style/fly/meta.php:177
|
364 |
msgid "Date"
|
365 |
msgstr ""
|
366 |
|
367 |
+
#: dist/visual-portfolio/classes/class-admin.php:1252, dist/visual-portfolio/classes/class-admin.php:1360, dist/visual-portfolio/classes/class-admin.php:1481
|
368 |
msgid "Title"
|
369 |
msgstr ""
|
370 |
|
371 |
+
#: dist/visual-portfolio/classes/class-admin.php:1253
|
372 |
msgid "ID"
|
373 |
msgstr ""
|
374 |
|
375 |
+
#: dist/visual-portfolio/classes/class-admin.php:1254
|
376 |
msgid "Comments Count"
|
377 |
msgstr ""
|
378 |
|
379 |
+
#: dist/visual-portfolio/classes/class-admin.php:1255
|
380 |
msgid "Modified"
|
381 |
msgstr ""
|
382 |
|
383 |
+
#: dist/visual-portfolio/classes/class-admin.php:1256
|
384 |
msgid "Menu Order"
|
385 |
msgstr ""
|
386 |
|
387 |
+
#: dist/visual-portfolio/classes/class-admin.php:1257, dist/visual-portfolio/classes/class-admin.php:1482
|
388 |
msgid "Random"
|
389 |
msgstr ""
|
390 |
|
391 |
+
#: dist/visual-portfolio/classes/class-admin.php:1277, dist/visual-portfolio/classes/class-admin.php:1490
|
392 |
msgid "Order Direction"
|
393 |
msgstr ""
|
394 |
|
395 |
+
#: dist/visual-portfolio/classes/class-admin.php:1281, dist/visual-portfolio/classes/class-admin.php:1494
|
396 |
msgid "ASC"
|
397 |
msgstr ""
|
398 |
|
399 |
+
#: dist/visual-portfolio/classes/class-admin.php:1282, dist/visual-portfolio/classes/class-admin.php:1495
|
400 |
msgid "DESC"
|
401 |
msgstr ""
|
402 |
|
403 |
+
#: dist/visual-portfolio/classes/class-admin.php:1302
|
404 |
msgid "Avoid Duplicates"
|
405 |
msgstr ""
|
406 |
|
407 |
+
#: dist/visual-portfolio/classes/class-admin.php:1303
|
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:1312
|
412 |
msgid "Offset"
|
413 |
msgstr ""
|
414 |
|
415 |
+
#: dist/visual-portfolio/classes/class-admin.php:1313
|
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:1342
|
420 |
msgid "Additional query settings."
|
421 |
msgstr ""
|
422 |
|
423 |
+
#: dist/visual-portfolio/classes/class-admin.php:1371
|
424 |
msgid "Description"
|
425 |
msgstr ""
|
426 |
|
427 |
+
#: dist/visual-portfolio/classes/class-admin.php:1382, dist/visual-portfolio/classes/class-custom-post-type.php:124
|
428 |
msgid "Categories"
|
429 |
msgstr ""
|
430 |
|
431 |
+
#: dist/visual-portfolio/classes/class-admin.php:1388
|
432 |
msgid "Format"
|
433 |
msgstr ""
|
434 |
|
435 |
+
#: dist/visual-portfolio/classes/class-admin.php:1391
|
436 |
msgid "Standard"
|
437 |
msgstr ""
|
438 |
|
439 |
+
#: dist/visual-portfolio/classes/class-admin.php:1392, dist/visual-portfolio/classes/class-custom-post-meta.php:140
|
440 |
msgid "Video"
|
441 |
msgstr ""
|
442 |
|
443 |
+
#: dist/visual-portfolio/classes/class-admin.php:1397
|
444 |
msgid "Video URL"
|
445 |
msgstr ""
|
446 |
|
447 |
+
#: dist/visual-portfolio/classes/class-admin.php:1398, dist/visual-portfolio/classes/class-admin.php:1411
|
448 |
msgid "https://..."
|
449 |
msgstr ""
|
450 |
|
451 |
+
#: dist/visual-portfolio/classes/class-admin.php:1399
|
452 |
msgid "Full list of supported links"
|
453 |
msgstr ""
|
454 |
|
455 |
+
#: dist/visual-portfolio/classes/class-admin.php:1399
|
456 |
msgid "see here"
|
457 |
msgstr ""
|
458 |
|
459 |
+
#: dist/visual-portfolio/classes/class-admin.php:1409, dist/visual-portfolio/classes/class-admin.php:1983
|
460 |
msgid "URL"
|
461 |
msgstr ""
|
462 |
|
463 |
+
#: dist/visual-portfolio/classes/class-admin.php:1410
|
464 |
msgid "By default used full image url, you can use custom one"
|
465 |
msgstr ""
|
466 |
|
467 |
+
#: dist/visual-portfolio/classes/class-admin.php:1415
|
468 |
msgid "Author Name"
|
469 |
msgstr ""
|
470 |
|
471 |
+
#: dist/visual-portfolio/classes/class-admin.php:1420
|
472 |
msgid "Author URL"
|
473 |
msgstr ""
|
474 |
|
475 |
+
#: dist/visual-portfolio/classes/class-admin.php:1441
|
476 |
+
msgid "Titles Source"
|
477 |
msgstr ""
|
478 |
|
479 |
+
#: dist/visual-portfolio/classes/class-admin.php:1445, dist/visual-portfolio/classes/class-admin.php:1462, dist/visual-portfolio/classes/class-admin.php:2041, dist/visual-portfolio/classes/class-admin.php:2063
|
480 |
msgid "None"
|
481 |
msgstr ""
|
482 |
|
483 |
+
#: dist/visual-portfolio/classes/class-admin.php:1447, dist/visual-portfolio/classes/class-admin.php:1464, dist/visual-portfolio/classes/class-admin.php:2042, dist/visual-portfolio/classes/class-admin.php:2064
|
484 |
msgid "Image Title"
|
485 |
msgstr ""
|
486 |
|
487 |
+
#: dist/visual-portfolio/classes/class-admin.php:1448, dist/visual-portfolio/classes/class-admin.php:1465, dist/visual-portfolio/classes/class-admin.php:2043, dist/visual-portfolio/classes/class-admin.php:2065
|
488 |
msgid "Image Caption"
|
489 |
msgstr ""
|
490 |
|
491 |
+
#: dist/visual-portfolio/classes/class-admin.php:1449, dist/visual-portfolio/classes/class-admin.php:1466, dist/visual-portfolio/classes/class-admin.php:2044, dist/visual-portfolio/classes/class-admin.php:2066
|
492 |
msgid "Image Alt"
|
493 |
msgstr ""
|
494 |
|
495 |
+
#: dist/visual-portfolio/classes/class-admin.php:1450, dist/visual-portfolio/classes/class-admin.php:1467, dist/visual-portfolio/classes/class-admin.php:2045, dist/visual-portfolio/classes/class-admin.php:2067
|
496 |
msgid "Image Description"
|
497 |
msgstr ""
|
498 |
|
499 |
+
#: dist/visual-portfolio/classes/class-admin.php:1458
|
500 |
+
msgid "Descriptions Source"
|
501 |
msgstr ""
|
502 |
|
503 |
+
#: dist/visual-portfolio/classes/class-admin.php:1479, dist/visual-portfolio/classes/class-admin.php:1817, dist/visual-portfolio/classes/class-admin.php:2004
|
504 |
msgid "Default"
|
505 |
msgstr ""
|
506 |
|
507 |
+
#: dist/visual-portfolio/classes/class-admin.php:1480
|
508 |
msgid "Uploaded"
|
509 |
msgstr ""
|
510 |
|
511 |
+
#: dist/visual-portfolio/classes/class-admin.php:1509, dist/visual-portfolio/classes/class-settings.php:475
|
512 |
msgid "Social feeds such as Instagram, Youtube, Flickr, Twitter, etc..."
|
513 |
msgstr ""
|
514 |
|
515 |
+
#: dist/visual-portfolio/classes/class-admin.php:1520
|
516 |
msgid "Items Per Page"
|
517 |
msgstr ""
|
518 |
|
519 |
+
#: dist/visual-portfolio/classes/class-admin.php:1531
|
520 |
msgid "No Items Action"
|
521 |
msgstr ""
|
522 |
|
523 |
+
#: dist/visual-portfolio/classes/class-admin.php:1535, dist/visual-portfolio/classes/class-admin.php:1544
|
524 |
msgid "Notice"
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: dist/visual-portfolio/classes/class-admin.php:1546
|
528 |
msgid "No items were found matching your selection."
|
529 |
msgstr ""
|
530 |
|
531 |
+
#: dist/visual-portfolio/classes/class-admin.php:1561
|
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:1577
|
536 |
msgid "Stretch"
|
537 |
msgstr ""
|
538 |
|
539 |
+
#: dist/visual-portfolio/classes/class-admin.php:1580
|
540 |
msgid "Break container and display it wide"
|
541 |
msgstr ""
|
542 |
|
543 |
+
#: dist/visual-portfolio/classes/class-admin.php:1649
|
544 |
msgid "Gap"
|
545 |
msgstr ""
|
546 |
|
547 |
+
#: dist/visual-portfolio/classes/class-admin.php:1667
|
548 |
msgid "Vertical Gap"
|
549 |
msgstr ""
|
550 |
|
551 |
+
#: dist/visual-portfolio/classes/class-admin.php:1668
|
552 |
msgid "When empty, used Gap option"
|
553 |
msgstr ""
|
554 |
|
555 |
+
#: dist/visual-portfolio/classes/class-admin.php:1766
|
556 |
msgid "Images Rounded Corners"
|
557 |
msgstr ""
|
558 |
|
559 |
+
#: dist/visual-portfolio/classes/class-admin.php:1783
|
560 |
msgid "Display Title"
|
561 |
msgstr ""
|
562 |
|
563 |
+
#: dist/visual-portfolio/classes/class-admin.php:1791
|
564 |
msgid "Display Categories"
|
565 |
msgstr ""
|
566 |
|
567 |
+
#: dist/visual-portfolio/classes/class-admin.php:1797
|
568 |
msgid "Categories Count"
|
569 |
msgstr ""
|
570 |
|
571 |
+
#: dist/visual-portfolio/classes/class-admin.php:1812
|
572 |
msgid "Display Date"
|
573 |
msgstr ""
|
574 |
|
575 |
+
#: dist/visual-portfolio/classes/class-admin.php:1818
|
576 |
msgid "Human Format"
|
577 |
msgstr ""
|
578 |
|
579 |
+
#: dist/visual-portfolio/classes/class-admin.php:1826
|
580 |
msgid ""
|
581 |
"Date format
|
582 |
" Example: F j, Y"
|
583 |
msgstr ""
|
584 |
|
585 |
+
#: dist/visual-portfolio/classes/class-admin.php:1839
|
586 |
msgid "Display Author"
|
587 |
msgstr ""
|
588 |
|
589 |
+
#: dist/visual-portfolio/classes/class-admin.php:1847
|
590 |
msgid "Display Comments Count"
|
591 |
msgstr ""
|
592 |
|
593 |
+
#: dist/visual-portfolio/classes/class-admin.php:1861
|
594 |
msgid "Display Views Count"
|
595 |
msgstr ""
|
596 |
|
597 |
+
#: dist/visual-portfolio/classes/class-admin.php:1875
|
598 |
msgid "Display Reading Time"
|
599 |
msgstr ""
|
600 |
|
601 |
+
#: dist/visual-portfolio/classes/class-admin.php:1889
|
602 |
msgid "Display Excerpt"
|
603 |
msgstr ""
|
604 |
|
605 |
+
#: dist/visual-portfolio/classes/class-admin.php:1895
|
606 |
msgid "Excerpt Words Count"
|
607 |
msgstr ""
|
608 |
|
609 |
+
#: dist/visual-portfolio/classes/class-admin.php:1910
|
610 |
msgid "Display Icon"
|
611 |
msgstr ""
|
612 |
|
613 |
+
#: dist/visual-portfolio/classes/class-admin.php:1918
|
614 |
msgid "Caption Align"
|
615 |
msgstr ""
|
616 |
|
617 |
+
#: dist/visual-portfolio/classes/class-admin.php:1978
|
618 |
msgid "Disabled"
|
619 |
msgstr ""
|
620 |
|
621 |
+
#: dist/visual-portfolio/classes/class-admin.php:1988
|
622 |
msgid "Popup"
|
623 |
msgstr ""
|
624 |
|
625 |
+
#: dist/visual-portfolio/classes/class-admin.php:2000
|
626 |
msgid "Target"
|
627 |
msgstr ""
|
628 |
|
629 |
+
#: dist/visual-portfolio/classes/class-admin.php:2005
|
630 |
msgid "New Tab (_blank)"
|
631 |
msgstr ""
|
632 |
|
633 |
+
#: dist/visual-portfolio/classes/class-admin.php:2006
|
634 |
msgid "Top Frame (_top)"
|
635 |
msgstr ""
|
636 |
|
637 |
+
#: dist/visual-portfolio/classes/class-admin.php:2020
|
638 |
msgid "Rel"
|
639 |
msgstr ""
|
640 |
|
641 |
+
#: dist/visual-portfolio/classes/class-admin.php:2037
|
642 |
+
msgid "Title Source"
|
643 |
+
msgstr ""
|
644 |
+
|
645 |
+
#: dist/visual-portfolio/classes/class-admin.php:2059
|
646 |
+
msgid "Description Source"
|
647 |
+
msgstr ""
|
648 |
+
|
649 |
+
#: dist/visual-portfolio/classes/class-admin.php:2083
|
650 |
msgid "Display pages in popup iframe, not just images."
|
651 |
msgstr ""
|
652 |
|
653 |
+
#: dist/visual-portfolio/classes/class-admin.php:2103
|
654 |
msgid "Top"
|
655 |
msgstr ""
|
656 |
|
657 |
+
#: dist/visual-portfolio/classes/class-admin.php:2113
|
658 |
msgid "Bottom"
|
659 |
msgstr ""
|
660 |
|
661 |
+
#: dist/visual-portfolio/classes/class-admin.php:2137
|
662 |
msgid "Filter"
|
663 |
msgstr ""
|
664 |
|
665 |
+
#: dist/visual-portfolio/classes/class-admin.php:2143
|
666 |
msgid "Sort"
|
667 |
msgstr ""
|
668 |
|
669 |
+
#: dist/visual-portfolio/classes/class-admin.php:2149
|
670 |
msgid "Search"
|
671 |
msgstr ""
|
672 |
|
673 |
+
#: dist/visual-portfolio/classes/class-admin.php:2155
|
674 |
msgid "Items"
|
675 |
msgstr ""
|
676 |
|
677 |
+
#: dist/visual-portfolio/classes/class-admin.php:2160
|
678 |
msgid "Pagination"
|
679 |
msgstr ""
|
680 |
|
681 |
+
#: dist/visual-portfolio/classes/class-admin.php:2176, dist/visual-portfolio/classes/class-admin.php:2305, dist/visual-portfolio/classes/class-admin.php:2427
|
682 |
msgid "Minimal"
|
683 |
msgstr ""
|
684 |
|
685 |
+
#: dist/visual-portfolio/classes/class-admin.php:2190, dist/visual-portfolio/classes/class-admin.php:2319
|
686 |
msgid "Dropdown"
|
687 |
msgstr ""
|
688 |
|
689 |
+
#: dist/visual-portfolio/classes/class-admin.php:2282
|
690 |
msgid "Display Count"
|
691 |
msgstr ""
|
692 |
|
693 |
+
#: dist/visual-portfolio/classes/class-admin.php:2291
|
694 |
msgid "All Button Text"
|
695 |
msgstr ""
|
696 |
|
697 |
+
#: dist/visual-portfolio/classes/class-admin.php:2293
|
698 |
msgid "All"
|
699 |
msgstr ""
|
700 |
|
701 |
+
#: dist/visual-portfolio/classes/class-admin.php:2416
|
702 |
msgid "The search module is only available for PRO users."
|
703 |
msgstr ""
|
704 |
|
705 |
+
#: dist/visual-portfolio/classes/class-admin.php:2521
|
706 |
msgid "Type"
|
707 |
msgstr ""
|
708 |
|
709 |
+
#: dist/visual-portfolio/classes/class-admin.php:2528
|
710 |
msgid "Paged"
|
711 |
msgstr ""
|
712 |
|
713 |
+
#: dist/visual-portfolio/classes/class-admin.php:2533, dist/visual-portfolio/classes/class-admin.php:2594, dist/visual-portfolio/classes/class-admin.php:2651
|
714 |
msgid "Load More"
|
715 |
msgstr ""
|
716 |
|
717 |
+
#: dist/visual-portfolio/classes/class-admin.php:2538
|
718 |
msgid "Infinite"
|
719 |
msgstr ""
|
720 |
|
721 |
+
#: dist/visual-portfolio/classes/class-admin.php:2548
|
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:2563, dist/visual-portfolio/classes/class-admin.php:2578
|
726 |
msgid "Texts"
|
727 |
msgstr ""
|
728 |
|
729 |
+
#: dist/visual-portfolio/classes/class-admin.php:2595, dist/visual-portfolio/classes/class-admin.php:2596, dist/visual-portfolio/classes/class-admin.php:2652, dist/visual-portfolio/classes/class-admin.php:2653
|
730 |
msgid "Load more button label"
|
731 |
msgstr ""
|
732 |
|
733 |
+
#: dist/visual-portfolio/classes/class-admin.php:2613, dist/visual-portfolio/classes/class-admin.php:2670
|
734 |
msgid "Loading More..."
|
735 |
msgstr ""
|
736 |
|
737 |
+
#: dist/visual-portfolio/classes/class-admin.php:2614, dist/visual-portfolio/classes/class-admin.php:2615, dist/visual-portfolio/classes/class-admin.php:2671, dist/visual-portfolio/classes/class-admin.php:2672
|
738 |
msgid "Loading more button label"
|
739 |
msgstr ""
|
740 |
|
741 |
+
#: dist/visual-portfolio/classes/class-admin.php:2632, dist/visual-portfolio/classes/class-admin.php:2689
|
742 |
msgid "You’ve reached the end of the list"
|
743 |
msgstr ""
|
744 |
|
745 |
+
#: dist/visual-portfolio/classes/class-admin.php:2633, dist/visual-portfolio/classes/class-admin.php:2634, dist/visual-portfolio/classes/class-admin.php:2690, dist/visual-portfolio/classes/class-admin.php:2691
|
746 |
msgid "End of the list text"
|
747 |
msgstr ""
|
748 |
|
749 |
+
#: dist/visual-portfolio/classes/class-admin.php:2722
|
750 |
msgid "Display Numbers"
|
751 |
msgstr ""
|
752 |
|
753 |
+
#: dist/visual-portfolio/classes/class-admin.php:2737
|
754 |
msgid "Scroll to Top"
|
755 |
msgstr ""
|
756 |
|
757 |
+
#: dist/visual-portfolio/classes/class-admin.php:2752
|
758 |
msgid "Scroll to Top Offset"
|
759 |
msgstr ""
|
760 |
|
761 |
+
#: dist/visual-portfolio/classes/class-admin.php:2770
|
762 |
msgid "Hide on Reached End"
|
763 |
msgstr ""
|
764 |
|
765 |
+
#: dist/visual-portfolio/classes/class-admin.php:2800
|
766 |
msgid "Use <code>selector</code> rule to change block styles."
|
767 |
msgstr ""
|
768 |
|
769 |
+
#: dist/visual-portfolio/classes/class-admin.php:2801
|
770 |
msgid "Example:"
|
771 |
msgstr ""
|
772 |
|
773 |
+
#: dist/visual-portfolio/classes/class-admin.php:2847
|
774 |
msgid "Manual Selection"
|
775 |
msgstr ""
|
776 |
|
777 |
+
#: dist/visual-portfolio/classes/class-admin.php:2857
|
778 |
msgid "Current Query"
|
779 |
msgstr ""
|
780 |
|
858 |
msgid "Zoom"
|
859 |
msgstr ""
|
860 |
|
861 |
+
#: dist/visual-portfolio/classes/class-controls.php:158
|
862 |
msgid "Dynamic control callback function is not found."
|
863 |
msgstr ""
|
864 |
|
1210 |
msgstr ""
|
1211 |
|
1212 |
#: dist/visual-portfolio/classes/class-settings.php:370
|
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:380
|
readme.md
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
# Visual Portfolio, Posts & Image Gallery #
|
2 |
|
3 |
* Contributors: nko
|
4 |
-
* Tags: portfolio, gallery, photo gallery, image gallery,
|
5 |
* Requires at least: 5.4
|
6 |
* Tested up to: 5.6
|
7 |
* Requires PHP: 5.5.9
|
8 |
-
* Stable tag: 2.9.
|
9 |
* License: GPLv2 or later
|
10 |
* License URI: <http://www.gnu.org/licenses/gpl-2.0.html>
|
11 |
|
@@ -13,16 +13,16 @@ Modern gallery and portfolio plugin with advanced layouts editor. Clean and powe
|
|
13 |
|
14 |
## Description ##
|
15 |
|
16 |
-
|
|
|
17 |
|
18 |
-
|
19 |
|
20 |
-
|
21 |
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
* [GitHub](https://github.com/nk-o/visual-portfolio)
|
26 |
|
27 |
### Visual Gallery Builder ###
|
28 |
|
@@ -34,7 +34,7 @@ Despite the rich functionality, the Visual Portfolio is optimized as much as pos
|
|
34 |
|
35 |
All scripts and styles are loaded only when they are needed for the current page that displays your gallery. 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.
|
36 |
|
37 |
-
Smart adaptive image sizes fully supported.
|
38 |
|
39 |
### Layouts ###
|
40 |
|
@@ -54,15 +54,19 @@ Showcase your portfolio items ang gallery images with clean and beautiful visual
|
|
54 |
* [Fade Effect](https://visualportfolio.co/tiles-paged-pagination/)
|
55 |
* [Emerge Effect](https://visualportfolio.co/masonry-infinite-scroll/)
|
56 |
* [Fly Effect](https://visualportfolio.co/tiles-popup-gallery/)
|
57 |
-
* [
|
58 |
|
59 |
-
###
|
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.
|
|
|
|
|
|
|
|
|
66 |
|
67 |
### Photo Galleries ###
|
68 |
|
@@ -76,56 +80,63 @@ Visual Portfolio uses only modern solutions, and lightboxes are not an exception
|
|
76 |
|
77 |
**GPU Accelerated** <br> Hardware accelerated animations for better performance and seamless user experience.
|
78 |
|
79 |
-
**Smart Loading** <br>
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
|
81 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
|
83 |
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.
|
84 |
|
85 |
-
###
|
86 |
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
* Infinite Scroll
|
95 |
-
* Load More button
|
96 |
-
* Paged pagination
|
97 |
-
* Filter gallery layouts by Category or custom taxonomy
|
98 |
-
* Sort gallery items by date and title
|
99 |
-
* Custom item gutters
|
100 |
-
* Custom image sets
|
101 |
-
* Custom posts type layouts (not only portfolio)
|
102 |
-
* Posts by type
|
103 |
-
* Posts by specific ID
|
104 |
-
* Posts by taxonomies
|
105 |
-
* Custom order
|
106 |
-
* Images lazy load built-in - improves page loading speed
|
107 |
-
* Custom CSS for each portfolio layouts
|
108 |
-
* WPML and Polylang multi language support
|
109 |
-
* RTL support
|
110 |
-
* Elementor Page Builder support
|
111 |
-
* WPBakery Page Builder support
|
112 |
-
* Completely responsive and mobile ready – layouts automagically transforms to display perfectly on your screen size
|
113 |
-
* CSS variables and templates system for theme developers
|
114 |
-
|
115 |
-
### PRO ###
|
116 |
|
117 |
The Visual Portfolio plugin is also available in a professional version which includes more features and enhanced performance! [Learn more](https://visualportfolio.co/pro/?utm_source=wporg&utm_medium=link&utm_campaign=pro).
|
118 |
|
119 |
-
|
120 |
|
121 |
* Social Integrations - automatically fetch posts for your social networks to display in gallery on your site
|
122 |
-
* Instagram
|
123 |
* Youtube
|
|
|
124 |
* Vimeo
|
125 |
-
* Google Photos
|
126 |
* Flickr
|
127 |
* Twitter
|
128 |
* Dribbble
|
|
|
129 |
* Stylish interaction effects
|
130 |
* Hover Tilt Effect
|
131 |
* Custom Hover Image (useful for animated GIFs)
|
@@ -134,19 +145,60 @@ The Visual Portfolio plugin is also available in a professional version which in
|
|
134 |
* Instagram-like image filters for normal and hover states
|
135 |
* AJAX Improvements
|
136 |
* Advanced query builder settings
|
137 |
-
*
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
*
|
148 |
-
|
149 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
|
151 |
## Screenshots ##
|
152 |
|
@@ -217,6 +269,11 @@ For more information, feel free to visit [Visual Portfolio official website](htt
|
|
217 |
|
218 |
## Changelog ##
|
219 |
|
|
|
|
|
|
|
|
|
|
|
220 |
= 2.9.0 =
|
221 |
|
222 |
* improved plugin documentation <https://visualportfolio.co/documentation/getting-started/>. Added more pages with detailed descriptions
|
@@ -253,7 +310,7 @@ For more information, feel free to visit [Visual Portfolio official website](htt
|
|
253 |
|
254 |
= 2.8.0 =
|
255 |
|
256 |
-
* added support for Custom Hover image in
|
257 |
* added Vertical Gap option
|
258 |
* added icons to all categories toggles in editor
|
259 |
* added Popup Gallery setting to disable "Click to Zoom"
|
@@ -290,7 +347,7 @@ For more information, feel free to visit [Visual Portfolio official website](htt
|
|
290 |
|
291 |
= 2.6.2 =
|
292 |
|
293 |
-
* improved image lazyloading support for
|
294 |
* improved animated GIFs usage (we can't use resized images, used full size only)
|
295 |
* updated 3rd-party vendor scripts
|
296 |
* moved posts Focal Point picker panel to Featured image selector panel (better UI)
|
@@ -320,7 +377,7 @@ For more information, feel free to visit [Visual Portfolio official website](htt
|
|
320 |
= 2.5.0 =
|
321 |
|
322 |
* added Image Overlay setting on Emerge Style
|
323 |
-
* added support for images filters in
|
324 |
* changed Emerge image transform from scale to translateY
|
325 |
* fixed filter displaying in FireFox
|
326 |
* fixed custom scrollbar initialization after ajax load
|
@@ -337,14 +394,14 @@ For more information, feel free to visit [Visual Portfolio official website](htt
|
|
337 |
* added custom scrollbar for overlays with overflow (looks better, than system scrollbar)
|
338 |
* added more wp actions in portfolio output (helpful for developers)
|
339 |
* added iframe resize when Gutenberg preview device type changed
|
340 |
-
* updated
|
341 |
* fixed custom aspect ratio select (set default value if value is empty)
|
342 |
* fixed post taxonomies slug in the filter (fixes support for languages like Japanese, Chinese, Russian, etc.)
|
343 |
* fixed possible JS error 'jQuery is not defined'
|
344 |
|
345 |
= 2.3.0 =
|
346 |
|
347 |
-
* added
|
348 |
* added overlay support for Classic gallery style
|
349 |
* added options to change meta color, links color and links hover color for all items styles
|
350 |
* added options to show gallery items overlay on hover only, on default state only and always
|
@@ -497,7 +554,7 @@ Log:
|
|
497 |
* fixed AMP plugin integration PHP notices
|
498 |
* fixed AJAX loading with changed layout settings in editor preview
|
499 |
* fixed error in layouts preview when no items loaded
|
500 |
-
* a lot of code improvements for upcoming
|
501 |
|
502 |
= 1.15.1 =
|
503 |
|
@@ -680,7 +737,7 @@ Note: Don't forget to clear cache after plugin update. Changed portfolios with p
|
|
680 |
* added Menu Order in post based source
|
681 |
* added Mask property in control styles (for developers)
|
682 |
* added filters to extend default controls for layouts, items styles, filters and paginations
|
683 |
-
* added filter for control arguments `
|
684 |
* changed condition script for settings in layout editor, should improve performance
|
685 |
* changed popup gallery z-index to 1500 (like in WooCommerce)
|
686 |
* changed initialization method to Mutation Observers (portfolio will init automatically after ajax load)
|
1 |
# Visual Portfolio, Posts & Image Gallery #
|
2 |
|
3 |
* Contributors: nko
|
4 |
+
* Tags: portfolio, gallery, photo gallery, image gallery, wordpress gallery plugin
|
5 |
* Requires at least: 5.4
|
6 |
* Tested up to: 5.6
|
7 |
* Requires PHP: 5.5.9
|
8 |
+
* Stable tag: 2.9.1
|
9 |
* License: GPLv2 or later
|
10 |
* License URI: <http://www.gnu.org/licenses/gpl-2.0.html>
|
11 |
|
13 |
|
14 |
## Description ##
|
15 |
|
16 |
+
**Gallery & Portfolio Plugin For WordPress**
|
17 |
+
★★★★★<br>
|
18 |
|
19 |
+
**Portfolio websites are the most popular nowadays.** We created <a href="https://visualportfolio.co/?utm_source=wporg&utm_medium=link&utm_campaign=demo" target="_blank">**Visual Portfolio, Posts & Image Gallery WordPress plugin**</a>, to help every creative, agency, or photographers get access to the powerful tools they need to showcase their beautiful works and attract more love from their potential and existing customers.
|
20 |
|
21 |
+
<a href="https://visualportfolio.co/?utm_source=wporg&utm_medium=link&utm_campaign=demo" target="_blank">See Live Demo</a> | <a href="https://visualportfolio.co/documentation/getting-started/?utm_source=wporg&utm_medium=link&utm_campaign=docs" target="_blank">Documentation</a> | <a href="https://github.com/nk-o/visual-portfolio" target="_blank">GitHub</a>
|
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 |
+
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.
|
|
|
26 |
|
27 |
### Visual Gallery Builder ###
|
28 |
|
34 |
|
35 |
All scripts and styles are loaded only when they are needed for the current page that displays your gallery. 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.
|
36 |
|
37 |
+
Smart adaptive image sizes fully supported in any gallery, created with Visual Portfolio plugin.
|
38 |
|
39 |
### Layouts ###
|
40 |
|
54 |
* [Fade Effect](https://visualportfolio.co/tiles-paged-pagination/)
|
55 |
* [Emerge Effect](https://visualportfolio.co/masonry-infinite-scroll/)
|
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 |
|
80 |
|
81 |
**GPU Accelerated** <br> Hardware accelerated animations for better performance and seamless user experience.
|
82 |
|
83 |
+
**Smart Loading** <br> Gallery images are responsive and loaded progressively using lazy loading on demand.
|
84 |
+
|
85 |
+
**Social Sharing** <br> You can allow users to share photos on Facebook, Twitter, and Pinterest with social sharing buttons.
|
86 |
+
|
87 |
+
### Audio and Video Support ###
|
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 |
|
91 |
+
Supported Video Vendors:
|
92 |
+
|
93 |
+
* Youtube
|
94 |
+
* Vimeo
|
95 |
+
* IGTV (Instagram)
|
96 |
+
* TikTok
|
97 |
+
* Twitch
|
98 |
+
* Facebook Video
|
99 |
+
* DailyMotion
|
100 |
+
* Wistia
|
101 |
+
* VideoPress
|
102 |
+
* Rutube
|
103 |
+
* Metacafe
|
104 |
+
* Self Hosted Video
|
105 |
+
|
106 |
+
Supported Audio Vendors:
|
107 |
+
|
108 |
+
* Spotify
|
109 |
+
* SoundCloud
|
110 |
+
* Mixcloud
|
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 |
The Visual Portfolio plugin is also available in a professional version which includes more features and enhanced performance! [Learn more](https://visualportfolio.co/pro/?utm_source=wporg&utm_medium=link&utm_campaign=pro).
|
129 |
|
130 |
+
#### Some Neat Pro Features ####
|
131 |
|
132 |
* Social Integrations - automatically fetch posts for your social networks to display in gallery on your site
|
|
|
133 |
* Youtube
|
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)
|
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 |
+
If you don't want any of the Pro features, but want to support us, this is the only way you may do it.
|
152 |
+
|
153 |
+
### More Features ###
|
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.
|
157 |
+
|
158 |
+
* **AJAX Loading and Pagination**
|
159 |
+
Every dynamic part of the Visual Portfolio plugin is using AJAX to update the gallery content in live mode. To split long portfolio lists we prepared 3 types of pagination:
|
160 |
+
* Infinite Scroll
|
161 |
+
* Load More button
|
162 |
+
* Paged pagination
|
163 |
+
|
164 |
+
* **Filter**
|
165 |
+
Filter your gallery and portfolio by taxonomies (mostly categories and tags). Let users select a category and see the relevant items.
|
166 |
+
|
167 |
+
* **Sort gallery items by date and title**
|
168 |
+
Users may sort gallery items by date and title.
|
169 |
+
|
170 |
+
* **GIFs Support**
|
171 |
+
Our plugin automatically displays the animated GIFs in photo galleries. Also, you can show the animated GIFs on mouseover with the Pro plugin.
|
172 |
+
|
173 |
+
* **Items Gutters**
|
174 |
+
Manually adjust the spacing between gallery and portfolio items.
|
175 |
+
|
176 |
+
* **Images Lazy Loading**
|
177 |
+
Images lazy loading boost your page loading speed. You don't need to worry about it, just use your beautiful images in the gallery, Visual Portfolio will do all the work for you.
|
178 |
+
|
179 |
+
* **Images Aspect Ratio**
|
180 |
+
All built-in gallery layouts support custom image aspect ratio. You don't need to crop the image manually.
|
181 |
+
|
182 |
+
* **Images Focal Point**
|
183 |
+
Sometimes it is very important to specify the focal point so that the custom aspect ratio does not cut off important parts of the photos. For example, people's faces on the portrait photos.
|
184 |
+
|
185 |
+
* **Custom Links for Gallery Images**
|
186 |
+
By default, gallery images will contain the links to original images. You can manually set the custom links, for example, to a website or Youtube video.
|
187 |
+
|
188 |
+
* **RTL Support**
|
189 |
+
Visual Portfolio natively supports RTL languages, proper styles loaded automatically, without user interaction.
|
190 |
+
|
191 |
+
* **Elementor and WPBakery Page Builder support**
|
192 |
+
There is a helpful widget for Elementor and shortcode for WPBakery Page Builder, which will let you select one of the available Saved Layouts and output it.
|
193 |
+
|
194 |
+
* **Responsive and Mobile Ready**
|
195 |
+
Visual Portfolio and Galleries are completely responsive and mobile ready – layouts automagically transforms to display perfectly on your screen size.
|
196 |
+
|
197 |
+
* **Custom CSS**
|
198 |
+
Deeply customize the look of your gallery using custom CSS and CSS Variables.
|
199 |
+
|
200 |
+
* **... And Much More**
|
201 |
+
All available features you can find on the [plugin's site](https://visualportfolio.co/) and [documentation](https://visualportfolio.co/documentation/getting-started/).
|
202 |
|
203 |
## Screenshots ##
|
204 |
|
269 |
|
270 |
## Changelog ##
|
271 |
|
272 |
+
= 2.9.1 =
|
273 |
+
|
274 |
+
* added full support for WPML plugin
|
275 |
+
* changed some PHP filter names + added fallbacks to prevent bugs with existing extensions
|
276 |
+
|
277 |
= 2.9.0 =
|
278 |
|
279 |
* improved plugin documentation <https://visualportfolio.co/documentation/getting-started/>. Added more pages with detailed descriptions
|
310 |
|
311 |
= 2.8.0 =
|
312 |
|
313 |
+
* added support for Custom Hover image in Pro version <https://visualportfolio.co/custom-hover-image-animated-gif/>
|
314 |
* added Vertical Gap option
|
315 |
* added icons to all categories toggles in editor
|
316 |
* added Popup Gallery setting to disable "Click to Zoom"
|
347 |
|
348 |
= 2.6.2 =
|
349 |
|
350 |
+
* improved image lazyloading support for Pro plugin and social integrations
|
351 |
* improved animated GIFs usage (we can't use resized images, used full size only)
|
352 |
* updated 3rd-party vendor scripts
|
353 |
* moved posts Focal Point picker panel to Featured image selector panel (better UI)
|
377 |
= 2.5.0 =
|
378 |
|
379 |
* added Image Overlay setting on Emerge Style
|
380 |
+
* added support for images filters in Pro plugin version <https://visualportfolio.co/masonry-image-filters/>
|
381 |
* changed Emerge image transform from scale to translateY
|
382 |
* fixed filter displaying in FireFox
|
383 |
* fixed custom scrollbar initialization after ajax load
|
394 |
* added custom scrollbar for overlays with overflow (looks better, than system scrollbar)
|
395 |
* added more wp actions in portfolio output (helpful for developers)
|
396 |
* added iframe resize when Gutenberg preview device type changed
|
397 |
+
* updated Pro plugin pricing plans. Added a single site license, which many users asked for
|
398 |
* fixed custom aspect ratio select (set default value if value is empty)
|
399 |
* fixed post taxonomies slug in the filter (fixes support for languages like Japanese, Chinese, Russian, etc.)
|
400 |
* fixed possible JS error 'jQuery is not defined'
|
401 |
|
402 |
= 2.3.0 =
|
403 |
|
404 |
+
* added Pro version support <https://visualportfolio.co/pro/>
|
405 |
* added overlay support for Classic gallery style
|
406 |
* added options to change meta color, links color and links hover color for all items styles
|
407 |
* added options to show gallery items overlay on hover only, on default state only and always
|
554 |
* fixed AMP plugin integration PHP notices
|
555 |
* fixed AJAX loading with changed layout settings in editor preview
|
556 |
* fixed error in layouts preview when no items loaded
|
557 |
+
* a lot of code improvements for upcoming Pro plugin
|
558 |
|
559 |
= 1.15.1 =
|
560 |
|
737 |
* added Menu Order in post based source
|
738 |
* added Mask property in control styles (for developers)
|
739 |
* added filters to extend default controls for layouts, items styles, filters and paginations
|
740 |
+
* added filter for control arguments `vpf_registered_control_args` (developers may change controls settings in layouts editor)
|
741 |
* changed condition script for settings in layout editor, should improve performance
|
742 |
* changed popup gallery z-index to 1500 (like in WooCommerce)
|
743 |
* changed initialization method to Mutation Observers (portfolio will init automatically after ajax load)
|
wpml-config.xml
CHANGED
@@ -25,24 +25,9 @@
|
|
25 |
</gutenberg-block>
|
26 |
</gutenberg-blocks>
|
27 |
|
28 |
-
<custom-fields>
|
29 |
-
<custom-field action="translate">vp_no_items_notice</custom-field>
|
30 |
-
<custom-field action="translate">vp_items_style_default__date_format</custom-field>
|
31 |
-
<custom-field action="translate">vp_items_style_default__read_more_label</custom-field>
|
32 |
-
<custom-field action="translate">vp_items_style_fade__date_format</custom-field>
|
33 |
-
<custom-field action="translate">vp_items_style_fly__date_format</custom-field>
|
34 |
-
<custom-field action="translate">vp_items_style_emerge__date_format</custom-field>
|
35 |
-
<custom-field action="translate">vp_filter_text_all</custom-field>
|
36 |
-
<custom-field action="translate">vp_pagination_infinite_text_load</custom-field>
|
37 |
-
<custom-field action="translate">vp_pagination_infinite_text_loading</custom-field>
|
38 |
-
<custom-field action="translate">vp_pagination_infinite_text_end_list</custom-field>
|
39 |
-
<custom-field action="translate">vp_pagination_load_more_text_load</custom-field>
|
40 |
-
<custom-field action="translate">vp_pagination_load_more_text_loading</custom-field>
|
41 |
-
<custom-field action="translate">vp_pagination_load_more_text_end_list</custom-field>
|
42 |
-
</custom-fields>
|
43 |
-
|
44 |
<custom-types>
|
45 |
<custom-type translate="1">portfolio</custom-type>
|
|
|
46 |
</custom-types>
|
47 |
<taxonomies>
|
48 |
<taxonomy translate="1">portfolio_category</taxonomy>
|
25 |
</gutenberg-block>
|
26 |
</gutenberg-blocks>
|
27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
<custom-types>
|
29 |
<custom-type translate="1">portfolio</custom-type>
|
30 |
+
<custom-type translate="1">vp_lists</custom-type>
|
31 |
</custom-types>
|
32 |
<taxonomies>
|
33 |
<taxonomy translate="1">portfolio_category</taxonomy>
|