Version Description
Download this release
Release Info
Developer | marsian |
Plugin | TemplatesNext ToolKit |
Version | 3.1.8 |
Comparing to | |
See all releases |
Code changes from version 3.1.7 to 3.1.8
- css/grabbing.png +0 -0
- css/tx-style.css +2 -0
- custom-post-types/portfolio-type.php +0 -2
- custom-post-types/testimonials-type.php +1 -0
- inc/el-widgets/assets/css/txel-addons.css +136 -1
- inc/el-widgets/assets/js/tx-slider.js +0 -6
- inc/el-widgets/assets/js/tx-testimonials.js +39 -0
- inc/el-widgets/elementor-addon.php +6 -3
- inc/el-widgets/widgets/no-image.png +0 -0
- inc/el-widgets/widgets/portfolios.php +18 -7
- inc/el-widgets/widgets/slider.php +2 -1
- inc/el-widgets/widgets/team.php +2 -1
- inc/el-widgets/widgets/testimonials.php +252 -0
- readme.txt +12 -8
- screenshot-1.gif +0 -0
- screenshot-1.png +0 -0
- screenshot-2.gif +0 -0
- screenshot-2.png +0 -0
- screenshot-3.gif +0 -0
- tx-toolkit.php +1 -1
css/grabbing.png
ADDED
Binary file
|
css/tx-style.css
CHANGED
@@ -1941,6 +1941,7 @@ span.tx-animate {
|
|
1941 |
.tx-slider.softvignette .tx-slider-box .tx-slide-content .tx-slide-details p,
|
1942 |
.tx-slider.hardvignette .tx-slider-box .tx-slide-content .tx-slide-details p,
|
1943 |
.tx-slider.darkoverlay .tx-slider-box .tx-slide-content .tx-slide-details p,
|
|
|
1944 |
.tx-slider.pattern .tx-slider-box .tx-slide-content .tx-slide-details p,
|
1945 |
.tx-slider.siftvignette .tx-slider-box .tx-slide-content .tx-slide-details p {
|
1946 |
background: transparent;
|
@@ -1953,6 +1954,7 @@ span.tx-animate {
|
|
1953 |
.tx-slider.softvignette .tx-slider-box .tx-slide-content .tx-slide-title,
|
1954 |
.tx-slider.hardvignette .tx-slider-box .tx-slide-content .tx-slide-title,
|
1955 |
.tx-slider.darkoverlay .tx-slider-box .tx-slide-content .tx-slide-title,
|
|
|
1956 |
.tx-slider.pattern .tx-slider-box .tx-slide-content .tx-slide-title {
|
1957 |
background: transparent;
|
1958 |
padding-left: 0px;
|
1941 |
.tx-slider.softvignette .tx-slider-box .tx-slide-content .tx-slide-details p,
|
1942 |
.tx-slider.hardvignette .tx-slider-box .tx-slide-content .tx-slide-details p,
|
1943 |
.tx-slider.darkoverlay .tx-slider-box .tx-slide-content .tx-slide-details p,
|
1944 |
+
.tx-slider.custombg .tx-slider-box .tx-slide-content .tx-slide-details p,
|
1945 |
.tx-slider.pattern .tx-slider-box .tx-slide-content .tx-slide-details p,
|
1946 |
.tx-slider.siftvignette .tx-slider-box .tx-slide-content .tx-slide-details p {
|
1947 |
background: transparent;
|
1954 |
.tx-slider.softvignette .tx-slider-box .tx-slide-content .tx-slide-title,
|
1955 |
.tx-slider.hardvignette .tx-slider-box .tx-slide-content .tx-slide-title,
|
1956 |
.tx-slider.darkoverlay .tx-slider-box .tx-slide-content .tx-slide-title,
|
1957 |
+
.tx-slider.custombg .tx-slider-box .tx-slide-content .tx-slide-title,
|
1958 |
.tx-slider.pattern .tx-slider-box .tx-slide-content .tx-slide-title {
|
1959 |
background: transparent;
|
1960 |
padding-left: 0px;
|
custom-post-types/portfolio-type.php
CHANGED
@@ -10,8 +10,6 @@
|
|
10 |
|
11 |
function tx_portfolio_register() {
|
12 |
|
13 |
-
//$portfolio_permalinks = get_option( 'nx_portfolio_permalinks' );
|
14 |
-
//$portfolio_permalink = empty( $portfolio_permalinks['portfolio_base'] ) ? _x( 'portfolio', 'slug', 'nx-admin' ) : $portfolio_permalinks['portfolio_base'];
|
15 |
$portfolio_permalink = _x( 'portfolio', 'slug', 'nx-admin' );
|
16 |
|
17 |
$labels = array(
|
10 |
|
11 |
function tx_portfolio_register() {
|
12 |
|
|
|
|
|
13 |
$portfolio_permalink = _x( 'portfolio', 'slug', 'nx-admin' );
|
14 |
|
15 |
$labels = array(
|
custom-post-types/testimonials-type.php
CHANGED
@@ -20,6 +20,7 @@
|
|
20 |
'search_items' => __('Search Testimonials', "nx-admin"),
|
21 |
'not_found' => __('No testimonials have been added yet', "nx-admin"),
|
22 |
'not_found_in_trash' => __('Nothing found in Trash', "nx-admin"),
|
|
|
23 |
'parent_item_colon' => ''
|
24 |
);
|
25 |
|
20 |
'search_items' => __('Search Testimonials', "nx-admin"),
|
21 |
'not_found' => __('No testimonials have been added yet', "nx-admin"),
|
22 |
'not_found_in_trash' => __('Nothing found in Trash', "nx-admin"),
|
23 |
+
'featured_image' => __( 'Testimonial Photo', "nx-admin" ),
|
24 |
'parent_item_colon' => ''
|
25 |
);
|
26 |
|
inc/el-widgets/assets/css/txel-addons.css
CHANGED
@@ -8,4 +8,139 @@
|
|
8 |
|
9 |
.dialog-type-lightbox {
|
10 |
z-index: 300010;
|
11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
9 |
.dialog-type-lightbox {
|
10 |
z-index: 300010;
|
11 |
+
}
|
12 |
+
|
13 |
+
.tx-testiin2 {
|
14 |
+
padding: 16px;
|
15 |
+
}
|
16 |
+
|
17 |
+
.tx-testiin2 .tx-testi2-item span.tx-testi2-text {
|
18 |
+
display: block;
|
19 |
+
clear: both;
|
20 |
+
min-height: 48px;
|
21 |
+
padding-bottom: 16px;
|
22 |
+
}
|
23 |
+
|
24 |
+
.cite-wrap {
|
25 |
+
display: block;
|
26 |
+
clear: both;
|
27 |
+
}
|
28 |
+
|
29 |
+
.cite-wrap-inner {
|
30 |
+
display: inline-block;
|
31 |
+
position: relative;
|
32 |
+
padding-left: 120px;
|
33 |
+
min-height: 100px;
|
34 |
+
|
35 |
+
text-align: left;
|
36 |
+
}
|
37 |
+
|
38 |
+
.tx-testiin2 .tx-testi2-item span.tx-testi2-photo {
|
39 |
+
display: inline-block;
|
40 |
+
height: 100px;
|
41 |
+
width: 100px;
|
42 |
+
border-radius: 50px;
|
43 |
+
overflow: hidden;
|
44 |
+
|
45 |
+
position: absolute;
|
46 |
+
left: 0px;
|
47 |
+
top: 0px;
|
48 |
+
}
|
49 |
+
|
50 |
+
.tx-testiin2 .tx-testi2-item span.tx-testi2-photo img {
|
51 |
+
height: 100px;
|
52 |
+
width: 100px;
|
53 |
+
}
|
54 |
+
|
55 |
+
.tx-testiin2 .tx-testi2-item span.tx-testi2-name {
|
56 |
+
display: block;
|
57 |
+
clear: both;
|
58 |
+
margin-top: 12px;
|
59 |
+
font-size: 15px;
|
60 |
+
font-weight: 600;
|
61 |
+
line-height: 28px;
|
62 |
+
}
|
63 |
+
|
64 |
+
.tx-testiin2 .tx-testi2-item span.tx-testi2-desig {
|
65 |
+
display: block;
|
66 |
+
clear: both;
|
67 |
+
font-size: 12px;
|
68 |
+
color: #777;
|
69 |
+
padding-right: 6px;
|
70 |
+
line-height: 16px;
|
71 |
+
}
|
72 |
+
|
73 |
+
.tx-testiin2 .tx-testi2-item span.tx-testi2-org {
|
74 |
+
display: inline-block;
|
75 |
+
clear: both;
|
76 |
+
font-size: 12px;
|
77 |
+
line-height: 16px;
|
78 |
+
color: #464646;
|
79 |
+
font-weight: 500;
|
80 |
+
}
|
81 |
+
|
82 |
+
.tx-testiin2 .owl-controls {
|
83 |
+
position: relative;
|
84 |
+
padding-top: 12px;
|
85 |
+
}
|
86 |
+
|
87 |
+
.tx-testiin2 .owl-controls .owl-buttons {
|
88 |
+
display: inline-block;
|
89 |
+
}
|
90 |
+
|
91 |
+
.tx-testiin2 .owl-controls .owl-buttons .owl-prev,
|
92 |
+
.tx-testiin2 .owl-controls .owl-buttons .owl-next {
|
93 |
+
display: inline-block;
|
94 |
+
height: 24px;
|
95 |
+
width: 24px;
|
96 |
+
font-size: 12px;
|
97 |
+
text-align: center;
|
98 |
+
line-height: 24px;
|
99 |
+
border: 1px solid #bbb;
|
100 |
+
margin: 1px;
|
101 |
+
|
102 |
+
transition-property: all;
|
103 |
+
transition-duration: 0.3s;
|
104 |
+
transition-timing-function: ease-in-out;
|
105 |
+
transition-delay: 0s;
|
106 |
+
}
|
107 |
+
|
108 |
+
|
109 |
+
.tx-testiin2 .owl-controls .owl-buttons .owl-prev span,
|
110 |
+
.tx-testiin2 .owl-controls .owl-buttons .owl-next span {
|
111 |
+
display: block;
|
112 |
+
height: 24px;
|
113 |
+
width: 24px;
|
114 |
+
font-size: 12px;
|
115 |
+
text-align: center;
|
116 |
+
line-height: 24px;
|
117 |
+
color: #999;
|
118 |
+
|
119 |
+
transition-property: all;
|
120 |
+
transition-duration: 0.3s;
|
121 |
+
transition-timing-function: ease-in-out;
|
122 |
+
transition-delay: 0s;
|
123 |
+
}
|
124 |
+
|
125 |
+
.tx-testiin2 .owl-controls .owl-buttons .owl-prev:hover span,
|
126 |
+
.tx-testiin2 .owl-controls .owl-buttons .owl-next:hover span {
|
127 |
+
color: #FFF;
|
128 |
+
background-color: #666;
|
129 |
+
}
|
130 |
+
|
131 |
+
.tx-testiin2 .owl-controls .owl-buttons .owl-prev span:before,
|
132 |
+
.tx-testiin2 .owl-controls .owl-buttons .owl-next span:before {
|
133 |
+
font-size: 14px;
|
134 |
+
line-height: 24px;
|
135 |
+
}
|
136 |
+
|
137 |
+
.tx-align-center .owl-controls {
|
138 |
+
text-align: center;
|
139 |
+
}
|
140 |
+
.tx-align-left .owl-controls {
|
141 |
+
text-align: left;
|
142 |
+
}
|
143 |
+
.tx-align-right .owl-controls {
|
144 |
+
text-align: right;
|
145 |
+
}
|
146 |
+
|
inc/el-widgets/assets/js/tx-slider.js
CHANGED
@@ -10,16 +10,10 @@
|
|
10 |
|
11 |
if (tx_slider.length > 0) {
|
12 |
|
13 |
-
console.log( "testing elm" );
|
14 |
-
|
15 |
var _this = tx_slider;
|
16 |
var slider_delay = _this.data('delay');
|
17 |
var slider_transition = _this.data('transition');
|
18 |
|
19 |
-
if( slider_fullscreen == 'yes' )
|
20 |
-
{
|
21 |
-
}
|
22 |
-
|
23 |
if( slider_transition == 'slide' )
|
24 |
{
|
25 |
tx_slider.owlCarousel({
|
10 |
|
11 |
if (tx_slider.length > 0) {
|
12 |
|
|
|
|
|
13 |
var _this = tx_slider;
|
14 |
var slider_delay = _this.data('delay');
|
15 |
var slider_transition = _this.data('transition');
|
16 |
|
|
|
|
|
|
|
|
|
17 |
if( slider_transition == 'slide' )
|
18 |
{
|
19 |
tx_slider.owlCarousel({
|
inc/el-widgets/assets/js/tx-testimonials.js
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
( function( $ ) {
|
2 |
+
/**
|
3 |
+
* @param $scope The Widget wrapper element as a jQuery element
|
4 |
+
* @param $ The jQuery alias
|
5 |
+
*/
|
6 |
+
var WidgetTxTestimonials = function( $scope, $ ) {
|
7 |
+
|
8 |
+
var tx_testimonials = $scope.find('.tx-testiin2');
|
9 |
+
|
10 |
+
if ( tx_testimonials.length > 0 ) {
|
11 |
+
|
12 |
+
console.log("Testing Testi");
|
13 |
+
|
14 |
+
var _this = tx_testimonials;
|
15 |
+
var testi_delay = _this.data('delay');
|
16 |
+
|
17 |
+
tx_testimonials.owlCarousel({
|
18 |
+
autoPlay : testi_delay,
|
19 |
+
stopOnHover : true,
|
20 |
+
navigation: true,
|
21 |
+
paginationSpeed : 1000,
|
22 |
+
goToFirstSpeed : 2000,
|
23 |
+
singleItem : true,
|
24 |
+
autoHeight : true,
|
25 |
+
navigationText: ['<span class="genericon genericon-leftarrow"></span>','<span class="genericon genericon-rightarrow"></span>'],
|
26 |
+
addClassActive: true,
|
27 |
+
theme : "tx-owl-theme",
|
28 |
+
pagination : true
|
29 |
+
});
|
30 |
+
|
31 |
+
}
|
32 |
+
|
33 |
+
};
|
34 |
+
|
35 |
+
// Make sure you run this code under Elementor.
|
36 |
+
$( window ).on( 'elementor/frontend/init', function() {
|
37 |
+
elementorFrontend.hooks.addAction( 'frontend/element_ready/tx-testimonials.default', WidgetTxTestimonials );
|
38 |
+
} );
|
39 |
+
} )( jQuery );
|
inc/el-widgets/elementor-addon.php
CHANGED
@@ -63,7 +63,8 @@ class Plugin {
|
|
63 |
wp_register_script( 'elementor-tx-portfolios', plugins_url( '/assets/js/tx-portfolios.js', __FILE__ ), [ 'jquery' ], false, true );
|
64 |
wp_register_script( 'elementor-tx-slider', plugins_url( '/assets/js/tx-slider.js', __FILE__ ), [ 'jquery' ], false, true );
|
65 |
wp_register_script( 'elementor-tx-team', plugins_url( '/assets/js/tx-team.js', __FILE__ ), [ 'jquery' ], false, true );
|
66 |
-
wp_register_script( 'elementor-tx-posts', plugins_url( '/assets/js/tx-posts.js', __FILE__ ), [ 'jquery' ], false, true );
|
|
|
67 |
}
|
68 |
|
69 |
public function txel_widget_styles() {
|
@@ -83,7 +84,8 @@ class Plugin {
|
|
83 |
require_once( __DIR__ . '/widgets/portfolios.php' );
|
84 |
require_once( __DIR__ . '/widgets/slider.php' );
|
85 |
require_once( __DIR__ . '/widgets/team.php' );
|
86 |
-
require_once( __DIR__ . '/widgets/txposts.php' );
|
|
|
87 |
if(class_exists('WPCF7')) {
|
88 |
require_once( __DIR__ . '/widgets/wpcf7.php' );
|
89 |
}
|
@@ -108,7 +110,8 @@ class Plugin {
|
|
108 |
\Elementor\Plugin::instance()->widgets_manager->register_widget_type( new Widgets\tx_team() );
|
109 |
\Elementor\Plugin::instance()->widgets_manager->register_widget_type( new Widgets\tx_portfolio() );
|
110 |
\Elementor\Plugin::instance()->widgets_manager->register_widget_type( new Widgets\tx_slider() );
|
111 |
-
\Elementor\Plugin::instance()->widgets_manager->register_widget_type( new Widgets\tx_posts() );
|
|
|
112 |
if(class_exists('WPCF7')) {
|
113 |
\Elementor\Plugin::instance()->widgets_manager->register_widget_type( new Widgets\tx_wpcf7() );
|
114 |
}
|
63 |
wp_register_script( 'elementor-tx-portfolios', plugins_url( '/assets/js/tx-portfolios.js', __FILE__ ), [ 'jquery' ], false, true );
|
64 |
wp_register_script( 'elementor-tx-slider', plugins_url( '/assets/js/tx-slider.js', __FILE__ ), [ 'jquery' ], false, true );
|
65 |
wp_register_script( 'elementor-tx-team', plugins_url( '/assets/js/tx-team.js', __FILE__ ), [ 'jquery' ], false, true );
|
66 |
+
wp_register_script( 'elementor-tx-posts', plugins_url( '/assets/js/tx-posts.js', __FILE__ ), [ 'jquery' ], false, true );
|
67 |
+
wp_register_script( 'elementor-tx-testimonials', plugins_url( '/assets/js/tx-testimonials.js', __FILE__ ), [ 'jquery' ], false, true );
|
68 |
}
|
69 |
|
70 |
public function txel_widget_styles() {
|
84 |
require_once( __DIR__ . '/widgets/portfolios.php' );
|
85 |
require_once( __DIR__ . '/widgets/slider.php' );
|
86 |
require_once( __DIR__ . '/widgets/team.php' );
|
87 |
+
require_once( __DIR__ . '/widgets/txposts.php' );
|
88 |
+
require_once( __DIR__ . '/widgets/testimonials.php' );
|
89 |
if(class_exists('WPCF7')) {
|
90 |
require_once( __DIR__ . '/widgets/wpcf7.php' );
|
91 |
}
|
110 |
\Elementor\Plugin::instance()->widgets_manager->register_widget_type( new Widgets\tx_team() );
|
111 |
\Elementor\Plugin::instance()->widgets_manager->register_widget_type( new Widgets\tx_portfolio() );
|
112 |
\Elementor\Plugin::instance()->widgets_manager->register_widget_type( new Widgets\tx_slider() );
|
113 |
+
\Elementor\Plugin::instance()->widgets_manager->register_widget_type( new Widgets\tx_posts() );
|
114 |
+
\Elementor\Plugin::instance()->widgets_manager->register_widget_type( new Widgets\tx_testimonials() );
|
115 |
if(class_exists('WPCF7')) {
|
116 |
\Elementor\Plugin::instance()->widgets_manager->register_widget_type( new Widgets\tx_wpcf7() );
|
117 |
}
|
inc/el-widgets/widgets/no-image.png
ADDED
Binary file
|
inc/el-widgets/widgets/portfolios.php
CHANGED
@@ -116,6 +116,18 @@ class tx_portfolio extends Widget_Base {
|
|
116 |
],
|
117 |
]
|
118 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
$this->add_control(
|
120 |
'items',
|
121 |
[
|
@@ -206,15 +218,13 @@ class tx_portfolio extends Widget_Base {
|
|
206 |
protected function render() {
|
207 |
$settings = $this->get_settings_for_display();
|
208 |
|
209 |
-
//echo '[tx_portfolio style="' . $settings['style'] . '" items="' . $settings['items'] . '" columns="' . $settings['columns'] . '" hide_cat="' . $settings['hide_cat'] . '" hide_excerpt="' . $settings['hide_excerpt'] . '" show_pagination="' . $settings['show_pagination'] . '" carousel="' . $settings['carousel'] . '"]';
|
210 |
-
//echo do_shortcode('[tx_portfolio style="' . $settings['style'] . '" items="' . $settings['items'] . '" columns="' . $settings['columns'] . '" hide_cat="' . $settings['hide_cat'] . '" hide_excerpt="' . $settings['hide_excerpt'] . '" show_pagination="' . $settings['show_pagination'] . '" carousel="' . $settings['carousel'] . '"]');
|
211 |
-
|
212 |
$style = $settings['style'];
|
213 |
$items = $settings['items'];
|
214 |
$columns = $settings['columns'];
|
215 |
$hide_cat = $settings['hide_cat'];
|
216 |
$hide_excerpt = $settings['hide_excerpt'];
|
217 |
$show_pagination = $settings['show_pagination'];
|
|
|
218 |
$carousel = '';
|
219 |
|
220 |
$blog_term = '';
|
@@ -255,9 +265,9 @@ class tx_portfolio extends Widget_Base {
|
|
255 |
|
256 |
$cat_slug = '';
|
257 |
|
258 |
-
if( !empty($
|
259 |
-
$cat_slug = $
|
260 |
-
}
|
261 |
|
262 |
wp_reset_query();
|
263 |
global $post;
|
@@ -316,7 +326,8 @@ class tx_portfolio extends Widget_Base {
|
|
316 |
|
317 |
$return_string .= '</div></div>';
|
318 |
endwhile; else :
|
319 |
-
$return_string .= '<div class="tx-noposts"><p>Sorry, no portfolio matched your criteria.
|
|
|
320 |
endif;
|
321 |
|
322 |
$return_string .= '</div>';
|
116 |
],
|
117 |
]
|
118 |
);
|
119 |
+
$this->add_control(
|
120 |
+
'category',
|
121 |
+
[
|
122 |
+
'label' => __( 'Category', 'tx' ),
|
123 |
+
'type' => \Elementor\Controls_Manager::SELECT2,
|
124 |
+
'options' => tx_get_category_list_el('portfolio-category'),
|
125 |
+
'default' => 'all',
|
126 |
+
'dynamic' => [
|
127 |
+
'active' => true,
|
128 |
+
],
|
129 |
+
]
|
130 |
+
);
|
131 |
$this->add_control(
|
132 |
'items',
|
133 |
[
|
218 |
protected function render() {
|
219 |
$settings = $this->get_settings_for_display();
|
220 |
|
|
|
|
|
|
|
221 |
$style = $settings['style'];
|
222 |
$items = $settings['items'];
|
223 |
$columns = $settings['columns'];
|
224 |
$hide_cat = $settings['hide_cat'];
|
225 |
$hide_excerpt = $settings['hide_excerpt'];
|
226 |
$show_pagination = $settings['show_pagination'];
|
227 |
+
$category = $settings['category'];
|
228 |
$carousel = '';
|
229 |
|
230 |
$blog_term = '';
|
265 |
|
266 |
$cat_slug = '';
|
267 |
|
268 |
+
if ( !empty($category) && $category != 'all' ) {
|
269 |
+
$cat_slug = $category;
|
270 |
+
}
|
271 |
|
272 |
wp_reset_query();
|
273 |
global $post;
|
326 |
|
327 |
$return_string .= '</div></div>';
|
328 |
endwhile; else :
|
329 |
+
$return_string .= '<div class="tx-noposts"><p>Sorry, no portfolio matched your criteria. <br />';
|
330 |
+
$return_string .= 'Please add few portfolio along with featured images using Dashboard menu "Portfolio" > "Add New"..</p></div>';
|
331 |
endif;
|
332 |
|
333 |
$return_string .= '</div>';
|
inc/el-widgets/widgets/slider.php
CHANGED
@@ -434,7 +434,8 @@ class tx_slider extends Widget_Base {
|
|
434 |
|
435 |
|
436 |
endwhile; else :
|
437 |
-
$return_string .= '<div class="tx-noposts"><p>Sorry, no slider matched your criteria.
|
|
|
438 |
endif;
|
439 |
|
440 |
$return_string .= '</div>';
|
434 |
|
435 |
|
436 |
endwhile; else :
|
437 |
+
$return_string .= '<div class="tx-noposts"><p>Sorry, no slider matched your criteria. <br />';
|
438 |
+
$return_string .= 'Please add few slides via Dasboard menu "itrans slider" along with featured image.</p></div>';
|
439 |
endif;
|
440 |
|
441 |
$return_string .= '</div>';
|
inc/el-widgets/widgets/team.php
CHANGED
@@ -218,7 +218,8 @@ class tx_team extends Widget_Base {
|
|
218 |
|
219 |
|
220 |
endwhile; else :
|
221 |
-
$return_string .= '<div class="tx-noposts"><p>Sorry, no team member matched your criteria.
|
|
|
222 |
endif;
|
223 |
|
224 |
$return_string .= '<div class="clear"></div>';
|
218 |
|
219 |
|
220 |
endwhile; else :
|
221 |
+
$return_string .= '<div class="tx-noposts"><p>Sorry, no team member matched your criteria. <br />';
|
222 |
+
$return_string .= 'Please add few team member along with featured image using Dashboard menu "Team" > "Add New".</p></div>';
|
223 |
endif;
|
224 |
|
225 |
$return_string .= '<div class="clear"></div>';
|
inc/el-widgets/widgets/testimonials.php
ADDED
@@ -0,0 +1,252 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace TXElementorAddons\Widgets;
|
3 |
+
|
4 |
+
use Elementor\Widget_Base;
|
5 |
+
use Elementor\Controls_Manager;
|
6 |
+
|
7 |
+
|
8 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
9 |
+
|
10 |
+
/**
|
11 |
+
* @since 1.1.0
|
12 |
+
*/
|
13 |
+
class tx_testimonials extends Widget_Base {
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Retrieve the widget name.
|
17 |
+
*
|
18 |
+
* @since 1.1.0
|
19 |
+
*
|
20 |
+
* @access public
|
21 |
+
*
|
22 |
+
* @return string Widget name.
|
23 |
+
*/
|
24 |
+
public function get_name() {
|
25 |
+
return 'tx-testimonials';
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Retrieve the widget title.
|
30 |
+
*
|
31 |
+
* @since 1.1.0
|
32 |
+
*
|
33 |
+
* @access public
|
34 |
+
*
|
35 |
+
* @return string Widget title.
|
36 |
+
*/
|
37 |
+
public function get_title() {
|
38 |
+
return __( 'Testimonials', 'tx' );
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Retrieve the widget icon.
|
43 |
+
*
|
44 |
+
* @since 1.1.0
|
45 |
+
*
|
46 |
+
* @access public
|
47 |
+
*
|
48 |
+
* @return string Widget icon.
|
49 |
+
*/
|
50 |
+
public function get_icon() {
|
51 |
+
return 'eicon-blockquote';
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Retrieve the list of categories the widget belongs to.
|
56 |
+
*
|
57 |
+
* Used to determine where to display the widget in the editor.
|
58 |
+
*
|
59 |
+
* Note that currently Elementor supports only one category.
|
60 |
+
* When multiple categories passed, Elementor uses the first one.
|
61 |
+
*
|
62 |
+
* @since 1.1.0
|
63 |
+
*
|
64 |
+
* @access public
|
65 |
+
*
|
66 |
+
* @return array Widget categories.
|
67 |
+
*/
|
68 |
+
public function get_categories() {
|
69 |
+
return [ 'templatesnext-addons' ];
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Retrieve the list of scripts the widget depended on.
|
74 |
+
*
|
75 |
+
* Used to set scripts dependencies required to run the widget.
|
76 |
+
*
|
77 |
+
* @since 1.0.0
|
78 |
+
*
|
79 |
+
* @access public
|
80 |
+
*
|
81 |
+
* @return array Widget scripts dependencies.
|
82 |
+
*/
|
83 |
+
public function get_script_depends() {
|
84 |
+
return [ 'elementor-tx-testimonials' ];
|
85 |
+
}
|
86 |
+
/**
|
87 |
+
* Register the widget controls.
|
88 |
+
*
|
89 |
+
* Adds different input fields to allow the user to change and customize the widget settings.
|
90 |
+
*
|
91 |
+
* @since 1.1.0
|
92 |
+
*
|
93 |
+
* @access protected
|
94 |
+
*/
|
95 |
+
|
96 |
+
|
97 |
+
protected function _register_controls() {
|
98 |
+
$this->start_controls_section(
|
99 |
+
'section_content',
|
100 |
+
[
|
101 |
+
'label' => __( 'Testimonials Settings', 'tx' ),
|
102 |
+
]
|
103 |
+
);
|
104 |
+
$this->add_control(
|
105 |
+
'items',
|
106 |
+
[
|
107 |
+
'label' => __( 'Items', 'tx' ),
|
108 |
+
'type' => \Elementor\Controls_Manager::NUMBER,
|
109 |
+
'min' => 1,
|
110 |
+
'max' => 20,
|
111 |
+
'step' => 1,
|
112 |
+
'default' => 4,
|
113 |
+
'dynamic' => [
|
114 |
+
'active' => true,
|
115 |
+
],
|
116 |
+
|
117 |
+
]
|
118 |
+
);
|
119 |
+
$this->add_control(
|
120 |
+
'align',
|
121 |
+
[
|
122 |
+
'label' => __( 'Content Alignment', 'tx' ),
|
123 |
+
'type' => \Elementor\Controls_Manager::CHOOSE,
|
124 |
+
'options' => [
|
125 |
+
'left' => [
|
126 |
+
'title' => __( 'Left', 'tx' ),
|
127 |
+
'icon' => 'fa fa-align-left',
|
128 |
+
],
|
129 |
+
'center' => [
|
130 |
+
'title' => __( 'Center', 'tx' ),
|
131 |
+
'icon' => 'fa fa-align-center',
|
132 |
+
],
|
133 |
+
'right' => [
|
134 |
+
'title' => __( 'Right', 'tx' ),
|
135 |
+
'icon' => 'fa fa-align-right',
|
136 |
+
],
|
137 |
+
],
|
138 |
+
'default' => 'center',
|
139 |
+
'dynamic' => [
|
140 |
+
'active' => true,
|
141 |
+
],
|
142 |
+
|
143 |
+
]
|
144 |
+
);
|
145 |
+
$this->add_control(
|
146 |
+
'delay',
|
147 |
+
[
|
148 |
+
'label' => __( 'Delay In seconds', 'tx' ),
|
149 |
+
'type' => \Elementor\Controls_Manager::NUMBER,
|
150 |
+
'min' => 2,
|
151 |
+
'max' => 40,
|
152 |
+
'step' => 1,
|
153 |
+
'default' => 8,
|
154 |
+
'dynamic' => [
|
155 |
+
'active' => true,
|
156 |
+
],
|
157 |
+
]
|
158 |
+
);
|
159 |
+
|
160 |
+
$this->end_controls_section();
|
161 |
+
}
|
162 |
+
|
163 |
+
/**
|
164 |
+
* Render the widget output on the frontend.
|
165 |
+
*
|
166 |
+
* Written in PHP and used to generate the final HTML.
|
167 |
+
*
|
168 |
+
* @since 1.1.0
|
169 |
+
*
|
170 |
+
* @access protected
|
171 |
+
*/
|
172 |
+
protected function render() {
|
173 |
+
|
174 |
+
$settings = $this->get_settings_for_display();
|
175 |
+
|
176 |
+
$return_string = '';
|
177 |
+
|
178 |
+
$posts_per_page = intval( $settings['items'] );
|
179 |
+
$columns = 4;
|
180 |
+
$delay = intval( $settings['delay'] )*1000;
|
181 |
+
$align = $settings['align'];
|
182 |
+
|
183 |
+
$tx_class = '';
|
184 |
+
$posts_per_page = intval( $posts_per_page );
|
185 |
+
$width = 200;
|
186 |
+
$height = 200;
|
187 |
+
|
188 |
+
$return_string = '';
|
189 |
+
$return_string .= '<div class="tx-testiin2 tx-align-'.$align.'" data-delay="' . $delay . '">';
|
190 |
+
|
191 |
+
|
192 |
+
wp_reset_query();
|
193 |
+
global $post;
|
194 |
+
|
195 |
+
$args = array(
|
196 |
+
'posts_per_page' => $posts_per_page,
|
197 |
+
'post_type' => 'testimonials',
|
198 |
+
'fullwidth' => 0,
|
199 |
+
'orderby' => 'date',
|
200 |
+
'order' => 'DESC'
|
201 |
+
);
|
202 |
+
|
203 |
+
query_posts( $args );
|
204 |
+
|
205 |
+
if ( have_posts() ) : while ( have_posts() ) : the_post();
|
206 |
+
|
207 |
+
$testi_name = esc_attr(rwmb_meta('tx_testi_name'));
|
208 |
+
$testi_desig = esc_attr(rwmb_meta('tx_testi_desig'));
|
209 |
+
$testi_organ = esc_attr(rwmb_meta('tx_testi_company'));
|
210 |
+
|
211 |
+
$full_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );
|
212 |
+
$image_url = aq_resize( $full_image_url[0], $width, $height, true, false, true );
|
213 |
+
|
214 |
+
if ( empty($image_url['0']) ) {
|
215 |
+
$image_url['0'] = plugin_dir_url( __FILE__ ) . 'no-image.png';
|
216 |
+
}
|
217 |
+
|
218 |
+
$return_string .= '<div class="tx-testi2-item">';
|
219 |
+
$return_string .= '<span class="tx-testi2-text" style="text-align: '.$align.'">'.get_the_content().'</span>';
|
220 |
+
|
221 |
+
$return_string .= '<span class="cite-wrap" style="text-align: '.$align.'"><span class="cite-wrap-inner">';
|
222 |
+
$return_string .= '<span class="tx-testi2-photo"><img src="'.esc_url($image_url['0']).'" alt="'.$testi_name.'" /></span>';
|
223 |
+
$return_string .= '<span class="tx-testi2-name themecolor">'.$testi_name.'</span>';
|
224 |
+
$return_string .= '<span class="tx-testi2-desig">'.$testi_desig.', </span>';
|
225 |
+
$return_string .= '<span class="tx-testi2-org">'.$testi_organ.'</span>';
|
226 |
+
$return_string .= '</span></span>';
|
227 |
+
|
228 |
+
$return_string .= '</div>';
|
229 |
+
endwhile; else :
|
230 |
+
$return_string .= '<div class="tx-noposts"><p>Sorry, no testimonial matched your criteria. <br />';
|
231 |
+
$return_string .= 'Add few testimonials using Dashboard menu "Testimonials" > "Add New"..</p></div>';
|
232 |
+
endif;
|
233 |
+
|
234 |
+
$return_string .= '</div>';
|
235 |
+
|
236 |
+
wp_reset_query();
|
237 |
+
|
238 |
+
echo $return_string;
|
239 |
+
|
240 |
+
}
|
241 |
+
|
242 |
+
/**
|
243 |
+
* Render the widget output in the editor.
|
244 |
+
*
|
245 |
+
* Written as a Backbone JavaScript template and used to generate the live preview.
|
246 |
+
*
|
247 |
+
* @since 1.1.0
|
248 |
+
*
|
249 |
+
* @access protected
|
250 |
+
*/
|
251 |
+
protected function _content_template() {}
|
252 |
+
}
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: marsian
|
|
3 |
Tags: shortcode, shortcodes, columns, column, section, sections, portfolio, testimonial, border, borders, button, buttons, masonry, posts, post_type, font awesome, icons, fontawesome
|
4 |
Requires at least: 3.6
|
5 |
Tested up to: 5.2
|
6 |
-
Stable tag: 3.1.
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
@@ -22,7 +22,8 @@ Essential addons for your websites like Portfolios, Team Members, Testiminials,
|
|
22 |
[Team](http://www.wp-demos.com/i-spirit/tx-demo/elementor-team-contact-form-7/) - Team widget for elementor to show team member.
|
23 |
[Posts Grid](http://www.wp-demos.com/i-spirit/tx-demo/product-lists-post-grids/#postgrid) - Create Posts Grid with this elementor widget.
|
24 |
[Contact Form 7](http://www.wp-demos.com/i-spirit/tx-demo/elementor-team-contact-form-7/#contactform7) - An elementor widget for Contact Form 7.
|
25 |
-
[Products Lists](http://www.wp-demos.com/i-spirit/tx-demo/product-lists-post-grids/) -
|
|
|
26 |
|
27 |
#### SiteOrgin Page Builder Demo
|
28 |
[Home Page](http://www.wp-demos.com/i-spirit/tx-demo/) - Created with **TemplatesNext Toolkit** widgets for SiteOrigin Page Builder.
|
@@ -30,8 +31,9 @@ Essential addons for your websites like Portfolios, Team Members, Testiminials,
|
|
30 |
#### Shortcodes Demos And Documentations
|
31 |
[Demos And Documentation](http://www.templatesnext.org/icreate/?page_id=541) - Demos created with shortcode generators and documentations.
|
32 |
|
33 |
-
|
34 |
-
|
|
|
35 |
|
36 |
== Installation ==
|
37 |
|
@@ -39,6 +41,10 @@ Install the plugin into the `/wp-content/plugins/` folder, and activate it.
|
|
39 |
|
40 |
|
41 |
== Changelog ==
|
|
|
|
|
|
|
|
|
42 |
= 3.1.7 =
|
43 |
* Added: Elementor Slider Widget
|
44 |
* Added: Elementor Portfolio Widget
|
@@ -110,10 +116,8 @@ Install the plugin into the `/wp-content/plugins/` folder, and activate it.
|
|
110 |
|
111 |
== Screenshots ==
|
112 |
|
113 |
-
|
114 |
-
|
115 |
-
2. Choose the shortcode to generate. Enter/select your shortcode parameters and insert in your page.
|
116 |
-
3. Using with plugin *Page Builder by SiteOrigin*
|
117 |
|
118 |
|
119 |
|
3 |
Tags: shortcode, shortcodes, columns, column, section, sections, portfolio, testimonial, border, borders, button, buttons, masonry, posts, post_type, font awesome, icons, fontawesome
|
4 |
Requires at least: 3.6
|
5 |
Tested up to: 5.2
|
6 |
+
Stable tag: 3.1.8
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
22 |
[Team](http://www.wp-demos.com/i-spirit/tx-demo/elementor-team-contact-form-7/) - Team widget for elementor to show team member.
|
23 |
[Posts Grid](http://www.wp-demos.com/i-spirit/tx-demo/product-lists-post-grids/#postgrid) - Create Posts Grid with this elementor widget.
|
24 |
[Contact Form 7](http://www.wp-demos.com/i-spirit/tx-demo/elementor-team-contact-form-7/#contactform7) - An elementor widget for Contact Form 7.
|
25 |
+
[Products Lists](http://www.wp-demos.com/i-spirit/tx-demo/product-lists-post-grids/) - This widget combines elementor with WooCommerce.
|
26 |
+
[Testimonials](http://www.wp-demos.com/i-spirit/tx-demo/templatesnext-toolkit-portfolio/#tx-testimonials) - A testimonial Carousel widget for elementor.
|
27 |
|
28 |
#### SiteOrgin Page Builder Demo
|
29 |
[Home Page](http://www.wp-demos.com/i-spirit/tx-demo/) - Created with **TemplatesNext Toolkit** widgets for SiteOrigin Page Builder.
|
31 |
#### Shortcodes Demos And Documentations
|
32 |
[Demos And Documentation](http://www.templatesnext.org/icreate/?page_id=541) - Demos created with shortcode generators and documentations.
|
33 |
|
34 |
+
#### Themes Built To Work With TemplatesNext ToolKit
|
35 |
+
[i-excel](https://wordpress.org/themes/i-excel/), [i-craft](https://wordpress.org/themes/i-craft/), [i-design](https://wordpress.org/themes/i-design/), [i-max](https://wordpress.org/themes/i-max/)
|
36 |
+
Some of the shortcodes/widgets may only work properly with above TemplatesNext Themes.
|
37 |
|
38 |
== Installation ==
|
39 |
|
41 |
|
42 |
|
43 |
== Changelog ==
|
44 |
+
= 3.1.7 =
|
45 |
+
* Added: Elementor Testimonial Widget
|
46 |
+
* Fix: Missing Grabbing png
|
47 |
+
|
48 |
= 3.1.7 =
|
49 |
* Added: Elementor Slider Widget
|
50 |
* Added: Elementor Portfolio Widget
|
116 |
|
117 |
== Screenshots ==
|
118 |
|
119 |
+
1. Slider, Portfolio, WooCommerce Product Listing, Team, Contact Form 7, Testimonials Widgets for Elementor.
|
120 |
+
2. Adds menu item for post type itrans Slider, Portfolio, Team and Testimonials
|
|
|
|
|
121 |
|
122 |
|
123 |
|
screenshot-1.gif
DELETED
Binary file
|
screenshot-1.png
ADDED
Binary file
|
screenshot-2.gif
DELETED
Binary file
|
screenshot-2.png
ADDED
Binary file
|
screenshot-3.gif
DELETED
Binary file
|
tx-toolkit.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
/*
|
4 |
Plugin Name: TemplatesNext ToolKit
|
5 |
Description: Custom Portfolio and Shortcode functionality for TemplatesNext Wordpress Themes
|
6 |
-
Version: 3.1.
|
7 |
Author: TemplatesNext
|
8 |
Author URI: http://templatesnext.org/
|
9 |
License: GPLv2 or later
|
3 |
/*
|
4 |
Plugin Name: TemplatesNext ToolKit
|
5 |
Description: Custom Portfolio and Shortcode functionality for TemplatesNext Wordpress Themes
|
6 |
+
Version: 3.1.8
|
7 |
Author: TemplatesNext
|
8 |
Author URI: http://templatesnext.org/
|
9 |
License: GPLv2 or later
|