YITH WooCommerce Quick View - Version 1.4.9

Version Description

Released 04 February 2021

  • New: support for WooCommerce 5.0
  • Update: YITH plugin framework
Download this release

Release Info

Developer yithemes
Plugin Icon 128x128 YITH WooCommerce Quick View
Version 1.4.9
Comparing to
See all releases

Code changes from version 1.4.8 to 1.4.9

README.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: yithemes
3
  Tags: woocommerce, quick view, woocommerce quick view, products quick view
4
  Requires at least: 5.3
5
  Tested up to: 5.6
6
- Stable tag: 1.4.8
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -40,6 +40,11 @@ Full documentation is available [here](https://docs.yithemes.com/yith-woocommerc
40
 
41
  == Changelog ==
42
 
 
 
 
 
 
43
  = 1.4.8 = Released 12 January 2021
44
 
45
  * New: Support for WooCommerce 4.9
@@ -312,7 +317,7 @@ Or, if you have created your own language pack, or have an update for an existin
312
 
313
  == Upgrade notice ==
314
 
315
- = 1.4.8 = Released 12 January 2021
316
 
317
- * New: Support for WooCommerce 4.9
318
- * Update: Plugin framework
3
  Tags: woocommerce, quick view, woocommerce quick view, products quick view
4
  Requires at least: 5.3
5
  Tested up to: 5.6
6
+ Stable tag: 1.4.9
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
40
 
41
  == Changelog ==
42
 
43
+ = 1.4.9 = Released 04 February 2021
44
+
45
+ * New: support for WooCommerce 5.0
46
+ * Update: YITH plugin framework
47
+
48
  = 1.4.8 = Released 12 January 2021
49
 
50
  * New: Support for WooCommerce 4.9
317
 
318
  == Upgrade notice ==
319
 
320
+ = 1.4.9 = Released 04 February 2021
321
 
322
+ * New: support for WooCommerce 5.0
323
+ * Update: YITH plugin framework
init.php CHANGED
@@ -3,17 +3,17 @@
3
  * Plugin Name: YITH WooCommerce Quick View
4
  * Plugin URI: https://yithemes.com/themes/plugins/yith-woocommerce-quick-view
5
  * Description: The <code><strong>YITH WooCommerce Quick View</strong></code> plugin allows your customers to have a quick look about products. <a href="https://yithemes.com/" target="_blank">Get more plugins for your e-commerce shop on <strong>YITH</strong></a>.
6
- * Version: 1.4.8
7
  * Author: YITH
8
  * Author URI: https://yithemes.com/
9
  * Text Domain: yith-woocommerce-quick-view
10
  * Domain Path: /languages/
11
  * WC requires at least: 3.7
12
- * WC tested up to: 4.9
13
  *
14
  * @author YITH
15
  * @package YITH WooCommerce Quick View
16
- * @version 1.4.8
17
  */
18
  /** Copyright 2015-2021 - YITH (email : plugins@yithemes.com)
19
  *
@@ -62,7 +62,7 @@ register_activation_hook( __FILE__, 'yith_plugin_registration_hook' );
62
 
63
 
64
  if ( ! defined( 'YITH_WCQV_VERSION' ) ) {
65
- define( 'YITH_WCQV_VERSION', '1.4.8' );
66
  }
67
 
68
  if ( ! defined( 'YITH_WCQV_FREE_INIT' ) ) {
3
  * Plugin Name: YITH WooCommerce Quick View
4
  * Plugin URI: https://yithemes.com/themes/plugins/yith-woocommerce-quick-view
5
  * Description: The <code><strong>YITH WooCommerce Quick View</strong></code> plugin allows your customers to have a quick look about products. <a href="https://yithemes.com/" target="_blank">Get more plugins for your e-commerce shop on <strong>YITH</strong></a>.
6
+ * Version: 1.4.9
7
  * Author: YITH
8
  * Author URI: https://yithemes.com/
9
  * Text Domain: yith-woocommerce-quick-view
10
  * Domain Path: /languages/
11
  * WC requires at least: 3.7
12
+ * WC tested up to: 5.0
13
  *
14
  * @author YITH
15
  * @package YITH WooCommerce Quick View
16
+ * @version 1.4.9
17
  */
18
  /** Copyright 2015-2021 - YITH (email : plugins@yithemes.com)
19
  *
62
 
63
 
64
  if ( ! defined( 'YITH_WCQV_VERSION' ) ) {
65
+ define( 'YITH_WCQV_VERSION', '1.4.9' );
66
  }
67
 
68
  if ( ! defined( 'YITH_WCQV_FREE_INIT' ) ) {
plugin-fw/assets/css/yith-fields.css CHANGED
@@ -1435,9 +1435,11 @@ span.select2.select2-container.select2-container--default.yith-plugin-fw-select2
1435
  .yith-plugin-ui .yith-plugin-fw-onoff-container input + span {
1436
  border : 1px solid #d8d8d8;
1437
  background-color : #fff;
1438
- width : 58px;
1439
  height : 24px;
1440
  line-height : 14px;
 
 
1441
  }
1442
 
1443
  .yith-plugin-ui .yith-plugin-fw-onoff-container input + span:before {
@@ -1445,8 +1447,8 @@ span.select2.select2-container.select2-container--default.yith-plugin-fw-select2
1445
  }
1446
 
1447
  .yith-plugin-ui .yith-plugin-fw-onoff-container input + span:before {
1448
- width : 14px;
1449
- height : 14px;
1450
  top : 5px;
1451
  left : 6px;
1452
  background-color : #d8d8d8;
@@ -1454,15 +1456,14 @@ span.select2.select2-container.select2-container--default.yith-plugin-fw-select2
1454
 
1455
  .yith-plugin-ui .yith-plugin-fw-onoff-container input + span:after {
1456
  content : attr(data-text-off);
1457
- width : 14px;
1458
  height : 14px;
1459
- font-size : 13px;
1460
  font-weight : 600;
1461
- padding-left : 27px;
1462
  color : #979797;
1463
- margin-top : 5px;
1464
- display : inline-block;
1465
  white-space : nowrap;
 
1466
  }
1467
 
1468
  .yith-plugin-ui .yith-plugin-fw-onoff-container input:checked + span,
@@ -1479,16 +1480,16 @@ span.select2.select2-container.select2-container--default.yith-plugin-fw-select2
1479
 
1480
  .yith-plugin-ui .yith-plugin-fw-onoff-container input:checked + span:after,
1481
  .yith-plugin-ui.yith-plugin-fw-onoff-container input.onoffchecked + span:after {
1482
- content : attr(data-text-on);
1483
- color : #98aa36;
1484
- width : 14px;
1485
- height : 14px;
1486
- display : inline-block;
1487
- font-size : 13px;
1488
- font-weight : 600;
1489
- padding : 0 10px;
1490
- margin-top : 5px;
1491
- white-space : nowrap;
1492
  }
1493
 
1494
  .yith-plugin-ui .yith-plugin-fw-onoff-container input + span {
1435
  .yith-plugin-ui .yith-plugin-fw-onoff-container input + span {
1436
  border : 1px solid #d8d8d8;
1437
  background-color : #fff;
1438
+ width : 60px;
1439
  height : 24px;
1440
  line-height : 14px;
1441
+ padding : 4px;
1442
+ box-sizing : border-box;
1443
  }
1444
 
1445
  .yith-plugin-ui .yith-plugin-fw-onoff-container input + span:before {
1447
  }
1448
 
1449
  .yith-plugin-ui .yith-plugin-fw-onoff-container input + span:before {
1450
+ width : 13px;
1451
+ height : 13px;
1452
  top : 5px;
1453
  left : 6px;
1454
  background-color : #d8d8d8;
1456
 
1457
  .yith-plugin-ui .yith-plugin-fw-onoff-container input + span:after {
1458
  content : attr(data-text-off);
 
1459
  height : 14px;
1460
+ font-size : 12px;
1461
  font-weight : 600;
1462
+ padding-left : 18px;
1463
  color : #979797;
1464
+ display : block;
 
1465
  white-space : nowrap;
1466
+ text-align : center;
1467
  }
1468
 
1469
  .yith-plugin-ui .yith-plugin-fw-onoff-container input:checked + span,
1480
 
1481
  .yith-plugin-ui .yith-plugin-fw-onoff-container input:checked + span:after,
1482
  .yith-plugin-ui.yith-plugin-fw-onoff-container input.onoffchecked + span:after {
1483
+ content : attr(data-text-on);
1484
+ color : #98aa36;
1485
+ height : 14px;
1486
+ font-size : 12px;
1487
+ font-weight : 600;
1488
+ padding-left : 0;
1489
+ padding-right: 18px;
1490
+ display : block;
1491
+ white-space : nowrap;
1492
+ text-align : center;
1493
  }
1494
 
1495
  .yith-plugin-ui .yith-plugin-fw-onoff-container input + span {
plugin-fw/assets/js/yith-fields.js CHANGED
@@ -203,7 +203,8 @@
203
  } );
204
 
205
  $image_gallery_ids.val( attachment_ids );
206
- } );
 
207
 
208
  image_gallery_frame.open();
209
 
@@ -808,4 +809,4 @@
808
  };
809
  fw_dimensions.init();
810
 
811
- } )( jQuery );
203
  } );
204
 
205
  $image_gallery_ids.val( attachment_ids );
206
+ $image_gallery_ids.trigger( 'change' );
207
+ } );
208
 
209
  image_gallery_frame.open();
210
 
809
  };
810
  fw_dimensions.init();
811
 
812
+ } )( jQuery );
plugin-fw/assets/js/yith-fields.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){e(document).on("yith_fields_init",function(){var t=e(".yith-plugin-fw-datepicker"),i=e(".yith-plugin-fw-colorpicker"),n={imgPreviewHandler:".yith-plugin-fw-upload-img-preview",uploadButtonHandler:".yith-plugin-fw-upload-button",imgUrlHandler:".yith-plugin-fw-upload-img-url",resetButtonHandler:".yith-plugin-fw-upload-button-reset",imgUrl:e(".yith-plugin-fw-upload-img-url")},a=e(".add_media"),l={rootSelector:".yith-plugin-fw-image-gallery",buttonSelector:".yith-plugin-fw-image-gallery .image-gallery-button",sliderWrapper:e(".yith-plugin-fw-image-gallery ul.slides-wrapper")},o=e(".yith-plugin-fw-sidebar-layout"),s=e(".yith-plugin-fw .yith-plugin-fw-slider-container .ui-slider-horizontal"),r=e(".yit-icons-manager-wrapper");e(".yith-plugin-ui td.forminp-checkbox");t.each(function(){var t=e(this).data();t.showAnim=!1,t.beforeShow=function(e,t){t.dpDiv.addClass("yith-plugin-fw-datepicker-div")},t.onClose=function(e,t){t.dpDiv.removeClass("yith-plugin-fw-datepicker-div")},e(this).datepicker(t)}),i.wpColorPicker({palettes:!1,width:200,mode:"hsl",clear:function(){var t=e(this);t.val(t.data("default-color")),t.change()}}),i.each(function(){var t=e(this).data("variations-label"),i=e(this).closest(".yith-plugin-fw-colorpicker-field-wrapper"),n=e(this).closest(".yith-single-colorpicker"),a=i.find(".wp-picker-input-wrap"),l=n.find(".wp-picker-input-wrap");if(a.length&&i.find("a.wp-color-result").attr("title",t),n.length&&n.find("a.wp-color-result").attr("title",t),!a.find(".wp-picker-default-custom").length){var o=e("<span/>").attr({"class":"wp-picker-default-custom"});a.find(".wp-picker-default").wrap(o)}l.find(".wp-picker-default-custom").length||(o=e("<span/>").attr({"class":"wp-picker-default-custom"}),l.find(".wp-picker-default").wrap(o))}),"undefined"!=typeof wp&&"undefined"!=typeof wp.media&&(n.imgUrl.change(function(){var t=e(this).val(),i=new RegExp("(http|ftp|https)://[a-zA-Z0-9@?^=%&amp;:/~+#-_.]*.(gif|jpg|jpeg|png|ico|svg)"),a=e(this).parent().find(n.imgPreviewHandler).first();a.length<1&&(a=e(this).parent().parent().find(n.imgPreviewHandler).first()),i.test(t)?a.html('<img src="'+t+'" style="max-width:100px; max-height:100px;" />'):a.html("")}).trigger("change"),e(document).on("click",n.uploadButtonHandler,function(t){t.preventDefault();var i,a=e(this).attr("id").replace(/-button$/,"").replace(/(\[|\])/g,"\\$1");if(i)i.open();else{var l=[new wp.media.controller.Library({library:wp.media.query(),multiple:!1,title:"Choose Image",priority:20,filterable:"uploaded"})];(i=wp.media.frames.downloadable_file=wp.media({title:"Choose Image",library:{type:""},button:{text:"Choose Image"},multiple:!1,states:l})).on("select",function(){var t=i.state().get("selection").first().toJSON();e("#"+a).val(t.url),e("#"+a+"-yith-attachment-id")&&e("#"+a+"-yith-attachment-id").val(t.id),n.imgUrl.trigger("change")}),i.open()}}),e(document).on("click",n.resetButtonHandler,function(t){var i=e(this),a=i.attr("id").replace(/(\[|\])/g,"\\$1"),l=i.attr("id").replace(/-button-reset$/,"").replace(/(\[|\])/g,"\\$1"),o=e("#"+a).data("default");e("#"+l).val(o),n.imgUrl.trigger("change")}));a.on("click",function(){}),"undefined"!=typeof wp&&"undefined"!=typeof wp.media&&(e(document).on("click",l.buttonSelector,function(t){var i=e(this),n=i.closest(l.rootSelector),a=n.find(".image_gallery_ids"),o=a.val(),s=n.find("ul.slides-wrapper"),r=wp.media.frames.image_gallery=wp.media({title:i.data("choose"),button:{text:i.data("update")},states:[new wp.media.controller.Library({title:i.data("choose"),filterable:"all",multiple:!0})]});r.on("select",function(){r.state().get("selection").map(function(e){(e=e.toJSON()).id&&(o=o?o+","+e.id:e.id,s.append('<li class="image" data-attachment_id="'+e.id+'"><img src="'+e.sizes.thumbnail.url+'"/><ul class="actions"><li><a href="#" class="delete" title="'+i.data("delete")+'">x</a></li></ul></li>'))}),a.val(o)}),r.open()}),l.sliderWrapper.each(function(){var t=e(this);t.sortable({items:"li.image",cursor:"move",scrollSensitivity:40,forcePlaceholderSize:!0,forceHelperSize:!1,helper:"clone",opacity:.65,start:function(e,t){t.item.css("background-color","#f6f6f6")},stop:function(e,t){t.item.removeAttr("style")},update:function(i,n){var a="";t.find("li.image").css("cursor","default").each(function(){var t=e(this).attr("data-attachment_id");a=a+t+","}),t.closest(l.rootSelector).find(".image_gallery_ids").val(a)}})}),l.sliderWrapper.on("click","a.delete",function(t){t.preventDefault();var i=e(this).closest(l.rootSelector),n=i.find("ul.slides-wrapper"),a=i.find(".image_gallery_ids"),o="";e(this).closest("li.image").remove(),n.find("li.image").css("cursor","default").each(function(){var t=e(this).attr("data-attachment_id");o=o+t+","}),a.val(o)})),o.each(function(){e(this).find("img").on("click",function(){var t=e(this).closest(".yith-plugin-fw-sidebar-layout"),i=t.find(".yith-plugin-fw-sidebar-layout-sidebar-left-container"),n=t.find(".yith-plugin-fw-sidebar-layout-sidebar-right-container"),a=e(this).data("type");if(e(this).parent().children(":radio").attr("checked",!1),e(this).prev(":radio").attr("checked",!0),void 0!==a)switch(a){case"left":i.show(),n.hide();break;case"right":n.show(),i.hide();break;case"double":i.show(),n.show();break;default:i.hide(),n.hide()}})}),s.each(function(){var t=e(this).data("val"),i=e(this).data("min"),n=e(this).data("max"),a=e(this).data("step"),l=e(this).data("labels");e(this).slider({value:t,min:i,max:n,range:"min",step:a,create:function(){e(this).find(".ui-slider-handle").text(e(this).slider("value"))},slide:function(t,i){e(this).find("input").val(i.value),e(this).find(".ui-slider-handle").text(i.value),e(this).siblings(".feedback").find("strong").text(i.value+l)}})}),e(function(){e(document).on("yith-plugin-fw-codemirror-init",function(){"undefined"!=typeof wp&&"undefined"!=typeof wp.codeEditor&&e(".codemirror:not(.codemirror--initialized)").each(function(){var t=e(this).data("settings"),i=wp.codeEditor.initialize(e(this),t);e(this).addClass("codemirror--initialized"),e(this).data("codemirrorInstance",i)})}).trigger("yith-plugin-fw-codemirror-init")}),e(document).on("click",".yith-plugin-fw-select-all",function(){e("#"+e(this).data("select-id")).find("option").prop("selected",!0).trigger("change")}),e(document).on("click",".yith-plugin-fw-deselect-all",function(){e("#"+e(this).data("select-id")).find("option").prop("selected",!1).trigger("change")}),r.each(function(){var t=e(this),i=t.find(".yit-icons-manager-icon-preview").first(),n=t.find(".yit-icons-manager-icon-text");t.on("click",".yit-icons-manager-list li",function(a){var l=e(a.target).closest("li"),o=l.data("font"),s=l.data("icon"),r=l.data("key"),d=l.data("name");i.attr("data-font",o),i.attr("data-icon",s),i.attr("data-key",r),i.attr("data-name",d),n.val(o+":"+d),t.find(".yit-icons-manager-list li").removeClass("active"),l.addClass("active")}),t.on("click",".yit-icons-manager-action-set-default",function(){t.find(".yit-icons-manager-list li.default").trigger("click")})}),e(document).on("click",".yith-plugin-fw-select-images__item",function(){var t=e(this),i=t.data("key"),n=t.closest(".yith-plugin-fw-select-images__wrapper"),a=n.find(".yith-plugin-fw-select-images__item"),l=n.find("select").first();l.length&&(l.val(i).trigger("yith_select_images_value_changed"),a.removeClass("yith-plugin-fw-select-images__item--selected"),t.addClass("yith-plugin-fw-select-images__item--selected"))}),e(document.body).trigger("wc-enhanced-select-init"),e(document).find(".ui-sortable .yith-toggle-elements").sortable({cursor:"move",axis:"y",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",stop:function(t,i){var n=jQuery(".ui-sortable-handle"),a=0,l=new Array;for(a=0;a<n.length;a++)l[a]=e(n[a]).data("item_key");l.length>0&&e(this).closest(".toggle-element").saveToggleElement(null,l)}}),e(document.body).trigger("yith-framework-enhanced-select-init")}).trigger("yith_fields_init"),e(document).on("click",".yith-plugin-fw-onoff-container span",function(){var t=e(this).prev("input");t.prop("checked")?t.prop("checked",!1).attr("value","no").removeClass("onoffchecked"):t.prop("checked",!0).attr("value","yes").addClass("onoffchecked"),t.change()}),e.fn.saveToggleElement=function(t,i){var n=e(this),a="yith_plugin_fw_save_toggle_element",l=n.serializeToggleElement(),o=n.find(".yith-toggle_wrapper"),s=o.attr("id"),r=e.urlParam("tab");l.append("security",o.data("nonce")),void 0!==i&&i.length>0&&l.append("yith_toggle_elements_order_keys",i),n.closest(".metaboxes-tab.yith-plugin-ui").length?(a="yith_plugin_fw_save_toggle_element_metabox",post_id=e(this).closest("form#post").find("#post_ID").val(),yit_metaboxes_nonce=e(this).closest("form#post").find("#yit_metaboxes_nonce").val(),metabox_tab=e(this).closest(".tabs-panel").attr("id"),url=yith_framework_fw_fields.ajax_url+"?action="+a+"&post_ID="+post_id+"&yit_metaboxes_nonce="+yit_metaboxes_nonce+"&toggle_id="+s+"&metabox_tab="+metabox_tab):url=yith_framework_fw_fields.admin_url+"?action="+a+"&tab="+r+"&toggle_id="+s,e.ajax({type:"POST",url:url,data:l,contentType:!1,processData:!1,success:function(i){t&&t.removeClass("show"),e(document).trigger("yith_save_toggle_element_done",[i,n])}})},e.fn.serializeToggleElement=function(){var t=e(this),i=new FormData,n=e(t).find(":input").serializeArray();return e.each(n,function(e,t){el_name=t.name,i.append(t.name,t.value)}),i},e.fn.formatToggleTitle=function(){var t=e(this),i=t.find(":input"),n=t.find("span.title").data("title_format"),a=t.find(".subtitle").data("subtitle_format"),l=new RegExp("[^%%]+(?=[%%])","g");if(void 0!==n)var o=n.match(l);if(void 0!==a)var s=a.match(l);e.each(i,function(t,i){void 0!==e(i).attr("id")&&($field_id=e(i).attr("id"),$field_array=$field_id.split("_"),$field_array.pop(),$field_id=$field_array.join("_"),$field_val=e(i).val(),null!=o&&void 0!==o&&-1!==o.indexOf($field_id)&&(n=n.replace("%%"+$field_id+"%%",$field_val)),null!=s&&void 0!==s&&-1!==s.indexOf($field_id)&&(a=a.replace("%%"+$field_id+"%%",$field_val)))}),""!==n&&t.find("span.title").html(n),""!==a&&t.find(".subtitle").html(a),e(document).trigger("yith-toggle-element-item-title",[t])},e.urlParam=function(e){var t=new RegExp("[?&]"+e+"=([^&#]*)").exec(window.location.search);return null!==t&&(t[1]||0)},e(document).on("click",".yith-toggle-title",function(t){var i=e(t.target),n=i.closest(".yith-toggle-row"),a=n.find(".yith-toggle-content");if(i.hasClass("yith-plugin-fw-onoff")||i.hasClass("yith-icon-drag"))return!1;n.is(".yith-toggle-row-opened")?a.slideUp(400):a.slideDown(400),n.toggleClass("yith-toggle-row-opened")}),e(document).on("click",".yith-add-box-button",function(t){t.preventDefault();var i=e(this),n=i.data("box_id"),a=i.data("closed_label"),l=i.data("opened_label"),o=i.closest(".yith-toggle_wrapper").attr("id"),s=wp.template("yith-toggle-element-add-box-content-"+o);""!==n&&(e("#"+n).html(s({index:"box_id"})).slideToggle(),""!==a&&(i.html()===a?i.html(l).removeClass("closed"):i.html(a).addClass("closed")),e(document).trigger("yith_fields_init"),e(document).trigger("yith-add-box-button-toggle",[i]))}),e(document).on("click",".yith-add-box-buttons .yith-save-button",function(t){t.preventDefault();var i=e(this).parents(".yith-add-box"),n=e(this).closest(".yith-toggle_wrapper").attr("id"),a=i.find(".spinner"),l=e(this).parents(".toggle-element"),o=i.find(":input"),s=0,r=e('<input type="hidden">');l.find(".yith-toggle-row").each(function(){var t=parseInt(e(this).data("item_key"));s<=t&&(s=t+1)}),r.val(s),e(document).trigger("yith-toggle-change-counter",[r,i]),s=r.val();var d=wp.template("yith-toggle-element-item-"+n),c=e(d({index:s}));a.addClass("show"),e.each(o,function(t,i){if(void 0!==e(i).attr("id")){var n=e(i).attr("id"),a=e(i).val();n="radio"===e(i).attr("type")?(n=(n=e(i).closest(".yith-plugin-fw-radio").attr("id")).replace("new_","")+"_"+s)+"-"+a:n.replace("new_","")+"_"+s,e(i).is(":checked")&&e(c).find("#"+n).prop("checked",!0),(e(i).hasClass("yith-post-search")||e(i).hasClass("yith-term-search"))&&e(c).find("#"+n).html(e("#"+e(i).attr("id")).html()),e(c).find("#"+n).val(a)}}),e(c).formatToggleTitle();var u=e('<input type="hidden">').val("yes");e(document).trigger("yith-toggle-element-item-before-add",[i,c,u]);setTimeout(function(){if("yes"===u.val()){e(l).find(".yith-toggle-elements").append(c),e(i).find(".yith-plugin-fw-datepicker").datepicker("destroy"),e(i).html(""),e(i).prev(".yith-add-box-button").trigger("click"),l.saveToggleElement();setTimeout(function(){e(l).find(".highlight").removeClass("highlight")},2e3),e(document).trigger("yith_fields_init")}},1e3)}),e(document).on("click",".yith-toggle-row .yith-save-button",function(t){t.preventDefault();var i=e(this).closest(".toggle-element"),n=e(this).closest(".yith-toggle-row"),a=n.find(".spinner");n.formatToggleTitle();var l=e('<input type="hidden">').val("yes");e(document).trigger("yith-toggle-element-item-before-update",[i,n,l]),"yes"===l.val()&&(a.addClass("show"),i.saveToggleElement(a))}),e(document).on("click",".yith-toggle-row .yith-delete-button",function(t){t.preventDefault();var i=e(this).closest(".toggle-element");e(this).closest(".yith-toggle-row").remove(),i.saveToggleElement()}),e(document).on("click",".yith-toggle-onoff",function(t){t.preventDefault(),e(this).closest(".toggle-element").saveToggleElement()}),e(document).on("click",".yith-plugin-fw-radio input[type=radio]",function(){var t=e(this).closest(".yith-plugin-fw-radio"),i=e(this).val();t.val(i).data("value",i).trigger("change")}),e(document.body).on("yith-plugin-fw-init-radio",function(){e(".yith-plugin-fw-radio:not(.yith-plugin-fw-radio--initialized)").each(function(){e(this).val(e(this).data("value")),e(this).addClass("yith-plugin-fw-radio--initialized")})}).trigger("yith-plugin-fw-init-radio"),e(document).on("click",".yith-password-eye",function(){var t=e(this),i=e(this).closest(".yith-password-wrapper").find("input");"password"===i.attr("type")?(i.attr("type","text"),t.addClass("yith-password-eye-closed")):(i.attr("type","password"),t.removeClass("yith-password-eye-closed"))}),e(document).on("select2:open",function(t){e(t.target).closest(".yith-plugin-ui").length&&e(".select2-results").closest(".select2-container").addClass("yith-plugin-fw-select2-container")});var t={selectors:{wrapper:".yith-plugin-fw-dimensions",units:{wrapper:".yith-plugin-fw-dimensions__units",single:".yith-plugin-fw-dimensions__unit",value:".yith-plugin-fw-dimensions__unit__value",selectedClass:"yith-plugin-fw-dimensions__unit--selected"},linked:{button:".yith-plugin-fw-dimensions__linked",value:".yith-plugin-fw-dimensions__linked__value",wrapperActiveClass:"yith-plugin-fw-dimensions--linked-active"},dimensions:{number:".yith-plugin-fw-dimensions__dimension__number"}},init:function(){var i=t;e(document).on("click",i.selectors.units.single,i.unitChange),e(document).on("click",i.selectors.linked.button,i.linkedChange),e(document).on("change keyup",i.selectors.dimensions.number,i.numberChange)},unitChange:function(i){var n=e(this).closest(t.selectors.units.single),a=n.closest(t.selectors.units.wrapper),l=a.find(t.selectors.units.single),o=a.find(t.selectors.units.value).first(),s=n.data("value");l.removeClass(t.selectors.units.selectedClass),n.addClass(t.selectors.units.selectedClass),o.val(s)},linkedChange:function(){var i=e(this).closest(t.selectors.linked.button),n=i.closest(t.selectors.wrapper),a=i.find(t.selectors.linked.value);"yes"===a.val()?(n.removeClass(t.selectors.linked.wrapperActiveClass),a.val("no")):(n.addClass(t.selectors.linked.wrapperActiveClass),a.val("yes"),n.find(t.selectors.dimensions.number).first().trigger("change"))},numberChange:function(i){var n=e(this).closest(t.selectors.dimensions.number),a=n.closest(t.selectors.wrapper);a.hasClass(t.selectors.linked.wrapperActiveClass)&&a.find(t.selectors.dimensions.number).val(n.val())}};t.init()}(jQuery);
1
+ !function(e){e(document).on("yith_fields_init",function(){var t=e(".yith-plugin-fw-datepicker"),i=e(".yith-plugin-fw-colorpicker"),n={imgPreviewHandler:".yith-plugin-fw-upload-img-preview",uploadButtonHandler:".yith-plugin-fw-upload-button",imgUrlHandler:".yith-plugin-fw-upload-img-url",resetButtonHandler:".yith-plugin-fw-upload-button-reset",imgUrl:e(".yith-plugin-fw-upload-img-url")},a=e(".add_media"),l={rootSelector:".yith-plugin-fw-image-gallery",buttonSelector:".yith-plugin-fw-image-gallery .image-gallery-button",sliderWrapper:e(".yith-plugin-fw-image-gallery ul.slides-wrapper")},o=e(".yith-plugin-fw-sidebar-layout"),s=e(".yith-plugin-fw .yith-plugin-fw-slider-container .ui-slider-horizontal"),r=e(".yit-icons-manager-wrapper");e(".yith-plugin-ui td.forminp-checkbox");t.each(function(){var t=e(this).data();t.showAnim=!1,t.beforeShow=function(e,t){t.dpDiv.addClass("yith-plugin-fw-datepicker-div")},t.onClose=function(e,t){t.dpDiv.removeClass("yith-plugin-fw-datepicker-div")},e(this).datepicker(t)}),i.wpColorPicker({palettes:!1,width:200,mode:"hsl",clear:function(){var t=e(this);t.val(t.data("default-color")),t.change()}}),i.each(function(){var t=e(this).data("variations-label"),i=e(this).closest(".yith-plugin-fw-colorpicker-field-wrapper"),n=e(this).closest(".yith-single-colorpicker"),a=i.find(".wp-picker-input-wrap"),l=n.find(".wp-picker-input-wrap");if(a.length&&i.find("a.wp-color-result").attr("title",t),n.length&&n.find("a.wp-color-result").attr("title",t),!a.find(".wp-picker-default-custom").length){var o=e("<span/>").attr({"class":"wp-picker-default-custom"});a.find(".wp-picker-default").wrap(o)}l.find(".wp-picker-default-custom").length||(o=e("<span/>").attr({"class":"wp-picker-default-custom"}),l.find(".wp-picker-default").wrap(o))}),"undefined"!=typeof wp&&"undefined"!=typeof wp.media&&(n.imgUrl.change(function(){var t=e(this).val(),i=new RegExp("(http|ftp|https)://[a-zA-Z0-9@?^=%&amp;:/~+#-_.]*.(gif|jpg|jpeg|png|ico|svg)"),a=e(this).parent().find(n.imgPreviewHandler).first();a.length<1&&(a=e(this).parent().parent().find(n.imgPreviewHandler).first()),i.test(t)?a.html('<img src="'+t+'" style="max-width:100px; max-height:100px;" />'):a.html("")}).trigger("change"),e(document).on("click",n.uploadButtonHandler,function(t){t.preventDefault();var i,a=e(this).attr("id").replace(/-button$/,"").replace(/(\[|\])/g,"\\$1");if(i)i.open();else{var l=[new wp.media.controller.Library({library:wp.media.query(),multiple:!1,title:"Choose Image",priority:20,filterable:"uploaded"})];(i=wp.media.frames.downloadable_file=wp.media({title:"Choose Image",library:{type:""},button:{text:"Choose Image"},multiple:!1,states:l})).on("select",function(){var t=i.state().get("selection").first().toJSON();e("#"+a).val(t.url),e("#"+a+"-yith-attachment-id")&&e("#"+a+"-yith-attachment-id").val(t.id),n.imgUrl.trigger("change")}),i.open()}}),e(document).on("click",n.resetButtonHandler,function(t){var i=e(this),a=i.attr("id").replace(/(\[|\])/g,"\\$1"),l=i.attr("id").replace(/-button-reset$/,"").replace(/(\[|\])/g,"\\$1"),o=e("#"+a).data("default");e("#"+l).val(o),n.imgUrl.trigger("change")}));a.on("click",function(){}),"undefined"!=typeof wp&&"undefined"!=typeof wp.media&&(e(document).on("click",l.buttonSelector,function(t){var i=e(this),n=i.closest(l.rootSelector),a=n.find(".image_gallery_ids"),o=a.val(),s=n.find("ul.slides-wrapper"),r=wp.media.frames.image_gallery=wp.media({title:i.data("choose"),button:{text:i.data("update")},states:[new wp.media.controller.Library({title:i.data("choose"),filterable:"all",multiple:!0})]});r.on("select",function(){r.state().get("selection").map(function(e){(e=e.toJSON()).id&&(o=o?o+","+e.id:e.id,s.append('<li class="image" data-attachment_id="'+e.id+'"><img src="'+e.sizes.thumbnail.url+'"/><ul class="actions"><li><a href="#" class="delete" title="'+i.data("delete")+'">x</a></li></ul></li>'))}),a.val(o),a.trigger("change")}),r.open()}),l.sliderWrapper.each(function(){var t=e(this);t.sortable({items:"li.image",cursor:"move",scrollSensitivity:40,forcePlaceholderSize:!0,forceHelperSize:!1,helper:"clone",opacity:.65,start:function(e,t){t.item.css("background-color","#f6f6f6")},stop:function(e,t){t.item.removeAttr("style")},update:function(i,n){var a="";t.find("li.image").css("cursor","default").each(function(){var t=e(this).attr("data-attachment_id");a=a+t+","}),t.closest(l.rootSelector).find(".image_gallery_ids").val(a)}})}),l.sliderWrapper.on("click","a.delete",function(t){t.preventDefault();var i=e(this).closest(l.rootSelector),n=i.find("ul.slides-wrapper"),a=i.find(".image_gallery_ids"),o="";e(this).closest("li.image").remove(),n.find("li.image").css("cursor","default").each(function(){var t=e(this).attr("data-attachment_id");o=o+t+","}),a.val(o)})),o.each(function(){e(this).find("img").on("click",function(){var t=e(this).closest(".yith-plugin-fw-sidebar-layout"),i=t.find(".yith-plugin-fw-sidebar-layout-sidebar-left-container"),n=t.find(".yith-plugin-fw-sidebar-layout-sidebar-right-container"),a=e(this).data("type");if(e(this).parent().children(":radio").attr("checked",!1),e(this).prev(":radio").attr("checked",!0),void 0!==a)switch(a){case"left":i.show(),n.hide();break;case"right":n.show(),i.hide();break;case"double":i.show(),n.show();break;default:i.hide(),n.hide()}})}),s.each(function(){var t=e(this).data("val"),i=e(this).data("min"),n=e(this).data("max"),a=e(this).data("step"),l=e(this).data("labels");e(this).slider({value:t,min:i,max:n,range:"min",step:a,create:function(){e(this).find(".ui-slider-handle").text(e(this).slider("value"))},slide:function(t,i){e(this).find("input").val(i.value),e(this).find(".ui-slider-handle").text(i.value),e(this).siblings(".feedback").find("strong").text(i.value+l)}})}),e(function(){e(document).on("yith-plugin-fw-codemirror-init",function(){"undefined"!=typeof wp&&"undefined"!=typeof wp.codeEditor&&e(".codemirror:not(.codemirror--initialized)").each(function(){var t=e(this).data("settings"),i=wp.codeEditor.initialize(e(this),t);e(this).addClass("codemirror--initialized"),e(this).data("codemirrorInstance",i)})}).trigger("yith-plugin-fw-codemirror-init")}),e(document).on("click",".yith-plugin-fw-select-all",function(){e("#"+e(this).data("select-id")).find("option").prop("selected",!0).trigger("change")}),e(document).on("click",".yith-plugin-fw-deselect-all",function(){e("#"+e(this).data("select-id")).find("option").prop("selected",!1).trigger("change")}),r.each(function(){var t=e(this),i=t.find(".yit-icons-manager-icon-preview").first(),n=t.find(".yit-icons-manager-icon-text");t.on("click",".yit-icons-manager-list li",function(a){var l=e(a.target).closest("li"),o=l.data("font"),s=l.data("icon"),r=l.data("key"),d=l.data("name");i.attr("data-font",o),i.attr("data-icon",s),i.attr("data-key",r),i.attr("data-name",d),n.val(o+":"+d),t.find(".yit-icons-manager-list li").removeClass("active"),l.addClass("active")}),t.on("click",".yit-icons-manager-action-set-default",function(){t.find(".yit-icons-manager-list li.default").trigger("click")})}),e(document).on("click",".yith-plugin-fw-select-images__item",function(){var t=e(this),i=t.data("key"),n=t.closest(".yith-plugin-fw-select-images__wrapper"),a=n.find(".yith-plugin-fw-select-images__item"),l=n.find("select").first();l.length&&(l.val(i).trigger("yith_select_images_value_changed"),a.removeClass("yith-plugin-fw-select-images__item--selected"),t.addClass("yith-plugin-fw-select-images__item--selected"))}),e(document.body).trigger("wc-enhanced-select-init"),e(document).find(".ui-sortable .yith-toggle-elements").sortable({cursor:"move",axis:"y",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",stop:function(t,i){var n=jQuery(".ui-sortable-handle"),a=0,l=new Array;for(a=0;a<n.length;a++)l[a]=e(n[a]).data("item_key");l.length>0&&e(this).closest(".toggle-element").saveToggleElement(null,l)}}),e(document.body).trigger("yith-framework-enhanced-select-init")}).trigger("yith_fields_init"),e(document).on("click",".yith-plugin-fw-onoff-container span",function(){var t=e(this).prev("input");t.prop("checked")?t.prop("checked",!1).attr("value","no").removeClass("onoffchecked"):t.prop("checked",!0).attr("value","yes").addClass("onoffchecked"),t.change()}),e.fn.saveToggleElement=function(t,i){var n=e(this),a="yith_plugin_fw_save_toggle_element",l=n.serializeToggleElement(),o=n.find(".yith-toggle_wrapper"),s=o.attr("id"),r=e.urlParam("tab");l.append("security",o.data("nonce")),void 0!==i&&i.length>0&&l.append("yith_toggle_elements_order_keys",i),n.closest(".metaboxes-tab.yith-plugin-ui").length?(a="yith_plugin_fw_save_toggle_element_metabox",post_id=e(this).closest("form#post").find("#post_ID").val(),yit_metaboxes_nonce=e(this).closest("form#post").find("#yit_metaboxes_nonce").val(),metabox_tab=e(this).closest(".tabs-panel").attr("id"),url=yith_framework_fw_fields.ajax_url+"?action="+a+"&post_ID="+post_id+"&yit_metaboxes_nonce="+yit_metaboxes_nonce+"&toggle_id="+s+"&metabox_tab="+metabox_tab):url=yith_framework_fw_fields.admin_url+"?action="+a+"&tab="+r+"&toggle_id="+s,e.ajax({type:"POST",url:url,data:l,contentType:!1,processData:!1,success:function(i){t&&t.removeClass("show"),e(document).trigger("yith_save_toggle_element_done",[i,n])}})},e.fn.serializeToggleElement=function(){var t=e(this),i=new FormData,n=e(t).find(":input").serializeArray();return e.each(n,function(e,t){el_name=t.name,i.append(t.name,t.value)}),i},e.fn.formatToggleTitle=function(){var t=e(this),i=t.find(":input"),n=t.find("span.title").data("title_format"),a=t.find(".subtitle").data("subtitle_format"),l=new RegExp("[^%%]+(?=[%%])","g");if(void 0!==n)var o=n.match(l);if(void 0!==a)var s=a.match(l);e.each(i,function(t,i){void 0!==e(i).attr("id")&&($field_id=e(i).attr("id"),$field_array=$field_id.split("_"),$field_array.pop(),$field_id=$field_array.join("_"),$field_val=e(i).val(),null!=o&&void 0!==o&&-1!==o.indexOf($field_id)&&(n=n.replace("%%"+$field_id+"%%",$field_val)),null!=s&&void 0!==s&&-1!==s.indexOf($field_id)&&(a=a.replace("%%"+$field_id+"%%",$field_val)))}),""!==n&&t.find("span.title").html(n),""!==a&&t.find(".subtitle").html(a),e(document).trigger("yith-toggle-element-item-title",[t])},e.urlParam=function(e){var t=new RegExp("[?&]"+e+"=([^&#]*)").exec(window.location.search);return null!==t&&(t[1]||0)},e(document).on("click",".yith-toggle-title",function(t){var i=e(t.target),n=i.closest(".yith-toggle-row"),a=n.find(".yith-toggle-content");if(i.hasClass("yith-plugin-fw-onoff")||i.hasClass("yith-icon-drag"))return!1;n.is(".yith-toggle-row-opened")?a.slideUp(400):a.slideDown(400),n.toggleClass("yith-toggle-row-opened")}),e(document).on("click",".yith-add-box-button",function(t){t.preventDefault();var i=e(this),n=i.data("box_id"),a=i.data("closed_label"),l=i.data("opened_label"),o=i.closest(".yith-toggle_wrapper").attr("id"),s=wp.template("yith-toggle-element-add-box-content-"+o);""!==n&&(e("#"+n).html(s({index:"box_id"})).slideToggle(),""!==a&&(i.html()===a?i.html(l).removeClass("closed"):i.html(a).addClass("closed")),e(document).trigger("yith_fields_init"),e(document).trigger("yith-add-box-button-toggle",[i]))}),e(document).on("click",".yith-add-box-buttons .yith-save-button",function(t){t.preventDefault();var i=e(this).parents(".yith-add-box"),n=e(this).closest(".yith-toggle_wrapper").attr("id"),a=i.find(".spinner"),l=e(this).parents(".toggle-element"),o=i.find(":input"),s=0,r=e('<input type="hidden">');l.find(".yith-toggle-row").each(function(){var t=parseInt(e(this).data("item_key"));s<=t&&(s=t+1)}),r.val(s),e(document).trigger("yith-toggle-change-counter",[r,i]),s=r.val();var d=wp.template("yith-toggle-element-item-"+n),c=e(d({index:s}));a.addClass("show"),e.each(o,function(t,i){if(void 0!==e(i).attr("id")){var n=e(i).attr("id"),a=e(i).val();n="radio"===e(i).attr("type")?(n=(n=e(i).closest(".yith-plugin-fw-radio").attr("id")).replace("new_","")+"_"+s)+"-"+a:n.replace("new_","")+"_"+s,e(i).is(":checked")&&e(c).find("#"+n).prop("checked",!0),(e(i).hasClass("yith-post-search")||e(i).hasClass("yith-term-search"))&&e(c).find("#"+n).html(e("#"+e(i).attr("id")).html()),e(c).find("#"+n).val(a)}}),e(c).formatToggleTitle();var u=e('<input type="hidden">').val("yes");e(document).trigger("yith-toggle-element-item-before-add",[i,c,u]);setTimeout(function(){if("yes"===u.val()){e(l).find(".yith-toggle-elements").append(c),e(i).find(".yith-plugin-fw-datepicker").datepicker("destroy"),e(i).html(""),e(i).prev(".yith-add-box-button").trigger("click"),l.saveToggleElement();setTimeout(function(){e(l).find(".highlight").removeClass("highlight")},2e3),e(document).trigger("yith_fields_init")}},1e3)}),e(document).on("click",".yith-toggle-row .yith-save-button",function(t){t.preventDefault();var i=e(this).closest(".toggle-element"),n=e(this).closest(".yith-toggle-row"),a=n.find(".spinner");n.formatToggleTitle();var l=e('<input type="hidden">').val("yes");e(document).trigger("yith-toggle-element-item-before-update",[i,n,l]),"yes"===l.val()&&(a.addClass("show"),i.saveToggleElement(a))}),e(document).on("click",".yith-toggle-row .yith-delete-button",function(t){t.preventDefault();var i=e(this).closest(".toggle-element");e(this).closest(".yith-toggle-row").remove(),i.saveToggleElement()}),e(document).on("click",".yith-toggle-onoff",function(t){t.preventDefault(),e(this).closest(".toggle-element").saveToggleElement()}),e(document).on("click",".yith-plugin-fw-radio input[type=radio]",function(){var t=e(this).closest(".yith-plugin-fw-radio"),i=e(this).val();t.val(i).data("value",i).trigger("change")}),e(document.body).on("yith-plugin-fw-init-radio",function(){e(".yith-plugin-fw-radio:not(.yith-plugin-fw-radio--initialized)").each(function(){e(this).val(e(this).data("value")),e(this).addClass("yith-plugin-fw-radio--initialized")})}).trigger("yith-plugin-fw-init-radio"),e(document).on("click",".yith-password-eye",function(){var t=e(this),i=e(this).closest(".yith-password-wrapper").find("input");"password"===i.attr("type")?(i.attr("type","text"),t.addClass("yith-password-eye-closed")):(i.attr("type","password"),t.removeClass("yith-password-eye-closed"))}),e(document).on("select2:open",function(t){e(t.target).closest(".yith-plugin-ui").length&&e(".select2-results").closest(".select2-container").addClass("yith-plugin-fw-select2-container")});var t={selectors:{wrapper:".yith-plugin-fw-dimensions",units:{wrapper:".yith-plugin-fw-dimensions__units",single:".yith-plugin-fw-dimensions__unit",value:".yith-plugin-fw-dimensions__unit__value",selectedClass:"yith-plugin-fw-dimensions__unit--selected"},linked:{button:".yith-plugin-fw-dimensions__linked",value:".yith-plugin-fw-dimensions__linked__value",wrapperActiveClass:"yith-plugin-fw-dimensions--linked-active"},dimensions:{number:".yith-plugin-fw-dimensions__dimension__number"}},init:function(){var i=t;e(document).on("click",i.selectors.units.single,i.unitChange),e(document).on("click",i.selectors.linked.button,i.linkedChange),e(document).on("change keyup",i.selectors.dimensions.number,i.numberChange)},unitChange:function(i){var n=e(this).closest(t.selectors.units.single),a=n.closest(t.selectors.units.wrapper),l=a.find(t.selectors.units.single),o=a.find(t.selectors.units.value).first(),s=n.data("value");l.removeClass(t.selectors.units.selectedClass),n.addClass(t.selectors.units.selectedClass),o.val(s)},linkedChange:function(){var i=e(this).closest(t.selectors.linked.button),n=i.closest(t.selectors.wrapper),a=i.find(t.selectors.linked.value);"yes"===a.val()?(n.removeClass(t.selectors.linked.wrapperActiveClass),a.val("no")):(n.addClass(t.selectors.linked.wrapperActiveClass),a.val("yes"),n.find(t.selectors.dimensions.number).first().trigger("change"))},numberChange:function(i){var n=e(this).closest(t.selectors.dimensions.number),a=n.closest(t.selectors.wrapper);a.hasClass(t.selectors.linked.wrapperActiveClass)&&a.find(t.selectors.dimensions.number).val(n.val())}};t.init()}(jQuery);
plugin-fw/includes/class-yit-cpt-unlimited.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * YITH Custom-Post-Type Unlimited Class.
4
- * Manage the custom post types as Portfolio, Contact Forms and similar (called CPTU)
5
  *
6
  * @class YIT_CPT_Unlimited
7
  * @package YITH\PluginFramework\Classes
@@ -19,76 +19,6 @@ if ( ! class_exists( 'YIT_CPT_Unlimited' ) ) {
19
  */
20
  class YIT_CPT_Unlimited {
21
 
22
- /**
23
- * The name of main post type of CPTU.
24
- *
25
- * @var string
26
- */
27
- protected $name = '';
28
-
29
- /**
30
- * The prefix of each post type created by the post of main CPTU
31
- *
32
- * @var string
33
- */
34
- protected $prefix_cpt = '';
35
-
36
- /**
37
- * Labels defined for the main CPTU
38
- *
39
- * @var string
40
- */
41
- protected $labels = '';
42
-
43
- /**
44
- * The configuration arguments of post type
45
- *
46
- * @var string
47
- */
48
- protected $args = '';
49
-
50
- /**
51
- * All post types created by the post of main CPTU
52
- *
53
- * @var array
54
- */
55
- public $post_types = array();
56
-
57
- /**
58
- * Array with all portfolio layouts available for this site
59
- *
60
- * @var array
61
- */
62
- public $layouts = array();
63
-
64
- /**
65
- * The pathname of template folder
66
- *
67
- * @var string
68
- */
69
- protected $template_path = '';
70
-
71
- /**
72
- * The URL of template folder
73
- *
74
- * @var string
75
- */
76
- protected $template_url = '';
77
-
78
- /**
79
- * Unique sequential ID to differentiate same shortcodes in the same page
80
- *
81
- * @var int
82
- */
83
- public $index = 0;
84
-
85
- /**
86
- * Temporary attribute to load automatically the settings for each layout
87
- *
88
- * @var string
89
- */
90
- private $layout = '';
91
-
92
  /**
93
  * YIT_CPT_Unlimited constructor.
94
  *
@@ -96,1810 +26,29 @@ if ( ! class_exists( 'YIT_CPT_Unlimited' ) ) {
96
  */
97
  public function __construct( $args = array() ) {
98
 
99
- $defaults = array(
100
- 'name' => '',
101
- 'post_type_prefix' => '',
102
- 'labels' => array(
103
- 'main_name' => '',
104
- 'singular' => '',
105
- 'plural' => '',
106
- 'menu' => '',
107
- ),
108
- 'manage_layouts' => false,
109
- 'add_multiuploader' => false,
110
- 'sortable' => false,
111
- 'has_single' => false,
112
- 'has_taxonomy' => false,
113
- 'label_item_sing' => '',
114
- 'label_item_plur' => '',
115
- 'shortcode_name' => '',
116
- 'shortcode_icon' => '', // URL or icon name from http://melchoyce.github.io/dashicons/.
117
- 'layout_option' => '_type', // The option ID of layout meta-box.
118
- );
119
- $this->args = wp_parse_args( $args, $defaults );
120
-
121
- // Fix the labels.
122
- if ( empty( $this->args['labels']['main_name'] ) ) {
123
- $this->args['labels']['main_name'] = $this->args['labels']['singular'];
124
- }
125
- if ( empty( $this->args['labels']['menu'] ) ) {
126
- $this->args['labels']['menu'] = $this->args['labels']['singular'];
127
- }
128
-
129
- // Populate.
130
- $this->name = $this->args['name'];
131
- $this->prefix_cpt = $this->args['post_type_prefix'];
132
- $this->labels = $this->args['labels'];
133
-
134
- add_action( 'init', array( $this, 'register_post_type' ) );
135
- add_action( 'init', array( $this, 'register_cptu_post_types' ) );
136
-
137
- add_action( 'save_post', array( $this, 'rewrite_flush' ) );
138
-
139
- // Admin interface.
140
- add_action( 'admin_head', array( $this, 'add_cptu_menu_item' ) );
141
- add_action( 'admin_init', array( $this, 'add_quick_links_metaboxes' ) );
142
- add_action( 'admin_enqueue_scripts', array( $this, 'admin_assets' ) );
143
-
144
- // Meta-boxes.
145
- if ( is_admin() ) {
146
- add_action( 'init', array( $this, 'add_metabox_cptu' ) );
147
- add_action( 'init', array( $this, 'add_metabox_item_fields' ) );
148
- }
149
-
150
- // Multi-uploader.
151
- if ( $this->args['add_multiuploader'] ) {
152
- add_action( 'admin_footer', array( $this, 'add_button_multiuploader' ) );
153
- add_action( 'wp_ajax_yit_cptu_multiuploader', array( $this, 'post_multiuploader' ) );
154
- }
155
-
156
- // Layouts.
157
- if ( $this->args['manage_layouts'] ) {
158
- $this->get_layouts();
159
- }
160
-
161
- // Single layout.
162
- if ( $this->args['has_single'] ) {
163
- add_action( 'yit_loop', array( $this, 'single_template' ) );
164
- add_action( 'wp', array( $this, 'single_template_config' ) );
165
-
166
- if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
167
- add_action( 'init', array( $this, 'single_template_config' ) );
168
- }
169
- }
170
-
171
- // Archive template.
172
- add_action( 'wp', array( $this, 'archive_template' ) );
173
-
174
- // Enqueue the assets of each layout.
175
- add_action( 'wp_enqueue_scripts', array( $this, 'frontend_assets' ) );
176
-
177
- // Add the shortcode, used to show the frontend.
178
- if ( ! empty( $this->args['shortcode_name'] ) ) {
179
- add_shortcode( $this->args['shortcode_name'], array( &$this, 'add_shortcode' ) );
180
- add_filter( 'yit_shortcode_' . $this->args['shortcode_name'] . '_icon', array( $this, 'shortcode_icon' ) );
181
- add_filter( 'yit-shortcode-plugin-init', array( $this, 'add_shortcode_to_box' ) );
182
- }
183
-
184
- // Add sortable feature.
185
- if ( $this->args['sortable'] ) {
186
- add_action( 'admin_enqueue_scripts', array( $this, 'admin_sortable_assets' ) );
187
- add_action( 'wp_ajax_cpt_sort_posts', array( $this, 'sort_posts' ) );
188
- add_action( 'admin_init', array( $this, 'init_menu_order' ) );
189
- add_filter( 'pre_get_posts', array( $this, 'filter_active' ) );
190
- add_filter( 'pre_get_posts', array( $this, 'pre_get_posts' ) );
191
- add_filter( 'get_next_post_where', array( $this, 'sorted_next_post_where' ) );
192
- add_filter( 'get_previous_post_where', array( $this, 'sorted_prev_post_where' ) );
193
- add_filter( 'get_next_post_sort', array( $this, 'sorted_next_post_sort' ) );
194
- add_filter( 'get_previous_post_sort', array( $this, 'sorted_prev_post_sort' ) );
195
- }
196
-
197
- // Add default columns to post type table list.
198
- add_filter( 'manage_edit-' . $this->name . '_columns', array( $this, 'cptu_define_columns' ) );
199
- add_action( 'manage_' . $this->name . '_posts_custom_column', array( $this, 'cptu_change_columns' ), 10, 2 );
200
-
201
- // Add required post type for WordPress importer.
202
- add_filter( 'wp_import_post_data_raw', array( $this, 'add_importer_required_post_type' ) );
203
- add_filter( 'wp_import_terms', array( $this, 'add_importer_required_taxonomy' ) );
204
- add_action( 'wp_import_set_post_terms', array( $this, 'recount_terms_post' ), 10, 3 );
205
-
206
- }
207
-
208
- /**
209
- * Enqueue the assets for the sortable feature
210
- *
211
- * @return void
212
- * @since 1.0
213
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
214
- */
215
- public function admin_sortable_assets() {
216
- global $post;
217
-
218
- if ( ! isset( $post->post_type ) || ! $this->is_valid( $post->post_type ) ) {
219
- return;
220
- }
221
-
222
- wp_enqueue_script( 'yit-cptu-sortable-posts', YIT_CORE_PLUGIN_URL . '/assets/js/yit-cptu-sortable-posts.js', array( 'jquery', 'jquery-ui-sortable' ), '1.0', true );
223
- }
224
-
225
- /**
226
- * Init menu order
227
- *
228
- * @param array $post_types The post types.
229
- */
230
- public function init_menu_order( $post_types = array() ) {
231
- global $wpdb;
232
-
233
- if ( empty( $post_types ) ) {
234
- $post_types = $wpdb->get_col( $wpdb->prepare( "SELECT DISTINCT post_type FROM $wpdb->posts WHERE post_type LIKE %s", str_replace( '_', '\_', $this->prefix_cpt ) . '%' ) );
235
- } elseif ( ! is_array( $post_types ) ) {
236
- $post_types = array( $post_types );
237
- }
238
-
239
- foreach ( $post_types as $post_type ) {
240
- $count = $wpdb->get_var(
241
- $wpdb->prepare(
242
- "SELECT COUNT(*) FROM $wpdb->posts WHERE post_type = %s AND post_status IN ('publish', 'pending', 'draft', 'private', 'future') AND menu_order = 0",
243
- $post_type
244
- )
245
- );
246
-
247
- if ( empty( $count ) ) {
248
- continue;
249
- }
250
-
251
- $results = $wpdb->get_results(
252
- $wpdb->prepare(
253
- "SELECT ID FROM $wpdb->posts WHERE post_type = %s AND post_status IN ('publish', 'pending', 'draft', 'private', 'future') ORDER BY post_date DESC",
254
- $post_type
255
- )
256
- );
257
-
258
- foreach ( $results as $key => $result ) {
259
- $wpdb->update( $wpdb->posts, array( 'menu_order' => $key + 1 ), array( 'ID' => $result->ID ) );
260
- }
261
- }
262
- }
263
-
264
- /**
265
- * Save the order of posts from sortable feature
266
- *
267
- * @return void
268
- * @since 1.0
269
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
270
- */
271
- public function sort_posts() {
272
- global $wpdb;
273
-
274
- parse_str( $_REQUEST['order'], $data ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended,WordPress.Security.ValidatedSanitizedInput
275
-
276
- if ( is_array( $data ) ) {
277
- $id_arr = array();
278
- foreach ( $data as $key => $values ) {
279
- foreach ( $values as $position => $id ) {
280
- $id_arr[] = $id;
281
- }
282
- }
283
-
284
- $menu_order_arr = array();
285
- foreach ( $id_arr as $key => $id ) {
286
- $results = $wpdb->get_results( $wpdb->prepare( "SELECT menu_order FROM $wpdb->posts WHERE ID = %d", $id ) );
287
- foreach ( $results as $result ) {
288
- $menu_order_arr[] = $result->menu_order;
289
- }
290
- }
291
-
292
- sort( $menu_order_arr );
293
-
294
- foreach ( $data as $key => $values ) {
295
- foreach ( $values as $position => $id ) {
296
- $wpdb->update( $wpdb->posts, array( 'menu_order' => $menu_order_arr[ $position ] ), array( 'ID' => $id ) );
297
- }
298
- }
299
- }
300
-
301
- die();
302
- }
303
-
304
- /**
305
- * Filter Active
306
- *
307
- * @param WC_Query $wp_query The query.
308
- *
309
- * @return mixed
310
- */
311
- public function filter_active( $wp_query ) {
312
- if ( is_admin() && isset( $wp_query->query['suppress_filters'] ) ) {
313
- $wp_query->query['suppress_filters'] = false;
314
- }
315
- if ( is_admin() && isset( $wp_query->query_vars['suppress_filters'] ) ) {
316
- $wp_query->query_vars['suppress_filters'] = false;
317
- }
318
-
319
- return $wp_query;
320
- }
321
-
322
- /**
323
- * Pre get post.
324
- *
325
- * @param WP_Query $wp_query The query.
326
- */
327
- public function pre_get_posts( $wp_query ) {
328
- if ( is_admin() && ! defined( 'DOING_AJAX' ) ) {
329
- if ( isset( $wp_query->query['post_type'] ) ) {
330
- $post_types = (array) $wp_query->query['post_type'];
331
- foreach ( $post_types as $post_type ) {
332
- if ( $this->is_valid( $post_type ) ) {
333
- $wp_query->set( 'orderby', 'menu_order' );
334
- $wp_query->set( 'order', 'ASC' );
335
- }
336
- }
337
- }
338
- } else {
339
- $active = false;
340
- if ( isset( $wp_query->query['suppress_filters'] ) || isset( $wp_query->query['post_type'] ) ) {
341
- $post_types = (array) $wp_query->query['post_type'];
342
- foreach ( $post_types as $post_type ) {
343
- if ( $this->is_valid( $post_type ) ) {
344
- $active = true;
345
- }
346
- }
347
- }
348
-
349
- if ( $active ) {
350
- if ( ! isset( $wp_query->query['orderby'] ) || 'post_date' === $wp_query->query['orderby'] ) {
351
- $wp_query->set( 'orderby', 'menu_order' );
352
- }
353
- if ( ! isset( $wp_query->query['order'] ) || 'DESC' === $wp_query->query['order'] ) {
354
- $wp_query->set( 'order', 'ASC' );
355
- }
356
- }
357
- }
358
- }
359
-
360
- /**
361
- * Filters where clause for get next post
362
- *
363
- * @param string $where The 'where'.
364
- *
365
- * @return string
366
- * @since 1.0
367
- * @author Antonio La Rocca <antonio.larocca@yithemes.com>
368
- */
369
- public function sorted_next_post_where( $where ) {
370
- // phpcs:disable WordPress.Security.NonceVerification.Recommended
371
- global $post;
372
- if ( defined( 'DOING_AJAX' ) && DOING_AJAX && isset( $_REQUEST['post_id'] ) ) {
373
- $post = get_post( absint( $_REQUEST['post_id'] ) ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
374
- } else {
375
- $post = get_post(); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
376
- }
377
-
378
- if ( ! $post || ! $this->is_valid( $post->post_type ) ) {
379
- return $where;
380
- }
381
-
382
- $result = str_replace( "'" . $post->post_date . "'", $post->menu_order, $where );
383
- $result = str_replace( 'p.post_date', 'p.menu_order', $result );
384
-
385
- return $result;
386
- // phpcs:enable
387
- }
388
-
389
- /**
390
- * Filters where clause for get prev post
391
- *
392
- * @param string $where The 'where'.
393
- *
394
- * @return string
395
- * @since 1.0
396
- * @author Antonio La Rocca <antonio.larocca@yithemes.com>
397
- */
398
- public function sorted_prev_post_where( $where ) {
399
- // phpcs:disable WordPress.Security.NonceVerification.Recommended
400
- global $post;
401
-
402
- if ( defined( 'DOING_AJAX' ) && DOING_AJAX && isset( $_REQUEST['post_id'] ) ) {
403
- $post = get_post( absint( $_REQUEST['post_id'] ) ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
404
- } else {
405
- $post = get_post(); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
406
- }
407
-
408
- if ( ! $post || ! $this->is_valid( $post->post_type ) ) {
409
- return $where;
410
- }
411
-
412
- $result = str_replace( "'" . $post->post_date . "'", $post->menu_order, $where );
413
- $result = str_replace( 'p.post_date', 'p.menu_order', $result );
414
-
415
- return $result;
416
- // phpcs:enable
417
- }
418
-
419
- /**
420
- * Filters sort clause for get next post
421
- *
422
- * @param string $sort The 'sort' param.
423
- *
424
- * @return string
425
- * @since 1.0
426
- * @author Antonio La Rocca <antonio.larocca@yithemes.com>
427
- */
428
- public function sorted_next_post_sort( $sort ) {
429
- // phpcs:disable WordPress.Security.NonceVerification.Recommended
430
- global $post;
431
-
432
- if ( defined( 'DOING_AJAX' ) && DOING_AJAX && isset( $_REQUEST['post_id'] ) ) {
433
- $post = get_post( absint( $_REQUEST['post_id'] ) ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
434
- } else {
435
- $post = get_post(); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
436
- }
437
-
438
- if ( ! $post || ! $this->is_valid( $post->post_type ) ) {
439
- return $sort;
440
- }
441
-
442
- return str_replace( 'p.post_date', 'p.menu_order', $sort );
443
- // phpcs:enable
444
- }
445
-
446
- /**
447
- * Filters sort clause for get prev post
448
- *
449
- * @param string $sort The 'sort' param.
450
- *
451
- * @return string
452
- * @since 1.0
453
- * @author Antonio La Rocca <antonio.larocca@yithemes.com>
454
- */
455
- public function sorted_prev_post_sort( $sort ) {
456
- // phpcs:disable WordPress.Security.NonceVerification.Recommended
457
- global $post;
458
-
459
- if ( defined( 'DOING_AJAX' ) && DOING_AJAX && isset( $_REQUEST['post_id'] ) ) {
460
- $post = get_post( absint( $_REQUEST['post_id'] ) ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
461
- } else {
462
- $post = get_post(); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
463
- }
464
-
465
- if ( ! $post || ! $this->is_valid( $post->post_type ) ) {
466
- return $sort;
467
- }
468
-
469
- return str_replace( 'p.post_date', 'p.menu_order', $sort );
470
- // phpcs:enable
471
- }
472
-
473
- /**
474
- * Register post type
475
- * Register the post type for the creation of portfolios
476
- *
477
- * @return void
478
- * @since 1.0
479
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
480
- */
481
- public function register_post_type() {
482
- $labels = array(
483
- 'name' => ucfirst( $this->labels['main_name'] ),
484
- 'singular_name' => ucfirst( $this->labels['singular'] ),
485
- // translators: %s is the singular name of the post type.
486
- 'add_new' => sprintf( __( 'Add %s', 'yith-plugin-fw' ), ucfirst( $this->labels['singular'] ) ),
487
- // translators: %s is the singular name of the post type.
488
- 'add_new_item' => sprintf( __( 'Add New %s', 'yith-plugin-fw' ), ucfirst( $this->labels['singular'] ) ),
489
- // translators: %s is the singular name of the post type.
490
- 'edit_item' => sprintf( __( 'Edit %s', 'yith-plugin-fw' ), ucfirst( $this->labels['singular'] ) ),
491
- // translators: %s is the singular name of the post type.
492
- 'new_item' => sprintf( __( 'New %s', 'yith-plugin-fw' ), ucfirst( $this->labels['singular'] ) ),
493
- // translators: %s is the plural name of the post type.
494
- 'all_items' => sprintf( __( 'All %s', 'yith-plugin-fw' ), ucfirst( $this->labels['plural'] ) ),
495
- // translators: %s is the singular name of the post type.
496
- 'view_item' => sprintf( __( 'View %s', 'yith-plugin-fw' ), ucfirst( $this->labels['singular'] ) ),
497
- // translators: %s is the plural name of the post type.
498
- 'search_items' => sprintf( __( 'Search %s', 'yith-plugin-fw' ), ucfirst( $this->labels['plural'] ) ),
499
- // translators: %s is the plural name of the post type.
500
- 'not_found' => sprintf( __( 'No %s found', 'yith-plugin-fw' ), ucfirst( $this->labels['plural'] ) ),
501
- // translators: %s is the plural name of the post type.
502
- 'not_found_in_trash' => sprintf( __( 'No %s found in Trash', 'yith-plugin-fw' ), ucfirst( $this->labels['plural'] ) ),
503
- 'parent_item_colon' => '',
504
- 'menu_name' => ucfirst( $this->labels['menu'] ),
505
- );
506
-
507
- $args = array(
508
- 'labels' => apply_filters( 'yit_' . $this->name . '_labels', $labels ),
509
- 'public' => false,
510
- 'publicly_queryable' => false,
511
- 'show_ui' => true,
512
- 'show_in_menu' => true,
513
- 'query_var' => false,
514
- 'capability_type' => 'post',
515
- 'hierarchical' => false,
516
- 'menu_position' => null,
517
- 'supports' => array( 'title' ),
518
- );
519
-
520
- if ( ! empty( $this->args['menu_icon'] ) ) {
521
- $args['menu_icon'] = $this->args['menu_icon'];
522
- }
523
-
524
- register_post_type( $this->name, apply_filters( 'yit_' . $this->name . '_args', $args ) );
525
- }
526
-
527
- /**
528
- * Retrieve the values configured inside the custom post type
529
- *
530
- * @param WP_Post $post The post where get the arguments configured in the cpt.
531
- *
532
- * @return array
533
- * @since 1.0
534
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
535
- */
536
- protected function cpt_args( $post ) {
537
- if ( ! isset( $post->ID ) ) {
538
- return;
539
- }
540
-
541
- $args = apply_filters(
542
- 'yit_cptu_register_post_type_args',
543
- array(
544
- 'layout' => get_post_meta( $post->ID, $this->args['layout_option'], true ),
545
- 'rewrite' => get_post_meta( $post->ID, '_rewrite', true ),
546
- 'label_singular' => ! empty( $this->args['label_item_sing'] ) ? $this->args['label_item_sing'] : get_post_meta( $post->ID, '_label_singular', true ),
547
- 'label_plural' => ! empty( $this->args['label_item_plur'] ) ? $this->args['label_item_plur'] : get_post_meta( $post->ID, '_label_plural', true ),
548
- 'taxonomy' => get_post_meta( $post->ID, '_taxonomy', true ),
549
- 'taxonomy_rewrite' => get_post_meta( $post->ID, '_taxonomy_rewrite', true ),
550
- ),
551
- $this->name,
552
- $post
553
- );
554
-
555
- $title = $post->post_title;
556
-
557
- if ( empty( $args['label_singular'] ) ) {
558
- $args['label_singular'] = $title;
559
- }
560
-
561
- if ( empty( $args['label_plural'] ) ) {
562
- $args['label_plural'] = $title;
563
- }
564
-
565
- return $args;
566
- }
567
-
568
- /**
569
- * Retrieve the post types created for this CPTU
570
- *
571
- * @return array The link changed
572
- * @since 1.0
573
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
574
- */
575
- public function get_post_types() {
576
- if ( ! empty( $this->post_types ) ) {
577
- return $this->post_types;
578
- }
579
-
580
- $args = array(
581
- 'post_type' => $this->name,
582
- 'posts_per_page' => - 1,
583
- 'post_status' => 'publish',
584
- );
585
- $this->post_types = get_posts( $args );
586
-
587
- return $this->post_types;
588
- }
589
-
590
- /**
591
- * Register portfolio post types
592
- * Register the post types for each portfolio created by admin
593
- *
594
- * @return void
595
- * @since 1.0
596
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
597
- */
598
- public function register_cptu_post_types() {
599
- $post_types = $this->get_post_types();
600
- $pts = array();
601
-
602
- foreach ( $post_types as $pt ) {
603
- extract( $this->cpt_args( $pt ) ); // phpcs:ignore WordPress.PHP.DontExtract.extract_extract
604
- /**
605
- * Fields.
606
- *
607
- * @var string $label_singular The singular label.
608
- * @var string $label_plural The plural label.
609
- * @var string $layout The layout.
610
- */
611
-
612
- $name = $pt->post_name;
613
- $title = $pt->post_title;
614
-
615
- $labels = array(
616
- 'name' => $title,
617
- 'singular_name' => $label_singular,
618
- // translators: $s is the singular name of the post type.
619
- 'add_new' => sprintf( __( 'Add %s', 'yith-plugin-fw' ), $label_singular ),
620
- // translators: $s is the singular name of the post type.
621
- 'add_new_item' => sprintf( __( 'Add New %s', 'yith-plugin-fw' ), $label_singular ),
622
- // translators: $s is the singular name of the post type.
623
- 'edit_item' => sprintf( __( 'Edit %s', 'yith-plugin-fw' ), $label_singular ),
624
- // translators: $s is the singular name of the post type.
625
- 'new_item' => sprintf( __( 'New %s', 'yith-plugin-fw' ), $label_singular ),
626
- // translators: $s is the plural name of the post type.
627
- 'all_items' => sprintf( __( 'All %s', 'yith-plugin-fw' ), $label_plural ),
628
- // translators: $s is the singular name of the post type.
629
- 'view_item' => sprintf( __( 'View %s', 'yith-plugin-fw' ), $label_singular ),
630
- // translators: $s is the plural name of the post type.
631
- 'search_items' => sprintf( __( 'Search %s', 'yith-plugin-fw' ), $label_plural ),
632
- // translators: $s is the plural name of the post type.
633
- 'not_found' => sprintf( __( 'No %s found', 'yith-plugin-fw' ), $label_plural ),
634
- // translators: $s is the plural name of the post type.
635
- 'not_found_in_trash' => sprintf( __( 'No %s found in Trash', 'yith-plugin-fw' ), $label_plural ),
636
- 'parent_item_colon' => '',
637
- 'menu_name' => $title,
638
- );
639
-
640
- $args = array(
641
- 'labels' => apply_filters( 'yit_' . $this->prefix_cpt . $name . '_labels', $labels ),
642
- 'public' => true,
643
- 'publicly_queryable' => true,
644
- 'show_ui' => true,
645
- 'show_in_menu' => false,
646
- 'query_var' => true,
647
- 'capability_type' => 'post',
648
- 'hierarchical' => false,
649
- 'menu_position' => null,
650
- 'supports' => array( 'title', 'editor', 'thumbnail' ),
651
- );
652
-
653
- if ( ! $this->args['has_single'] ) {
654
- $args['public'] = false;
655
- $args['publicly_queryable'] = false;
656
- $args['query_var'] = false;
657
- }
658
-
659
- if ( $this->args['manage_layouts'] && isset( $this->layouts[ $layout ] ) && ! $this->layouts[ $layout ]['support']['description'] ) {
660
- unset( $args['supports'][1] ); // Remove 'editor'.
661
- }
662
-
663
- if ( ! empty( $rewrite ) ) {
664
- $args['rewrite'] = array( 'slug' => $rewrite );
665
- }
666
-
667
- $post_type = yit_avoid_duplicate( str_replace( '-', '_', substr( $this->prefix_cpt . $name, 0, 16 ) ), $post_types );
668
- register_post_type( $post_type, apply_filters( 'yit_' . $this->prefix_cpt . $name . '_args', $args, $pt ) );
669
-
670
- update_post_meta( $pt->ID, '_post_type', $post_type );
671
- $pts[] = $post_type;
672
-
673
- if ( $this->args['has_taxonomy'] && ! empty( $taxonomy ) ) {
674
- $labels = array(
675
- // translators: %s is the singular name of the post type.
676
- 'name' => sprintf( _x( '%s Categories', 'taxonomy general name', 'yith-plugin-fw' ), $label_singular ),
677
- 'singular_name' => _x( 'Category', 'taxonomy singular name', 'yith-plugin-fw' ),
678
- 'search_items' => __( 'Search Categories', 'yith-plugin-fw' ),
679
- 'all_items' => __( 'All Categories', 'yith-plugin-fw' ),
680
- 'parent_item' => __( 'Parent Category', 'yith-plugin-fw' ),
681
- 'parent_item_colon' => __( 'Parent Category:', 'yith-plugin-fw' ),
682
- 'edit_item' => __( 'Edit Category', 'yith-plugin-fw' ),
683
- 'update_item' => __( 'Update Category', 'yith-plugin-fw' ),
684
- 'add_new_item' => __( 'Add New Category', 'yith-plugin-fw' ),
685
- 'new_item_name' => __( 'New Category Name', 'yith-plugin-fw' ),
686
- 'menu_name' => __( 'Category', 'yith-plugin-fw' ),
687
- );
688
-
689
- $args = array(
690
- 'hierarchical' => true,
691
- 'labels' => $labels,
692
- 'show_ui' => true,
693
- 'show_admin_column' => true,
694
- 'query_var' => true,
695
- );
696
-
697
- if ( ! empty( $taxonomy_rewrite ) ) {
698
- $args['rewrite'] = array( 'slug' => $taxonomy_rewrite );
699
- }
700
-
701
- register_taxonomy( substr( $taxonomy, 0, 32 ), $post_type, $args );
702
- }
703
- }
704
-
705
- wp_cache_set( 'yit_cptu_post_types', $post_types );
706
- }
707
-
708
- /**
709
- * Flush Rewrite Rules
710
- * rewrite rules when a cpt unlimited is saved
711
- *
712
- * @param int $post The post ID.
713
- *
714
- * @return void
715
- * @since 1.0
716
- * @author Emanuela Castorina <emanuela.castorina@yithemes.com>
717
- */
718
- public function rewrite_flush( $post ) {
719
- if ( isset( $post ) && $this->is_valid( get_post_type( intval( $post ) ) ) ) {
720
- flush_rewrite_rules();
721
- }
722
- }
723
-
724
- /**
725
- * Add the item for each portfolio under "Portfolios"
726
- *
727
- * @return void
728
- * @since 1.0
729
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
730
- */
731
- public function add_cptu_menu_item() {
732
- // phpcs:disable WordPress.Security.NonceVerification.Recommended,WordPress.WP.GlobalVariablesOverride.Prohibited
733
- global $submenu, $post, $parent_file, $pagenow;
734
-
735
- if ( isset( $post->post_type ) ) {
736
- $post_type = $post->post_type;
737
- } elseif ( isset( $_REQUEST['post_type'] ) ) {
738
- $post_type = sanitize_key( wp_unslash( $_REQUEST['post_type'] ) );
739
- } else {
740
- return;
741
- }
742
-
743
- $item = 'edit.php?post_type=' . $this->name;
744
-
745
- if ( strpos( $post_type, $this->prefix_cpt ) !== false ) {
746
- global $wpdb;
747
- $portfolio = $wpdb->get_row( $wpdb->prepare( "SELECT p.* FROM $wpdb->postmeta AS pm INNER JOIN $wpdb->posts AS p ON p.ID = pm.post_id WHERE pm.meta_key = %s AND pm.meta_value = %s AND p.post_type = %s", '_post_type', $post_type, $this->name ) );
748
-
749
- if ( ! isset( $portfolio->ID ) ) {
750
- return;
751
- }
752
-
753
- $label_singular = ! empty( $this->args['label_item_sing'] ) ? $this->args['label_item_sing'] : get_post_meta( $portfolio->ID, '_label_singular', true );
754
- $label_plural = ! empty( $this->args['label_item_plur'] ) ? $this->args['label_item_plur'] : get_post_meta( $portfolio->ID, '_label_plural', true );
755
-
756
- if ( empty( $label_plural ) ) {
757
- $label_plural = $portfolio->post_title;
758
- }
759
-
760
- if ( empty( $label_singular ) ) {
761
- $label_singular = $portfolio->post_title;
762
- }
763
-
764
- $submenu[ $item ][15] = array( ucfirst( $label_plural ), 'edit_posts', 'edit.php?post_type=' . $post_type );
765
- $submenu[ $item ][20] = array(
766
- sprintf(
767
- // translators: %s is the singular name of the post type.
768
- __( 'Add %s', 'yith-plugin-fw' ),
769
- ucfirst( $label_singular )
770
- ),
771
- 'edit_posts',
772
- 'post-new.php?post_type=' . $post_type,
773
- );
774
-
775
- global $wp_taxonomies;
776
- $taxonomy = get_post_meta( $portfolio->ID, '_taxonomy', true );
777
- if ( isset( $wp_taxonomies[ $taxonomy ] ) ) {
778
- $submenu[ $item ][25] = array( __( 'Categories', 'yith-plugin-fw' ), 'edit_posts', 'edit-tags.php?taxonomy=' . $taxonomy . '&post_type=' . $post_type );
779
- }
780
- }
781
-
782
- // Set the parent item inside the single of each post type.
783
- if ( 'post.php' === $pagenow && isset( $_GET['post'] ) && $this->is_valid( get_post_type( intval( $_GET['post'] ) ) ) ) {
784
- $parent_file = 'edit.php?post_type=' . $this->name;
785
- }
786
-
787
- // phpcs:enable
788
- }
789
-
790
- /**
791
- * Locate folder of CPTU templates, if there isn't a layouts management
792
- *
793
- * @return string
794
- * @since 1.0
795
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
796
- */
797
- public function template_path() {
798
- if ( ! empty( $this->template_path ) ) {
799
- return $this->template_path;
800
- }
801
-
802
- $stylesheet_path_1 = get_stylesheet_directory() . '/theme/templates/' . $this->name . '/';
803
- $stylesheet_path_2 = get_template_directory() . '/theme/templates/' . $this->name . '/';
804
- $template_path_1 = get_stylesheet_directory() . '/' . $this->name . '/';
805
- $template_path_2 = get_template_directory() . '/' . $this->name . '/';
806
- $plugin_path = $this->args['plugin_path'] . '/templates/';
807
-
808
- foreach ( array( 'stylesheet_path_1', 'stylesheet_path_2', 'template_path_1', 'template_path_2', 'plugin_path' ) as $var ) {
809
- $path = ${$var};
810
-
811
- if ( file_exists( $path ) ) {
812
- $this->template_path = $path;
813
- }
814
- }
815
-
816
- return $this->template_path;
817
- }
818
-
819
- /**
820
- * Locate folder of CPTU templates, if there isn't a layouts management
821
- *
822
- * @return string
823
- * @since 1.0
824
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
825
- */
826
- public function template_url() {
827
- if ( ! empty( $this->template_url ) ) {
828
- return $this->template_path;
829
- }
830
-
831
- $this->template_url = str_replace(
832
- array(
833
- get_stylesheet_directory(),
834
- get_template_directory(),
835
- $this->args['plugin_path'],
836
- ),
837
- array(
838
- get_stylesheet_directory_uri(),
839
- get_template_directory_uri(),
840
- $this->args['plugin_url'],
841
- ),
842
- $this->template_path()
843
- );
844
-
845
- return $this->template_url;
846
- }
847
-
848
- /**
849
- * Retrieve all layouts to manage by custom post type added in the site in this order:
850
- * 1. Child theme (if exists)
851
- * 2. Theme
852
- * 3. Plugin
853
- * It also load the config.php file of each layout
854
- *
855
- * @return void
856
- * @since 1.0
857
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
858
- */
859
- public function get_layouts() {
860
- $stylesheet_path_1 = get_stylesheet_directory() . '/theme/templates/' . $this->name . '/';
861
- $stylesheet_path_2 = get_template_directory() . '/theme/templates/' . $this->name . '/';
862
- $template_path_1 = get_stylesheet_directory() . '/' . $this->name . '/';
863
- $template_path_2 = get_template_directory() . '/' . $this->name . '/';
864
- $plugin_path = $this->args['plugin_path'] . '/templates/';
865
-
866
- foreach ( array( 'stylesheet_path_1', 'stylesheet_path_2', 'template_path_1', 'template_path_2', 'plugin_path' ) as $var ) {
867
- $path = ${$var};
868
-
869
- if ( file_exists( $path ) ) {
870
- foreach ( scandir( $path ) as $scan ) {
871
- if ( ! isset( $this->layouts[ $scan ] ) && is_dir( $path . $scan ) && ! in_array( $scan, array( '.', '..', '.svn' ), true ) && '_' !== $scan[0] ) {
872
- $this->layouts[ $scan ] = array(
873
- 'name' => ucfirst( str_replace( '-', ' ', $scan ) ),
874
- 'path' => $path . $scan,
875
- 'url' => str_replace(
876
- array(
877
- get_stylesheet_directory(),
878
- get_template_directory(),
879
- $this->args['plugin_path'],
880
- ),
881
- array(
882
- get_stylesheet_directory_uri(),
883
- get_template_directory_uri(),
884
- $this->args['plugin_url'],
885
- ),
886
- $path . $scan
887
- ),
888
- 'css' => array(),
889
- 'js' => array(),
890
- 'support' => array(
891
- 'description' => true,
892
- ),
893
- 'columns' => array(),
894
- );
895
-
896
- // Set the vars for config.php.
897
- $layout = $scan;
898
- $this->layout = $layout; // temporary attribute to load automatically the configuration inside the config.php, for this layout.
899
-
900
- if ( ! in_array( $scan, array( 'single' ), true ) && file_exists( $path . $scan . '/config.php' ) ) {
901
- include_once $path . $scan . '/config.php';
902
- }
903
- }
904
- }
905
- }
906
- }
907
- }
908
-
909
- /**
910
- * Say if you want to set description for the current layout or not. This method must be used only inside the
911
- * config.php file of layout
912
- *
913
- * @param string $v 'yes' or 'no'.
914
- *
915
- * @return void
916
- * @since 1.0
917
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
918
- */
919
- public function add_description_field( $v ) {
920
- $this->layouts[ $this->layout ]['support']['description'] = 'yes' === $v;
921
- }
922
-
923
- /**
924
- * Add the extra fields for the specific layout type of portfolio
925
- *
926
- * @param array $fields The fields to add.
927
- *
928
- * @return void
929
- * @since 1.0
930
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
931
- */
932
- public function add_layout_fields( $fields = array() ) {
933
- foreach ( $fields as $id => $val ) {
934
- unset( $fields[ $id ] );
935
- $id = $this->layout . '_' . $id;
936
- $fields[ $id ] = $val;
937
- }
938
-
939
- $this->layouts[ $this->layout ]['fields'] = $fields;
940
- }
941
-
942
- /**
943
- * Add fields to add to the metabox of each item of each post type created
944
- *
945
- * @param array $fields The fields to add.
946
- *
947
- * @return void
948
- * @since 1.0
949
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
950
- */
951
- public function add_item_fields( $fields = array() ) {
952
- foreach ( $fields as $id => $val ) {
953
- unset( $fields[ $id ] );
954
- $fields[ $id ] = $val;
955
- }
956
- $this->layouts[ $this->layout ]['item_fields'] = $fields;
957
- }
958
-
959
- /**
960
- * Add columns to the table list
961
- *
962
- * @param array $columns The columns to add in the table list.
963
- *
964
- * @return void
965
- * @since 1.0
966
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
967
- */
968
- public function add_table_columns( $columns ) {
969
- $this->layouts[ $this->layout ]['columns'] = $columns;
970
- }
971
-
972
- /**
973
- * Enqueue the css files of layout
974
- *
975
- * @param string $handle Name of the stylesheet.
976
- * @param string|bool $src Path to the stylesheet from the root directory of WordPress. Example: '/css/mystyle.css'.
977
- * @param array $deps An array of registered style handles this stylesheet depends on. Default empty array.
978
- * @param string|bool $ver String specifying the stylesheet version number, if it has one. This parameter is used
979
- * to ensure that the correct version is sent to the client regardless of caching, and so
980
- * should be included if a version number is available and makes sense for the stylesheet.
981
- * @param string $media Optional. The media for which this stylesheet has been defined.
982
- * Default 'all'. Accepts 'all', 'aural', 'braille', 'handheld', 'projection', 'print',
983
- * 'screen', 'tty', or 'tv'.
984
- *
985
- * @return void
986
- * @since 1.0
987
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
988
- */
989
- public function enqueue_style( $handle, $src = false, $deps = array(), $ver = false, $media = 'all' ) {
990
- $this->layouts[ $this->layout ]['css'][] = compact( 'handle', 'src', 'deps', 'ver', 'media' );
991
- }
992
-
993
- /**
994
- * Enqueue the js files of layout
995
- *
996
- * @param string $handle Name of the script.
997
- * @param string|bool $src Path to the script from the root directory of WordPress. Example: '/js/myscript.js'.
998
- * @param array $deps An array of registered handles this script depends on. Default empty array.
999
- * @param string|bool $ver Optional. String specifying the script version number, if it has one. This parameter
1000
- * is used to ensure that the correct version is sent to the client regardless of caching,
1001
- * and so should be included if a version number is available and makes sense for the script.
1002
- * @param bool $in_footer Optional. Whether to enqueue the script before </head> or before </body>.
1003
- * Default 'false'. Accepts 'false' or 'true'.
1004
- *
1005
- * @return void
1006
- * @since 1.0
1007
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1008
- */
1009
- public function enqueue_script( $handle, $src = false, $deps = array(), $ver = false, $in_footer = false ) {
1010
- $this->layouts[ $this->layout ]['js'][] = compact( 'handle', 'src', 'deps', 'ver', 'in_footer' );
1011
- }
1012
-
1013
- /**
1014
- * Enqueue the assets for the frontend
1015
- *
1016
- * @return void
1017
- * @since 1.0
1018
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1019
- */
1020
- public function frontend_assets() {
1021
- global $post;
1022
-
1023
- // Not single.
1024
- if ( ! is_single() || ! isset( $post->post_type ) || ! $this->is_valid( $post->post_type ) ) {
1025
- $posts = get_posts(
1026
- array(
1027
- 'post_type' => $this->name,
1028
- 'posts_per_page' => - 1,
1029
- 'post_status' => 'publish',
1030
- 'fields' => 'ids',
1031
- )
1032
- );
1033
-
1034
- $enqueued = array();
1035
-
1036
- foreach ( $posts as $post_id ) {
1037
- $layout = get_post_meta( $post_id, $this->args['layout_option'], true );
1038
-
1039
- if ( in_array( $layout, array( $enqueued ), true ) || ! isset( $this->layouts[ $layout ]['css'] ) ) {
1040
- continue;
1041
- }
1042
-
1043
- foreach ( $this->layouts[ $layout ]['css'] as $asset ) {
1044
- if ( empty( $asset ) ) {
1045
- continue;
1046
- }
1047
- yit_enqueue_style( $asset['handle'], empty( $asset['src'] ) ? false : $this->locate_url( $layout ) . $asset['src'], $asset['deps'], $asset['ver'], $asset['media'] );
1048
- }
1049
-
1050
- $enqueued[] = $layout;
1051
- }
1052
- } else {
1053
- // Load assets of single template.
1054
- $layout = 'single';
1055
-
1056
- if ( ! isset( $this->layouts[ $layout ]['css'] ) ) {
1057
- return;
1058
- }
1059
-
1060
- foreach ( $this->layouts[ $layout ]['css'] as $asset ) {
1061
- if ( empty( $asset ) ) {
1062
- continue;
1063
- }
1064
- yit_enqueue_style( $asset['handle'], $this->locate_url( $layout ) . $asset['src'], $asset['deps'], $asset['ver'], $asset['media'] );
1065
- }
1066
- }
1067
-
1068
  }
1069
 
1070
  /**
1071
- * Register Metaboxes options
1072
- * Add the metabox for the portfolio settings
1073
  *
1074
- * @return void
1075
- * @since 1.0
1076
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1077
- */
1078
- public function add_metabox_cptu() {
1079
-
1080
- // Reorganize layouts.
1081
- if ( $this->args['manage_layouts'] ) {
1082
- $layouts = array();
1083
- foreach ( $this->layouts as $layout_id => $layout ) {
1084
- if ( 'single' === $layout_id ) {
1085
- continue;
1086
- }
1087
- $layouts[ $layout_id ] = $layout['name'];
1088
- }
1089
-
1090
- $layouts = apply_filters( 'yit_cptu_' . $this->name . '_layout_values', $layouts );
1091
- }
1092
-
1093
- $single_layouts = apply_filters( 'yit_cptu_' . $this->name . '_single_layout_values', array() );
1094
-
1095
- $metabox_args = array(
1096
- 'label' => sprintf(
1097
- // translators: %s is the singular name of the post type.
1098
- __( '%s Settings', 'yith-plugin-fw' ),
1099
- $this->labels['singular']
1100
- ),
1101
- 'pages' => $this->name,
1102
- 'context' => 'normal',
1103
- 'priority' => 'default',
1104
- 'tabs' => array(
1105
- 'settings' => array(
1106
- 'label' => __( 'Settings', 'yith-plugin-fw' ),
1107
- 'fields' => apply_filters(
1108
- 'yit_cptu_fields',
1109
- array(
1110
- 'type' => array(
1111
- 'label' => __( 'Type', 'yith-plugin-fw' ),
1112
- 'desc' => sprintf(
1113
- // translators: %s is the singular name of the post type.
1114
- __( 'Layout for this %s', 'yith-plugin-fw' ),
1115
- strtolower( $this->labels['singular'] )
1116
- ),
1117
- 'type' => 'select',
1118
- 'options' => isset( $layouts ) ? $layouts : array(),
1119
- 'std' => '',
1120
- ),
1121
- 'rewrite' => array(
1122
- 'label' => __( 'Rewrite', 'yith-plugin-fw' ),
1123
- 'desc' => __( 'Univocal identification name in the URL for each product (slug from post if empty)', 'yith-plugin-fw' ),
1124
- 'type' => 'text',
1125
- 'std' => '',
1126
- ),
1127
- 'label_singular' => array(
1128
- 'label' => __( 'Label in Singular', 'yith-plugin-fw' ),
1129
- 'desc' => __( 'Set a label in singular (title of portfolio if empty)', 'yith-plugin-fw' ),
1130
- 'type' => 'text',
1131
- 'std' => '',
1132
- ),
1133
- 'label_plural' => array(
1134
- 'label' => __( 'Label in Plural', 'yith-plugin-fw' ),
1135
- 'desc' => __( 'Set a label in plural (title of portfolio if empty)', 'yith-plugin-fw' ),
1136
- 'type' => 'text',
1137
- 'std' => '',
1138
- ),
1139
- 'taxonomy' => array(
1140
- 'label' => __( 'Taxonomy', 'yith-plugin-fw' ),
1141
- 'desc' => __( 'If you want to use categories in the portfolio, set a name for taxonomy. Name should be a slug (must not contain capital letters nor spaces) and must not be more than 32 characters long (database structure restriction).', 'yith-plugin-fw' ),
1142
- 'type' => 'text',
1143
- 'std' => '',
1144
- ),
1145
- 'taxonomy_rewrite' => array(
1146
- 'label' => __( 'Taxonomy Rewrite', 'yith-plugin-fw' ),
1147
- 'desc' => __( 'Set univocal name for each category page URL.', 'yith-plugin-fw' ),
1148
- 'type' => 'text',
1149
- 'std' => '',
1150
- ),
1151
- 'single_layout' => array(
1152
- 'label' => __( 'Single layout', 'yith-plugin-fw' ),
1153
- 'desc' => __( 'Layout for single page of this portfolio', 'yith-plugin-fw' ),
1154
- 'type' => 'select',
1155
- 'options' => $single_layouts,
1156
- 'std' => '',
1157
- ),
1158
- )
1159
- ),
1160
- ),
1161
- ),
1162
-
1163
- );
1164
-
1165
- if ( ! $this->args['has_single'] ) {
1166
- unset( $metabox_args['tabs']['settings']['fields']['rewrite'] );
1167
- }
1168
-
1169
- if ( ! $this->args['has_taxonomy'] ) {
1170
- unset( $metabox_args['tabs']['settings']['fields']['taxonomy'] );
1171
- unset( $metabox_args['tabs']['settings']['fields']['taxonomy_rewrite'] );
1172
- }
1173
-
1174
- if ( ! empty( $this->args['label_item_sing'] ) ) {
1175
- unset( $metabox_args['tabs']['settings']['fields']['label_singular'] );
1176
- }
1177
-
1178
- if ( ! empty( $this->args['label_item_plur'] ) ) {
1179
- unset( $metabox_args['tabs']['settings']['fields']['label_plural'] );
1180
- }
1181
-
1182
- if ( $this->args['manage_layouts'] ) {
1183
-
1184
- if ( count( $layouts ) < 1 ) {
1185
- unset( $metabox_args['tabs']['settings']['fields']['type'] );
1186
- }
1187
-
1188
- // Layouts options.
1189
- foreach ( $this->layouts as $layout => $args ) {
1190
- if ( ! isset( $args['fields'] ) ) {
1191
- continue;
1192
- }
1193
-
1194
- // Section title.
1195
- $metabox_args['tabs']['settings']['fields'][ $layout . '_title' ] = array(
1196
- 'desc' => $args['name'] . ' ' . __( 'layout settings', 'yith-plugin-fw' ),
1197
- 'type' => 'title',
1198
- 'deps' => array(
1199
- 'ids' => '_type',
1200
- 'values' => $layout,
1201
- ),
1202
- );
1203
-
1204
- // Options.
1205
- foreach ( $args['fields'] as $field_id => $field ) {
1206
- $metabox_args['tabs']['settings']['fields'][ $field_id ] = $field;
1207
- $metabox_args['tabs']['settings']['fields'][ $field_id ]['deps'] = array(
1208
- 'ids' => '_type',
1209
- 'values' => $layout,
1210
- );
1211
- }
1212
- }
1213
- } else {
1214
- unset( $metabox_args['tabs']['settings']['fields']['type'] );
1215
- }
1216
-
1217
- if ( count( $single_layouts ) < 1 ) {
1218
- unset( $metabox_args['tabs']['settings']['fields']['single_layout'] );
1219
- }
1220
-
1221
- // Undo if tab empty.
1222
- if ( empty( $metabox_args['tabs']['settings']['fields'] ) ) {
1223
- return;
1224
- }
1225
-
1226
- $metabox = YIT_Metabox( $this->name . '_cptu_settings' );
1227
- $metabox->init( $metabox_args );
1228
- }
1229
-
1230
- /**
1231
- * Register Metaboxes options
1232
- * Add the metabox for the portfolio settings
1233
- *
1234
- * @return void
1235
- * @since 1.0
1236
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1237
- */
1238
- public function add_metabox_item_fields() {
1239
- // phpcs:disable WordPress.Security.NonceVerification.Recommended,WordPress.WP.GlobalVariablesOverride.Prohibited
1240
- global $pagenow, $post_type;
1241
-
1242
- // Get the actual post type, to add the metabox only if necessary.
1243
- if ( 'post.php' === $pagenow && isset( $_REQUEST['post'] ) ) {
1244
- $post_type = get_post_type( intval( $_REQUEST['post'] ) );
1245
- } elseif ( 'post.php' === $pagenow && isset( $_REQUEST['post_ID'] ) ) {
1246
- $post_type = get_post_type( intval( $_REQUEST['post_ID'] ) );
1247
- } elseif ( 'post-new.php' === $pagenow && isset( $_REQUEST['post_type'] ) ) {
1248
- $post_type = sanitize_key( wp_unslash( $_REQUEST['post_type'] ) );
1249
- } else {
1250
- return;
1251
- }
1252
-
1253
- $layout = get_post_meta( $this->get_id_by_name( $post_type ), $this->args['layout_option'], true );
1254
-
1255
- if ( empty( $this->layouts[ $layout ]['item_fields'] ) ) {
1256
- return;
1257
- }
1258
-
1259
- $metabox_args = array(
1260
- 'label' => __( 'Settings', 'yith-plugin-fw' ),
1261
- 'pages' => $post_type,
1262
- 'context' => 'normal',
1263
- 'priority' => 'default',
1264
- 'tabs' => array(
1265
- 'settings' => array(
1266
- 'label' => __( 'Settings', 'yith-plugin-fw' ),
1267
- 'fields' => $this->layouts[ $layout ]['item_fields'],
1268
- ),
1269
- ),
1270
- );
1271
-
1272
- $metabox = YIT_Metabox( $post_type . '_item_fields' );
1273
- $metabox->init( $metabox_args );
1274
-
1275
- // phpcs:enable
1276
- }
1277
-
1278
- /**
1279
- * Add quick links inside the editing page of CPTU and Custom Post Types
1280
- *
1281
- * @return void
1282
- * @since 1.0
1283
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1284
- */
1285
- public function add_quick_links_metaboxes() {
1286
- add_meta_box( $this->name . '_quick_links', __( 'Quick links', 'yith-plugin-fw' ), array( $this, 'quick_links_cptu_inner' ), $this->name, 'side', 'high' );
1287
-
1288
- $args = array(
1289
- 'post_type' => $this->name,
1290
- 'posts_per_page' => - 1,
1291
- 'post_status' => 'publish',
1292
- );
1293
- $post_types = get_posts( $args );
1294
-
1295
- foreach ( $post_types as $post ) {
1296
- $post_type = get_post_meta( $post->ID, '_post_type', true );
1297
- add_meta_box( $post->post_type . '_quick_links', __( 'Quick links', 'yith-plugin-fw' ), array( $this, 'quick_links_cpt_inner' ), $post_type, 'side', 'high' );
1298
- }
1299
- }
1300
-
1301
- /**
1302
- * Link to: "View Items", inside the CPTU
1303
- *
1304
- * @param WP_Post $post The post.
1305
- *
1306
- * @return void
1307
- * @since 1.0
1308
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1309
- */
1310
- public function quick_links_cptu_inner( $post ) {
1311
- extract( $this->cpt_args( $post ) ); //phpcs:ignore WordPress.PHP.DontExtract.extract_extract
1312
- /**
1313
- * Extracted fields.
1314
- *
1315
- * @var string $label_plural The plural label.
1316
- */
1317
- ?>
1318
- <a href="<?php echo esc_url( admin_url( 'edit.php?post_type=' . get_post_meta( $post->ID, '_post_type', true ) ) ); ?>">
1319
- <?php
1320
- echo esc_html(
1321
- sprintf(
1322
- // translators: %s is the plural label of the post type.
1323
- __( 'View %s', 'yith-plugin-fw' ),
1324
- $label_plural
1325
- )
1326
- );
1327
- ?>
1328
- </a>
1329
- <?php
1330
- }
1331
-
1332
- /**
1333
- * Link to: "Edit %s", inside the CPTU
1334
- *
1335
- * @param WP_Post $post The Post.
1336
- *
1337
- * @return void
1338
- * @since 1.0
1339
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1340
- */
1341
- public function quick_links_cpt_inner( $post ) {
1342
- $post = get_post( $this->get_id_by_name( $post->post_type ) );
1343
- $url = admin_url( "post.php?post={$post->ID}&action=edit" );
1344
- ?>
1345
- <a href="<?php echo esc_url( $url ); ?>">
1346
- <?php
1347
- echo esc_html(
1348
- sprintf(
1349
- // translators: %s is the post title.
1350
- __( 'Edit %s', 'yith-plugin-fw' ),
1351
- $post->post_title
1352
- )
1353
- );
1354
- ?>
1355
- </a>
1356
- <?php
1357
- }
1358
-
1359
- /**
1360
- * Define the columns to use in the list table of main sliders post type
1361
- *
1362
- * @param array $columns The columns used in the list table.
1363
- *
1364
- * @return array
1365
- * @since 1.0
1366
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1367
- */
1368
- public function cptu_define_columns( $columns ) {
1369
- unset( $columns['date'] );
1370
-
1371
- $columns['actions'] = '';
1372
-
1373
- return $columns;
1374
- }
1375
-
1376
- /**
1377
- * Change the content of each column of the table list
1378
- *
1379
- * @param string $column The current column.
1380
- * @param int $post_id The current post ID.
1381
- *
1382
- * @return void
1383
- * @since 1.0
1384
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1385
- */
1386
- public function cptu_change_columns( $column, $post_id ) {
1387
- $post = get_post( $post_id );
1388
- extract( $this->cpt_args( $post ) ); // phpcs:ignore WordPress.PHP.DontExtract.extract_extract
1389
- /**
1390
- * Extracted fields.
1391
- *
1392
- * @var string $label_plural The plural label.
1393
- */
1394
-
1395
- switch ( $column ) {
1396
- case 'actions':
1397
- $edit_url = admin_url( "post.php?post={$post_id}&action=edit" );
1398
- $view_url = admin_url( 'edit.php?post_type=' . get_post_meta( $post_id, '_post_type', true ) );
1399
- $edit_label = sprintf(
1400
- // translators: %s is the singular name of the post type.
1401
- __( 'Edit %s', 'yith-plugin-fw' ),
1402
- ucfirst( $this->labels['singular'] )
1403
- );
1404
- $view_label = sprintf(
1405
- // translators: %s is the plural name of the post type.
1406
- __( 'View %s', 'yith-plugin-fw' ),
1407
- $label_plural
1408
- );
1409
- echo '<a href="' . esc_url( $edit_url ) . '" class="button-secondary">' . esc_html( $edit_label ) . '</a> ';
1410
- echo '<a href="' . esc_url( $view_url ) . '" class="button-secondary">' . esc_html( $view_label ) . '</a> ';
1411
- break;
1412
- }
1413
- }
1414
-
1415
- /**
1416
- * Retrieve the path of layout specified in parameter
1417
- *
1418
- * @param string $layout The layout.
1419
- * @param string $file The file to find.
1420
- *
1421
- * @return bool|string
1422
- * @since 1.0
1423
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1424
- */
1425
- public function locate_file( $layout, $file = '' ) {
1426
- if ( ! $this->args['manage_layouts'] ) {
1427
- return $this->template_path() . '/' . ( ! empty( $file ) ? $file . '.php' : '' );
1428
- }
1429
-
1430
- if ( ! isset( $this->layouts[ $layout ] ) ) {
1431
- $layout = 'default';
1432
- }
1433
-
1434
- return $this->layouts[ $layout ]['path'] . '/' . ( ! empty( $file ) ? $file . '.php' : '' );
1435
- }
1436
-
1437
- /**
1438
- * Retrieve the URL of layout specified in parameter
1439
- *
1440
- * @param string $layout The layout.
1441
- * @param string $file The file to find.
1442
- *
1443
- * @return bool|string
1444
- * @since 1.0
1445
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1446
- */
1447
- public function locate_url( $layout, $file = '' ) {
1448
- if ( ! $this->args['manage_layouts'] ) {
1449
- return $this->template_url();
1450
-
1451
- }
1452
-
1453
- if ( ! isset( $this->layouts[ $layout ] ) ) {
1454
- $layout = 'default';
1455
- }
1456
-
1457
- return $this->layouts[ $layout ]['url'] . '/' . ( ! empty( $file ) ? $file . '.php' : '' );
1458
- }
1459
-
1460
- /**
1461
- * Retrieve the post ID relative to the post of post type
1462
- *
1463
- * @param string $name the name.
1464
- *
1465
- * @return mixed
1466
- * @since 1.0
1467
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1468
- */
1469
- protected function get_id_by_name( $name ) {
1470
- global $wpdb;
1471
-
1472
- return $wpdb->get_var( $wpdb->prepare( "SELECT pm.post_id FROM $wpdb->postmeta AS pm INNER JOIN $wpdb->posts AS p ON p.ID = pm.post_id WHERE pm.meta_key = %s AND pm.meta_value = %s AND p.post_type = %s", '_post_type', $name, $this->name ) );
1473
- }
1474
-
1475
- /**
1476
- * Retrieve the post_type of portfolio by portfolio name
1477
- *
1478
- * @param string $name the name.
1479
- *
1480
- * @return mixed
1481
- * @since 1.0
1482
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1483
- */
1484
- protected function get_post_type_by_name( $name ) {
1485
- global $wpdb;
1486
-
1487
- return $wpdb->get_var( $wpdb->prepare( "SELECT pm.meta_value FROM $wpdb->postmeta AS pm INNER JOIN $wpdb->posts AS p ON p.ID = pm.post_id WHERE pm.meta_key = %s AND p.post_name = %s AND p.post_type = %s", '_post_type', $name, $this->name ) );
1488
- }
1489
-
1490
- /**
1491
- * The shortcode used to show the frontend
1492
- *
1493
- * @param array $atts Attributes.
1494
- * @param string|null $content The content.
1495
- *
1496
- * @return string|null
1497
- * @since 1.0
1498
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1499
- */
1500
- public function add_shortcode( $atts, $content = null ) {
1501
- $atts = wp_parse_args(
1502
- $atts,
1503
- array(
1504
- 'name' => null,
1505
- 'cat' => array(),
1506
- 'posts_per_page' => false,
1507
- 'style' => null,
1508
- )
1509
- );
1510
-
1511
- // Don't show the slider if 'name' is empty or is 'none'.
1512
- if ( empty( $atts['name'] ) || 'none' === $atts['name'] ) {
1513
- return null;
1514
- }
1515
-
1516
- // Compatibility fix: remove prefix if exists in portfolio object.
1517
- if ( function_exists( 'YIT_Portfolio' ) && method_exists( YIT_Portfolio(), 'is' ) && YIT_Portfolio()->is( $atts['name'] ) ) {
1518
- $atts['name'] = str_replace( YIT_Portfolio()->post_type_prefix, '', $atts['name'] );
1519
- }
1520
-
1521
- // Pass vars to template.
1522
- $atts['post_type'] = $this->get_post_type_by_name( $atts['name'] );
1523
- $atts['layout'] = $this->args['manage_layouts'] ? get_post_meta( $this->get_id_by_name( $atts['post_type'] ), $this->args['layout_option'], true ) : '';
1524
- extract( apply_filters( 'yit_cptu_frontend_vars', $atts, $this->name ) ); // phpcs:ignore WordPress.PHP.DontExtract.extract_extract
1525
-
1526
- /**
1527
- * Extracted fields.
1528
- *
1529
- * @var string $layout The layout.
1530
- */
1531
-
1532
- // Add the javascript assets.
1533
- if ( $this->args['manage_layouts'] && isset( $this->layouts[ $layout ]['js'] ) && ! empty( $this->layouts[ $layout ]['js'] ) ) {
1534
- foreach ( $this->layouts[ $layout ]['js'] as $asset ) {
1535
- if ( empty( $asset ) ) {
1536
- continue;
1537
- }
1538
-
1539
- if ( empty( $asset['src'] ) ) {
1540
- wp_enqueue_script( $asset['handle'] );
1541
- continue;
1542
- }
1543
-
1544
- yit_enqueue_script( $asset['handle'], $this->locate_url( $layout ) . $asset['src'], $asset['deps'], $asset['ver'], $asset['in_footer'] );
1545
- }
1546
- }
1547
-
1548
- // Unique sequential index to differentiate more cpt in the same page.
1549
- ++ $this->index;
1550
-
1551
- ob_start();
1552
- include $this->locate_file( $layout, 'markup' );
1553
-
1554
- return ob_get_clean();
1555
- }
1556
-
1557
- /**
1558
- * Shortcode icon
1559
- * Return the shortcode icone to display on shortcode panel
1560
- *
1561
- * @param string $icon_url Icone url found by yit_shortcode plugin.
1562
- *
1563
- * @return string
1564
- * @since 1.0.0
1565
- * @author Antonino Scarfi' <antonio.scarfi@yithemes.it>
1566
- */
1567
- public function shortcode_icon( $icon_url ) {
1568
- return ! empty( $this->args['shortcode_icon'] ) ? $this->args['shortcode_icon'] : $icon_url;
1569
- }
1570
-
1571
- /**
1572
- * Return an array with cptu options to shortcode panel
1573
- * All definition settings to add cptu shortcode to Yit Shortcode Panel
1574
- *
1575
- * @param array $shortcodes Shortcodes.
1576
- *
1577
- * @return array
1578
- * @since 1.0
1579
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1580
- */
1581
- public function add_shortcode_to_box( $shortcodes ) {
1582
- $post_types = array();
1583
-
1584
- foreach ( $this->get_post_types() as $post ) {
1585
- $post_types[ $post->post_name ] = $post->post_title;
1586
- }
1587
-
1588
- $args = array(
1589
- $this->args['shortcode_name'] => array(
1590
- 'title' => $this->labels['singular'],
1591
- 'description' => sprintf(
1592
- // translators: %s is the name of the post type.
1593
- __( 'Show frontend of the %s', 'yith-plugin-fw' ),
1594
- $this->labels['main_name']
1595
- ),
1596
- 'tab' => 'cpt',
1597
- 'create' => false,
1598
- 'has_content' => false,
1599
- 'in_visual_composer' => true,
1600
- 'attributes' => array(
1601
- 'name' => array(
1602
- 'title' => __( 'Name', 'yith-plugin-fw' ),
1603
- 'type' => 'select',
1604
- 'options' => $post_types,
1605
- 'std' => '',
1606
- ),
1607
- ),
1608
- ),
1609
- );
1610
-
1611
- return array_merge( $shortcodes, $args );
1612
- }
1613
-
1614
- /**
1615
- * Check the post type passed in parameter, if is generated by this CPTU
1616
- *
1617
- * @param string $post_type The post type to check.
1618
  *
1619
  * @return bool
1620
- * @since 1.0
1621
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1622
- */
1623
- protected function is_valid( $post_type ) {
1624
- return (bool) ( strpos( $post_type, $this->args['post_type_prefix'] ) !== false );
1625
- }
1626
-
1627
- /**
1628
- * Add as a valid post type all cptu when importing dummy data
1629
- *
1630
- * @param array $post The post object.
1631
- *
1632
- * @return array
1633
- * @since 1.0
1634
- * @author Antonio La Rocca <antonio.larocca@yithemes.com>
1635
- */
1636
- public function add_importer_required_post_type( $post ) {
1637
- // phpcs:disable WordPress.WP.GlobalVariablesOverride.Prohibited
1638
- global $wp_post_types, $wp_taxonomies;
1639
-
1640
- if ( strpos( $post['post_type'], $this->prefix_cpt ) === false ) {
1641
- return $post;
1642
- }
1643
-
1644
- if ( ! isset( $wp_post_types[ $post['post_type'] ] ) ) {
1645
- $wp_post_types[ $post['post_type'] ] = array( 'name' => '' );
1646
- }
1647
-
1648
- if ( ! empty( $post['terms'] ) ) {
1649
- foreach ( $post['terms'] as $term ) {
1650
- if ( ! isset( $wp_taxonomies[ $term['domain'] ] ) ) {
1651
- $wp_taxonomies[ $term['domain'] ] = array( 'name' => '' );
1652
- }
1653
- }
1654
- }
1655
-
1656
- return $post;
1657
- // phpcs:enable
1658
- }
1659
-
1660
- /**
1661
- * Add taxonomy when importing dummy data
1662
- *
1663
- * @param array $terms Array of terms.
1664
- *
1665
- * @return array
1666
- * @since 1.0
1667
- * @author Antonio La Rocca <antonio.larocca@yithemes.com>
1668
- */
1669
- public function add_importer_required_taxonomy( $terms ) {
1670
- // phpcs:disable WordPress.WP.GlobalVariablesOverride.Prohibited
1671
- global $wp_taxonomies;
1672
-
1673
- if ( ! empty( $terms ) ) {
1674
- foreach ( $terms as $term ) {
1675
- if ( isset( $term['domain'] ) && ! isset( $wp_taxonomies[ $term['domain'] ] ) ) {
1676
- $wp_taxonomies[ $term['domain'] ] = array( 'name' => '' );
1677
- }
1678
- }
1679
- }
1680
-
1681
- return $terms;
1682
- // phpcs:enable
1683
- }
1684
-
1685
- /**
1686
- * Force terms recount for imported taxonomy
1687
- *
1688
- * @param array $tt_ids Terms ids.
1689
- * @param array $ids Post ids.
1690
- * @param string $tax Taxonomy name.
1691
- *
1692
- * @return void
1693
- * @since 1.0
1694
- * @author Antonio La Rocca <antonio.larocca@yithemes.com>
1695
  */
1696
- public function recount_terms_post( $tt_ids, $ids, $tax ) {
1697
- wp_update_term_count( $tt_ids, $tax );
1698
  }
1699
 
1700
- // ### ASSETS ###
1701
-
1702
  /**
1703
- * Enqueue the assets for the admin
1704
  *
1705
- * @return void
1706
- * @since 1.0
1707
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1708
- */
1709
- public function admin_assets() {
1710
- $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
1711
- wp_enqueue_media();
1712
- wp_enqueue_script( 'yit-cptu', YIT_CORE_PLUGIN_URL . '/assets/js/yit-cpt-unlimited' . $suffix . '.js', array( 'jquery' ), '1.0.0', true );
1713
- }
1714
-
1715
- /**
1716
- * Add the button to the top of the list table page of CPTU
1717
  *
1718
- * @return void
1719
- * @since 1.0
1720
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1721
- */
1722
- public function add_button_multiuploader() {
1723
- global $pagenow, $post_type, $wpdb;
1724
-
1725
- if ( 'edit.php' !== $pagenow ) {
1726
- return;
1727
- }
1728
-
1729
- $cptu = $wpdb->get_var( $wpdb->prepare( "SELECT p.post_type FROM $wpdb->postmeta AS pm INNER JOIN $wpdb->posts AS p ON p.ID = pm.post_id WHERE pm.meta_key = %s AND pm.meta_value = %s", '_post_type', $post_type ) );
1730
-
1731
- $post = get_post( $this->get_id_by_name( $post_type ) );
1732
- if ( empty( $post ) ) {
1733
- return;
1734
- }
1735
- extract( $this->cpt_args( $post ) ); // phpcs:ignore WordPress.PHP.DontExtract.extract_extract
1736
-
1737
- /**
1738
- * Extracted fields.
1739
- *
1740
- * @var string $label_plural The plural label.
1741
- */
1742
-
1743
- if ( $cptu !== $this->name || ! $this->is_valid( $post_type ) ) {
1744
- return;
1745
- }
1746
-
1747
- $uploader_title = sprintf(
1748
- // translators: %s is the plural name of the post type.
1749
- __( 'Add %s from images', 'yith-plugin-fw' ),
1750
- $label_plural
1751
- );
1752
-
1753
- $uploader_button_text = sprintf(
1754
- // translators: %s is the plural name of the post type.
1755
- __( 'Add %s', 'yith-plugin-fw' ),
1756
- $label_plural
1757
- );
1758
- ?>
1759
- <script>
1760
- ( function ( $ ) {
1761
- "use strict";
1762
-
1763
- var button = $( '<a />', {
1764
- href : '#',
1765
- class : 'multi-uploader add-new-h2',
1766
- 'data-uploader_title' : '<?php esc_html( $uploader_title ); ?>',
1767
- 'data-uploader_button_text': '<?php esc_html( $uploader_button_text ); ?>',
1768
- 'data-nonce' : '<?php echo esc_html( wp_create_nonce( 'cpt-unlimited-multiuploader' ) ); ?>'
1769
- } ).text( '<?php esc_html_e( 'Upload multiple files', 'yith-plugin-fw' ); ?>' );
1770
-
1771
- var spinner = $( '<span />', {
1772
- class: 'spinner',
1773
- style: 'float: none;'
1774
- } );
1775
-
1776
- button.appendTo( '.wrap h2, .wrap h1' ).after( spinner );
1777
-
1778
- } )( jQuery );
1779
- </script>
1780
- <?php
1781
- }
1782
-
1783
- /**
1784
- * Add more posts by multiupload
1785
- *
1786
- * @return void
1787
- * @since 1.0
1788
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1789
- */
1790
- public function post_multiuploader() {
1791
- check_ajax_referer( 'cpt-unlimited-multiuploader' );
1792
-
1793
- if ( ! isset( $_REQUEST['images'] ) || ! isset( $_REQUEST['post_type'] ) && $this->is_valid( sanitize_key( wp_unslash( $_REQUEST['post_type'] ) ) ) ) {
1794
- return;
1795
- }
1796
-
1797
- foreach ( $_REQUEST['images'] as $the ) { // phpcs:ignore WordPress.Security.ValidatedSanitizedInput
1798
- // Create post object.
1799
- $arg = array(
1800
- 'post_title' => $the['title'],
1801
- 'post_type' => sanitize_key( wp_unslash( $_REQUEST['post_type'] ) ),
1802
- );
1803
- $post_id = wp_insert_post( $arg );
1804
- set_post_thumbnail( $post_id, $the['id'] );
1805
- }
1806
-
1807
- die();
1808
- }
1809
-
1810
-
1811
- // ###### SINGLE TEMPLATE ######
1812
-
1813
- /**
1814
- * Load the single template file
1815
- *
1816
- * @return void
1817
- * @since 1.0
1818
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1819
- */
1820
- public function single_template() {
1821
- global $post, $wpdb;
1822
-
1823
- if ( ( ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) && ! is_single() ) || ! isset( $post->post_type ) || ! $this->is_valid( $post->post_type ) ) {
1824
- return;
1825
- }
1826
-
1827
- // Add the javascript assets.
1828
- if ( $this->args['manage_layouts'] ) {
1829
- foreach ( $this->layouts['single']['js'] as $asset ) {
1830
- yit_enqueue_script( $asset['handle'], $this->locate_url( 'single' ) . $asset['src'], $asset['deps'], $asset['ver'], $asset['in_footer'] );
1831
- }
1832
- }
1833
-
1834
- $post_name = $wpdb->get_var( $wpdb->prepare( "SELECT p.post_name FROM $wpdb->postmeta AS pm INNER JOIN $wpdb->posts AS p ON p.ID = pm.post_id WHERE pm.meta_key = %s AND pm.meta_value = %s AND p.post_type = %s", '_post_type', $post->post_type, $this->name ) );
1835
- extract( apply_filters( 'yit_cptu_frontend_vars', array( 'name' => $post_name ), $this->name ) ); // phpcs:ignore WordPress.PHP.DontExtract.extract_extract
1836
-
1837
- include $this->locate_file( 'single', 'markup' );
1838
- }
1839
-
1840
- /**
1841
- * Load a file for the configuration of single template page of portfolio
1842
- *
1843
- * @return void
1844
- * @since 1.0
1845
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1846
- */
1847
- public function single_template_config() {
1848
- // phpcs:disable WordPress.Security.NonceVerification.Recommended,WordPress.WP.GlobalVariablesOverride.Prohibited
1849
- global $post, $wpdb;
1850
-
1851
- if ( defined( 'DOING_AJAX' ) && DOING_AJAX && isset( $_REQUEST['post_id'] ) ) {
1852
- $post = get_post( absint( $_REQUEST['post_id'] ) );
1853
- }
1854
-
1855
- if ( ( ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) && ! is_single() ) || ! isset( $post->post_type ) || ! $this->is_valid( $post->post_type ) ) {
1856
- return;
1857
- }
1858
-
1859
- $this->layout = 'single';
1860
- $path = $this->locate_file( 'single', 'config' );
1861
-
1862
- if ( file_exists( $path ) ) {
1863
- $post_name = $wpdb->get_var( $wpdb->prepare( "SELECT p.post_name FROM $wpdb->postmeta AS pm INNER JOIN $wpdb->posts AS p ON p.ID = pm.post_id WHERE pm.meta_key = %s AND pm.meta_value = %s AND p.post_type = %s", '_post_type', $post->post_type, $this->name ) );
1864
- extract( apply_filters( 'yit_cptu_frontend_vars', array( 'name' => $post_name ), $this->name ) ); // phpcs:ignore WordPress.PHP.DontExtract.extract_extract
1865
-
1866
- include $path;
1867
- }
1868
- // phpcs:enable
1869
- }
1870
-
1871
- // ########################## ARCHIVE TEMPLATE ###############################
1872
-
1873
- /**
1874
- * Load the template for archive page
1875
- *
1876
- * @return void
1877
- * @since 1.0
1878
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1879
- */
1880
- public function archive_template() {
1881
- global $wp_query;
1882
-
1883
- // Check if we are in archive template.
1884
- if ( ! ( ! is_admin() && is_archive() && isset( $wp_query->post ) && $this->is_valid( $wp_query->post->post_type ) ) ) {
1885
- return;
1886
- }
1887
-
1888
- // Remove the action from loop of theme.
1889
- remove_action( 'yit_content_loop', 'yit_content_loop', 10 );
1890
- add_action( 'yit_content_loop', array( $this, 'archive_template_loop' ), 10 );
1891
- }
1892
-
1893
- /**
1894
- * Load loop for the archive template
1895
- *
1896
- * @return void
1897
- * @since 1.0
1898
- * @author Antonino Scarfi' <antonino.scarfi@yithemes.com>
1899
  */
1900
- public function archive_template_loop() {
1901
- global $wp_query;
1902
- echo $this->add_shortcode( array( 'name' => $wp_query->post->post_type ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1903
  }
1904
  }
1905
  }
1
  <?php
2
  /**
3
  * YITH Custom-Post-Type Unlimited Class.
4
+ * Deprecated! Kept only to prevent fatal errors if someone is using it.
5
  *
6
  * @class YIT_CPT_Unlimited
7
  * @package YITH\PluginFramework\Classes
19
  */
20
  class YIT_CPT_Unlimited {
21
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  /**
23
  * YIT_CPT_Unlimited constructor.
24
  *
26
  */
27
  public function __construct( $args = array() ) {
28
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  }
30
 
31
  /**
32
+ * Avoid issues when calling a non-defined method
 
33
  *
34
+ * @param string $name Name of the missing method.
35
+ * @param array $arguments Arguments.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  *
37
  * @return bool
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  */
39
+ public function __call( $name, $arguments ) {
40
+ return false;
41
  }
42
 
 
 
43
  /**
44
+ * Avoid issues when calling a non-defined attribute
45
  *
46
+ * @param string $key Name of the missing attribute.
 
 
 
 
 
 
 
 
 
 
 
47
  *
48
+ * @return bool
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  */
50
+ public function __get( $key ) {
51
+ return false;
 
52
  }
53
  }
54
  }
plugin-fw/init.php CHANGED
@@ -1,13 +1,13 @@
1
  <?php
2
  /**
3
  * Framework Name: YIT Plugin Framework
4
- * Version: 3.5.1
5
  * Author: YITH
6
  * Text Domain: yith-plugin-fw
7
  * Domain Path: /languages/
8
  *
9
  * @author YITH
10
- * @version 3.5.1
11
  * @package YITH\PluginFramework
12
  */
13
 
1
  <?php
2
  /**
3
  * Framework Name: YIT Plugin Framework
4
+ * Version: 3.5.4
5
  * Author: YITH
6
  * Text Domain: yith-plugin-fw
7
  * Domain Path: /languages/
8
  *
9
  * @author YITH
10
+ * @version 3.5.4
11
  * @package YITH\PluginFramework
12
  */
13
 
plugin-fw/languages/yith-plugin-fw-el.mo CHANGED
Binary file
plugin-fw/languages/yith-plugin-fw-el.po CHANGED
@@ -4,7 +4,7 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: YITH Framework\n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
- "POT-Creation-Date: 2020-12-28 12:30:11+00:00\n"
8
  "PO-Revision-Date: 2020-09-25 09:16:07+0000\n"
9
  "Language: el_GR\n"
10
  "MIME-Version: 1.0\n"
@@ -37,229 +37,6 @@ msgstr "Επιλογή Χρώματος"
37
  msgid "Color value"
38
  msgstr "Αξία χρώματος"
39
 
40
- #. translators: %s is the singular name of the post type.
41
- #. translators: $s is the singular name of the post type.
42
- #. translators: %s is the singular name of the post type.
43
- #. translators: %s is the plural name of the post type.
44
- #: includes/class-yit-cpt-unlimited.php:486
45
- #: includes/class-yit-cpt-unlimited.php:619
46
- #: includes/class-yit-cpt-unlimited.php:768
47
- #: includes/class-yit-cpt-unlimited.php:1755
48
- msgid "Add %s"
49
- msgstr "Προσθήκη %s"
50
-
51
- #. translators: %s is the singular name of the post type.
52
- #. translators: $s is the singular name of the post type.
53
- #: includes/class-yit-cpt-unlimited.php:488
54
- #: includes/class-yit-cpt-unlimited.php:621
55
- msgid "Add New %s"
56
- msgstr "Προσθήκη Νέου %s"
57
-
58
- #. translators: %s is the singular name of the post type.
59
- #. translators: $s is the singular name of the post type.
60
- #. translators: %s is the post title.
61
- #. translators: %s is the singular name of the post type.
62
- #: includes/class-yit-cpt-unlimited.php:490
63
- #: includes/class-yit-cpt-unlimited.php:623
64
- #: includes/class-yit-cpt-unlimited.php:1350
65
- #: includes/class-yit-cpt-unlimited.php:1401
66
- msgid "Edit %s"
67
- msgstr "Επεξεργασία %s"
68
-
69
- #. translators: %s is the singular name of the post type.
70
- #. translators: $s is the singular name of the post type.
71
- #: includes/class-yit-cpt-unlimited.php:492
72
- #: includes/class-yit-cpt-unlimited.php:625
73
- msgid "New %s"
74
- msgstr "Νέο %s"
75
-
76
- #. translators: %s is the plural name of the post type.
77
- #. translators: $s is the plural name of the post type.
78
- #: includes/class-yit-cpt-unlimited.php:494
79
- #: includes/class-yit-cpt-unlimited.php:627
80
- msgid "All %s"
81
- msgstr "Όλα %s"
82
-
83
- #. translators: %s is the singular name of the post type.
84
- #. translators: $s is the singular name of the post type.
85
- #. translators: %s is the plural label of the post type.
86
- #. translators: %s is the plural name of the post type.
87
- #: includes/class-yit-cpt-unlimited.php:496
88
- #: includes/class-yit-cpt-unlimited.php:629
89
- #: includes/class-yit-cpt-unlimited.php:1323
90
- #: includes/class-yit-cpt-unlimited.php:1406
91
- msgid "View %s"
92
- msgstr "Προβολή %s"
93
-
94
- #. translators: %s is the plural name of the post type.
95
- #. translators: $s is the plural name of the post type.
96
- #: includes/class-yit-cpt-unlimited.php:498
97
- #: includes/class-yit-cpt-unlimited.php:631
98
- msgid "Search %s"
99
- msgstr "Αναζήτηση %s"
100
-
101
- #. translators: %s is the plural name of the post type.
102
- #. translators: $s is the plural name of the post type.
103
- #: includes/class-yit-cpt-unlimited.php:500
104
- #: includes/class-yit-cpt-unlimited.php:633
105
- msgid "No %s found"
106
- msgstr "Δεν βρέθηκε %s"
107
-
108
- #. translators: %s is the plural name of the post type.
109
- #. translators: $s is the plural name of the post type.
110
- #: includes/class-yit-cpt-unlimited.php:502
111
- #: includes/class-yit-cpt-unlimited.php:635
112
- msgid "No %s found in Trash"
113
- msgstr "Δεν βρέθηκε %s στον Κάδο Ανακύκλωσης"
114
-
115
- #: includes/class-yit-cpt-unlimited.php:678 templates/fields/ajax-terms.php:41
116
- msgid "Search Categories"
117
- msgstr "Αναζήτηση Κατηγοριών"
118
-
119
- #: includes/class-yit-cpt-unlimited.php:679
120
- msgid "All Categories"
121
- msgstr "Όλες οι Κατηγορίες"
122
-
123
- #: includes/class-yit-cpt-unlimited.php:680
124
- msgid "Parent Category"
125
- msgstr "Γονική Κατηγορία"
126
-
127
- #: includes/class-yit-cpt-unlimited.php:681
128
- msgid "Parent Category:"
129
- msgstr "Γονική Κατηγορία:"
130
-
131
- #: includes/class-yit-cpt-unlimited.php:682
132
- msgid "Edit Category"
133
- msgstr "Επεξεργασία Kατηγορίας"
134
-
135
- #: includes/class-yit-cpt-unlimited.php:683
136
- msgid "Update Category"
137
- msgstr "Ενημέρωση Κατηγορίας"
138
-
139
- #: includes/class-yit-cpt-unlimited.php:684
140
- msgid "Add New Category"
141
- msgstr "Προσθήκη Νέας Κατηγορίας"
142
-
143
- #: includes/class-yit-cpt-unlimited.php:685
144
- msgid "New Category Name"
145
- msgstr "Όνομα Νέας Κατηγορίας"
146
-
147
- #: includes/class-yit-cpt-unlimited.php:686
148
- msgid "Category"
149
- msgstr "Κατηγορία"
150
-
151
- #: includes/class-yit-cpt-unlimited.php:778
152
- msgid "Categories"
153
- msgstr "Κατηγορίες"
154
-
155
- #. translators: %s is the singular name of the post type.
156
- #: includes/class-yit-cpt-unlimited.php:1098
157
- msgid "%s Settings"
158
- msgstr "Ρυθμίσεις %s"
159
-
160
- #: includes/class-yit-cpt-unlimited.php:1106
161
- #: includes/class-yit-cpt-unlimited.php:1260
162
- #: includes/class-yit-cpt-unlimited.php:1266
163
- #: includes/class-yit-plugin-panel.php:84
164
- msgid "Settings"
165
- msgstr "Ρυθμίσεις"
166
-
167
- #: includes/class-yit-cpt-unlimited.php:1111
168
- msgid "Type"
169
- msgstr "Τύπος"
170
-
171
- #. translators: %s is the singular name of the post type.
172
- #: includes/class-yit-cpt-unlimited.php:1114
173
- msgid "Layout for this %s"
174
- msgstr "Διάταξη για %s"
175
-
176
- #: includes/class-yit-cpt-unlimited.php:1122
177
- msgid "Rewrite"
178
- msgstr "Επανεγγραφή"
179
-
180
- #: includes/class-yit-cpt-unlimited.php:1123
181
- msgid ""
182
- "Univocal identification name in the URL for each product (slug from post if "
183
- "empty)"
184
- msgstr ""
185
- "Μονοσήμαντο όνομα ταυτοποίησης URL για κάθε προϊόν (slug από άρθρο αν είναι "
186
- "κενό)"
187
-
188
- #: includes/class-yit-cpt-unlimited.php:1128
189
- msgid "Label in Singular"
190
- msgstr "Επιγραφή σε Ενικό"
191
-
192
- #: includes/class-yit-cpt-unlimited.php:1129
193
- msgid "Set a label in singular (title of portfolio if empty)"
194
- msgstr "Ορίστε μια επιγραφή στον ενικό (τίτλος πορτφόλιο αν είναι κενό)"
195
-
196
- #: includes/class-yit-cpt-unlimited.php:1134
197
- msgid "Label in Plural"
198
- msgstr "Επιγραφή σε Πληθυντικό"
199
-
200
- #: includes/class-yit-cpt-unlimited.php:1135
201
- msgid "Set a label in plural (title of portfolio if empty)"
202
- msgstr "Ορίστε μια επιγραφή στον πληθυντικό (τίτλος πορτφόλιο αν είναι κενό)"
203
-
204
- #: includes/class-yit-cpt-unlimited.php:1140
205
- msgid "Taxonomy"
206
- msgstr "Ταξινομία"
207
-
208
- #: includes/class-yit-cpt-unlimited.php:1141
209
- msgid ""
210
- "If you want to use categories in the portfolio, set a name for taxonomy. "
211
- "Name should be a slug (must not contain capital letters nor spaces) and must "
212
- "not be more than 32 characters long (database structure restriction)."
213
- msgstr ""
214
- "Αν θέλετε να χρησιμοποιήσετε κατηγορίες στο πορτφόλιο, ορίστε ένα όνομα για "
215
- "την ταξινομία. Το όνομα πρέπει να είναι slug (δεν πρέπει να περιλαμβάνει "
216
- "κεφαλαία γράμματα ή κενά) και δεν πρέπει να είναι μεγαλύτερο από 32 "
217
- "χαρακτήρες (περιορισμός δομής βάσης δεδομένων)."
218
-
219
- #: includes/class-yit-cpt-unlimited.php:1146
220
- msgid "Taxonomy Rewrite"
221
- msgstr "Επανεγγραφή Ταξινομίας"
222
-
223
- #: includes/class-yit-cpt-unlimited.php:1147
224
- msgid "Set univocal name for each category page URL."
225
- msgstr "Ορίστε μονοσήμαντο όνομα για κάθε URL σελίδας κατηγορίας."
226
-
227
- #: includes/class-yit-cpt-unlimited.php:1152
228
- msgid "Single layout"
229
- msgstr "Μονή διάταξη"
230
-
231
- #: includes/class-yit-cpt-unlimited.php:1153
232
- msgid "Layout for single page of this portfolio"
233
- msgstr "Διάταξη μονής σελίδας του πορτφόλιο"
234
-
235
- #: includes/class-yit-cpt-unlimited.php:1196
236
- msgid "layout settings"
237
- msgstr "ρυθμίσεις διάταξης"
238
-
239
- #: includes/class-yit-cpt-unlimited.php:1286
240
- #: includes/class-yit-cpt-unlimited.php:1297
241
- msgid "Quick links"
242
- msgstr "Γρήγορα λινκ"
243
-
244
- #. translators: %s is the name of the post type.
245
- #: includes/class-yit-cpt-unlimited.php:1593
246
- msgid "Show frontend of the %s"
247
- msgstr "Προβολή εμφάνισης του %s"
248
-
249
- #: includes/class-yit-cpt-unlimited.php:1602 templates/fields/customtabs.php:34
250
- #: templates/fields/customtabs.php:76
251
- msgid "Name"
252
- msgstr "Όνομα"
253
-
254
- #. translators: %s is the plural name of the post type.
255
- #: includes/class-yit-cpt-unlimited.php:1749
256
- msgid "Add %s from images"
257
- msgstr "Προσθήκη %s από εικόνες"
258
-
259
- #: includes/class-yit-cpt-unlimited.php:1769
260
- msgid "Upload multiple files"
261
- msgstr "Ανέβασμα πολλαπλών αρχείων"
262
-
263
  #: includes/class-yit-plugin-panel-woocommerce.php:419
264
  msgid "The changes you have made will be lost if you leave this page."
265
  msgstr ""
@@ -269,6 +46,10 @@ msgstr ""
269
  msgid "Plugin Settings"
270
  msgstr "Ρυθμίσεις Προσθέτου"
271
 
 
 
 
 
272
  #: includes/class-yit-plugin-panel.php:450
273
  #: includes/class-yit-plugin-panel.php:453
274
  msgid "How to install premium version"
@@ -364,28 +145,21 @@ msgid "Plugins Activated"
364
  msgstr "Ενεργοποιημένα Πρόσθετα"
365
 
366
  #: includes/class-yit-pointers.php:81
367
- #, fuzzy
368
  msgid ""
369
  "From now on, you can find all plugin options in YITH Plugins menu. Plugin "
370
  "customization settings will be available as a new entry in YITH Plugins menu."
371
  msgstr ""
372
- "Πλέον μπορείτε να βρείτε όλες τις επιλογές του προσθέτου μέσω του μενού YITH "
373
- "Plugins.\n"
374
- " Οι ρυθμίσεις προσαρμογής του προσθέτου "
375
- "θα είναι διαθέσιμες ως νέα εγγραφή στο μενού YITH Plugins."
376
 
377
  #. translators: 1. YITH site link; 2. WordPress site link.
378
  #: includes/class-yit-pointers.php:84 includes/class-yit-pointers.php:100
379
- #, fuzzy
380
  msgid "Discover all our plugins available on: %1$s and %2$s"
381
- msgstr "Ανακαλύψτε όλα τα διαθέσιμά μας πρόσθετα στο:"
382
 
383
  #: includes/class-yit-pointers.php:96
384
  msgid "Plugins Upgraded"
385
  msgstr "Αναβαθμισμένα Πρόσθετα"
386
 
387
  #: includes/class-yit-pointers.php:97
388
- #, fuzzy
389
  msgid ""
390
  "From now on, you can find the option panel of YITH plugins in YITH Plugins "
391
  "menu. Every time one of our plugins is added, a new entry will be added to "
@@ -393,15 +167,6 @@ msgid ""
393
  "WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) will be moved from "
394
  "previous location to YITH Plugins tab."
395
  msgstr ""
396
- "Πλέον μπορείτε να βρείτε όλες τις επιλογές του προσθέτου μέσω του μενού YITH "
397
- "Plugins.\n"
398
- " Κάθε φορά που προστίθεται ένα από τα "
399
- "πρόσθετά μας, μια νέα εγγραφή θα προστίθεται στο μενού.\n"
400
- " Για παράδειγμα, μετά την αναβάθμιση, οι "
401
- "επιλογές των προσθέτων (όπως YITH WooCommerce Wishlist, YITH WooCommerce "
402
- "Ajax Search, etc.)\n"
403
- " θα μεταφέρονται από την προηγούμενη "
404
- "τοποθεσία στην καρτέλα YITH Plugins."
405
 
406
  #: includes/class-yith-dashboard.php:35
407
  msgid "YITH Latest Updates"
@@ -612,6 +377,10 @@ msgstr "Αναζήτηση Άρθρου"
612
  msgid "Search Product"
613
  msgstr "Αναζήτηση Προϊόντος"
614
 
 
 
 
 
615
  #: templates/fields/customtabs.php:17
616
  msgid "Close all"
617
  msgstr "Απενεργοποίηση όλων"
@@ -624,6 +393,10 @@ msgstr "Ανάπτυξη όλων"
624
  msgid "Remove"
625
  msgstr "Αφαίρεση"
626
 
 
 
 
 
627
  #: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
628
  msgid "Value"
629
  msgstr "Τιμή"
@@ -723,9 +496,8 @@ msgstr ""
723
 
724
  #: templates/sysinfo/system-information-panel.php:13
725
  #: templates/sysinfo/tabs/error-log.php:25
726
- #, fuzzy
727
  msgid "Log Files"
728
- msgstr "Εμφάνιση αρχείων καταγραφής"
729
 
730
  #: templates/sysinfo/system-information-panel.php:22
731
  msgid "YITH System Information"
@@ -791,9 +563,8 @@ msgid "External object cache"
791
  msgstr ""
792
 
793
  #: templates/sysinfo/tabs/main.php:54
794
- #, fuzzy
795
  msgid "Plugins Requirements"
796
- msgstr "Ρυθμίσεις Προσθέτου"
797
 
798
  #: yit-plugin.php:187
799
  msgid "License"
@@ -803,17 +574,6 @@ msgstr "Άδεια χρήσης προϊόντος"
803
  msgid "YITH"
804
  msgstr "YITH"
805
 
806
- #. translators: %s is the singular name of the post type.
807
- #: includes/class-yit-cpt-unlimited.php:676
808
- msgctxt "taxonomy general name"
809
- msgid "%s Categories"
810
- msgstr "Κατηγορίες %s"
811
-
812
- #: includes/class-yit-cpt-unlimited.php:677
813
- msgctxt "taxonomy singular name"
814
- msgid "Category"
815
- msgstr "Κατηγορία"
816
-
817
  #: includes/class-yith-dashboard.php:96
818
  msgctxt "Plugin FW"
819
  msgid "View Changelog"
@@ -904,14 +664,14 @@ msgid "Link values together"
904
  msgstr "Συνδέστε αξίες"
905
 
906
  #: templates/fields/onoff.php:28
907
- msgctxt "YES/NO button: use MAX 3 characters!"
908
  msgid "YES"
909
- msgstr "ΝΑΙ"
910
 
911
  #: templates/fields/onoff.php:29
912
- msgctxt "YES/NO button: use MAX 3 characters!"
913
  msgid "NO"
914
- msgstr "ΟΧΙ"
915
 
916
  #: yit-plugin.php:75
917
  msgctxt "Plugin Row Meta"
@@ -937,24 +697,3 @@ msgstr "Premium έκδοση"
937
  msgctxt "Action links"
938
  msgid "Settings"
939
  msgstr "Ρυθμίσεις"
940
-
941
- #~ msgid "Show full PHPInfo"
942
- #~ msgstr "Πλήρης εμφάνιση PHPInfo"
943
-
944
- #~ msgid "Back to top"
945
- #~ msgstr "Πίσω στην κορυφή"
946
-
947
- #~ msgid "Back to System panel"
948
- #~ msgstr "Πίσω στο πάνελ Συστήματος"
949
-
950
- #~ msgid "(Default: <i %s></i> )"
951
- #~ msgstr "(Προεπιλεγμένο: <i %s></i> )"
952
-
953
- #~ msgid "(Default: %s <img src=\"%s\"/>)"
954
- #~ msgstr "(Προεπιλεγμένο: %s <img src=\"%s\"/>)"
955
-
956
- #~ msgid "Image preview"
957
- #~ msgstr "Προεπισκόπηση εικόνας"
958
-
959
- #~ msgid "and"
960
- #~ msgstr "και"
4
  msgstr ""
5
  "Project-Id-Version: YITH Framework\n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
+ "POT-Creation-Date: 2021-02-03 16:08:01+00:00\n"
8
  "PO-Revision-Date: 2020-09-25 09:16:07+0000\n"
9
  "Language: el_GR\n"
10
  "MIME-Version: 1.0\n"
37
  msgid "Color value"
38
  msgstr "Αξία χρώματος"
39
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  #: includes/class-yit-plugin-panel-woocommerce.php:419
41
  msgid "The changes you have made will be lost if you leave this page."
42
  msgstr ""
46
  msgid "Plugin Settings"
47
  msgstr "Ρυθμίσεις Προσθέτου"
48
 
49
+ #: includes/class-yit-plugin-panel.php:84
50
+ msgid "Settings"
51
+ msgstr "Ρυθμίσεις"
52
+
53
  #: includes/class-yit-plugin-panel.php:450
54
  #: includes/class-yit-plugin-panel.php:453
55
  msgid "How to install premium version"
145
  msgstr "Ενεργοποιημένα Πρόσθετα"
146
 
147
  #: includes/class-yit-pointers.php:81
 
148
  msgid ""
149
  "From now on, you can find all plugin options in YITH Plugins menu. Plugin "
150
  "customization settings will be available as a new entry in YITH Plugins menu."
151
  msgstr ""
 
 
 
 
152
 
153
  #. translators: 1. YITH site link; 2. WordPress site link.
154
  #: includes/class-yit-pointers.php:84 includes/class-yit-pointers.php:100
 
155
  msgid "Discover all our plugins available on: %1$s and %2$s"
156
+ msgstr ""
157
 
158
  #: includes/class-yit-pointers.php:96
159
  msgid "Plugins Upgraded"
160
  msgstr "Αναβαθμισμένα Πρόσθετα"
161
 
162
  #: includes/class-yit-pointers.php:97
 
163
  msgid ""
164
  "From now on, you can find the option panel of YITH plugins in YITH Plugins "
165
  "menu. Every time one of our plugins is added, a new entry will be added to "
167
  "WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) will be moved from "
168
  "previous location to YITH Plugins tab."
169
  msgstr ""
 
 
 
 
 
 
 
 
 
170
 
171
  #: includes/class-yith-dashboard.php:35
172
  msgid "YITH Latest Updates"
377
  msgid "Search Product"
378
  msgstr "Αναζήτηση Προϊόντος"
379
 
380
+ #: templates/fields/ajax-terms.php:41
381
+ msgid "Search Categories"
382
+ msgstr "Αναζήτηση Κατηγοριών"
383
+
384
  #: templates/fields/customtabs.php:17
385
  msgid "Close all"
386
  msgstr "Απενεργοποίηση όλων"
393
  msgid "Remove"
394
  msgstr "Αφαίρεση"
395
 
396
+ #: templates/fields/customtabs.php:34 templates/fields/customtabs.php:76
397
+ msgid "Name"
398
+ msgstr "Όνομα"
399
+
400
  #: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
401
  msgid "Value"
402
  msgstr "Τιμή"
496
 
497
  #: templates/sysinfo/system-information-panel.php:13
498
  #: templates/sysinfo/tabs/error-log.php:25
 
499
  msgid "Log Files"
500
+ msgstr ""
501
 
502
  #: templates/sysinfo/system-information-panel.php:22
503
  msgid "YITH System Information"
563
  msgstr ""
564
 
565
  #: templates/sysinfo/tabs/main.php:54
 
566
  msgid "Plugins Requirements"
567
+ msgstr ""
568
 
569
  #: yit-plugin.php:187
570
  msgid "License"
574
  msgid "YITH"
575
  msgstr "YITH"
576
 
 
 
 
 
 
 
 
 
 
 
 
577
  #: includes/class-yith-dashboard.php:96
578
  msgctxt "Plugin FW"
579
  msgid "View Changelog"
664
  msgstr "Συνδέστε αξίες"
665
 
666
  #: templates/fields/onoff.php:28
667
+ msgctxt "YES/NO button: use MAX 4 characters!"
668
  msgid "YES"
669
+ msgstr ""
670
 
671
  #: templates/fields/onoff.php:29
672
+ msgctxt "YES/NO button: use MAX 4 characters!"
673
  msgid "NO"
674
+ msgstr ""
675
 
676
  #: yit-plugin.php:75
677
  msgctxt "Plugin Row Meta"
697
  msgctxt "Action links"
698
  msgid "Settings"
699
  msgstr "Ρυθμίσεις"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/languages/yith-plugin-fw-es_ES.mo CHANGED
Binary file
plugin-fw/languages/yith-plugin-fw-es_ES.po CHANGED
@@ -4,8 +4,8 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: YITH Framework\n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
- "POT-Creation-Date: 2020-12-28 12:30:11+00:00\n"
8
- "PO-Revision-Date: 2020-09-25 17:04:18+0000\n"
9
  "Language: es\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -37,229 +37,6 @@ msgstr "Seleccionar color"
37
  msgid "Color value"
38
  msgstr "Valor del color"
39
 
40
- #. translators: %s is the singular name of the post type.
41
- #. translators: $s is the singular name of the post type.
42
- #. translators: %s is the singular name of the post type.
43
- #. translators: %s is the plural name of the post type.
44
- #: includes/class-yit-cpt-unlimited.php:486
45
- #: includes/class-yit-cpt-unlimited.php:619
46
- #: includes/class-yit-cpt-unlimited.php:768
47
- #: includes/class-yit-cpt-unlimited.php:1755
48
- msgid "Add %s"
49
- msgstr "Añadir %s"
50
-
51
- #. translators: %s is the singular name of the post type.
52
- #. translators: $s is the singular name of the post type.
53
- #: includes/class-yit-cpt-unlimited.php:488
54
- #: includes/class-yit-cpt-unlimited.php:621
55
- msgid "Add New %s"
56
- msgstr "Añadir nueva %s"
57
-
58
- #. translators: %s is the singular name of the post type.
59
- #. translators: $s is the singular name of the post type.
60
- #. translators: %s is the post title.
61
- #. translators: %s is the singular name of the post type.
62
- #: includes/class-yit-cpt-unlimited.php:490
63
- #: includes/class-yit-cpt-unlimited.php:623
64
- #: includes/class-yit-cpt-unlimited.php:1350
65
- #: includes/class-yit-cpt-unlimited.php:1401
66
- msgid "Edit %s"
67
- msgstr "Editar %s"
68
-
69
- #. translators: %s is the singular name of the post type.
70
- #. translators: $s is the singular name of the post type.
71
- #: includes/class-yit-cpt-unlimited.php:492
72
- #: includes/class-yit-cpt-unlimited.php:625
73
- msgid "New %s"
74
- msgstr "Nuevo %s"
75
-
76
- #. translators: %s is the plural name of the post type.
77
- #. translators: $s is the plural name of the post type.
78
- #: includes/class-yit-cpt-unlimited.php:494
79
- #: includes/class-yit-cpt-unlimited.php:627
80
- msgid "All %s"
81
- msgstr "Todas %s"
82
-
83
- #. translators: %s is the singular name of the post type.
84
- #. translators: $s is the singular name of the post type.
85
- #. translators: %s is the plural label of the post type.
86
- #. translators: %s is the plural name of the post type.
87
- #: includes/class-yit-cpt-unlimited.php:496
88
- #: includes/class-yit-cpt-unlimited.php:629
89
- #: includes/class-yit-cpt-unlimited.php:1323
90
- #: includes/class-yit-cpt-unlimited.php:1406
91
- msgid "View %s"
92
- msgstr "Ver %s"
93
-
94
- #. translators: %s is the plural name of the post type.
95
- #. translators: $s is the plural name of the post type.
96
- #: includes/class-yit-cpt-unlimited.php:498
97
- #: includes/class-yit-cpt-unlimited.php:631
98
- msgid "Search %s"
99
- msgstr "Buscar %s"
100
-
101
- #. translators: %s is the plural name of the post type.
102
- #. translators: $s is the plural name of the post type.
103
- #: includes/class-yit-cpt-unlimited.php:500
104
- #: includes/class-yit-cpt-unlimited.php:633
105
- msgid "No %s found"
106
- msgstr "No se han encontrado %s"
107
-
108
- #. translators: %s is the plural name of the post type.
109
- #. translators: $s is the plural name of the post type.
110
- #: includes/class-yit-cpt-unlimited.php:502
111
- #: includes/class-yit-cpt-unlimited.php:635
112
- msgid "No %s found in Trash"
113
- msgstr "No se han encontrado %s en la Papelera"
114
-
115
- #: includes/class-yit-cpt-unlimited.php:678 templates/fields/ajax-terms.php:41
116
- msgid "Search Categories"
117
- msgstr "Buscar categorías"
118
-
119
- #: includes/class-yit-cpt-unlimited.php:679
120
- msgid "All Categories"
121
- msgstr "Todas las categorías"
122
-
123
- #: includes/class-yit-cpt-unlimited.php:680
124
- msgid "Parent Category"
125
- msgstr "Categoría superior"
126
-
127
- #: includes/class-yit-cpt-unlimited.php:681
128
- msgid "Parent Category:"
129
- msgstr "Categoría superior:"
130
-
131
- #: includes/class-yit-cpt-unlimited.php:682
132
- msgid "Edit Category"
133
- msgstr "Editar categoría"
134
-
135
- #: includes/class-yit-cpt-unlimited.php:683
136
- msgid "Update Category"
137
- msgstr "Actualizar categoría"
138
-
139
- #: includes/class-yit-cpt-unlimited.php:684
140
- msgid "Add New Category"
141
- msgstr "Añadir nueva categoría"
142
-
143
- #: includes/class-yit-cpt-unlimited.php:685
144
- msgid "New Category Name"
145
- msgstr "Nuevo nombre de categoría"
146
-
147
- #: includes/class-yit-cpt-unlimited.php:686
148
- msgid "Category"
149
- msgstr "Categoría"
150
-
151
- #: includes/class-yit-cpt-unlimited.php:778
152
- msgid "Categories"
153
- msgstr "Categorías"
154
-
155
- #. translators: %s is the singular name of the post type.
156
- #: includes/class-yit-cpt-unlimited.php:1098
157
- msgid "%s Settings"
158
- msgstr "Ajustes de %s"
159
-
160
- #: includes/class-yit-cpt-unlimited.php:1106
161
- #: includes/class-yit-cpt-unlimited.php:1260
162
- #: includes/class-yit-cpt-unlimited.php:1266
163
- #: includes/class-yit-plugin-panel.php:84
164
- msgid "Settings"
165
- msgstr "Ajustes"
166
-
167
- #: includes/class-yit-cpt-unlimited.php:1111
168
- msgid "Type"
169
- msgstr "Tipo"
170
-
171
- #. translators: %s is the singular name of the post type.
172
- #: includes/class-yit-cpt-unlimited.php:1114
173
- msgid "Layout for this %s"
174
- msgstr "Diseño para este %s"
175
-
176
- #: includes/class-yit-cpt-unlimited.php:1122
177
- msgid "Rewrite"
178
- msgstr "Rescribir"
179
-
180
- #: includes/class-yit-cpt-unlimited.php:1123
181
- msgid ""
182
- "Univocal identification name in the URL for each product (slug from post if "
183
- "empty)"
184
- msgstr ""
185
- "Nombre de identificación unívoco en la URL para cada producto (slug de la "
186
- "entrada si está vacío)"
187
-
188
- #: includes/class-yit-cpt-unlimited.php:1128
189
- msgid "Label in Singular"
190
- msgstr "Etiqueta en Singular"
191
-
192
- #: includes/class-yit-cpt-unlimited.php:1129
193
- msgid "Set a label in singular (title of portfolio if empty)"
194
- msgstr "Establece una etiqueta en singular (título del porfolio si está vacío)"
195
-
196
- #: includes/class-yit-cpt-unlimited.php:1134
197
- msgid "Label in Plural"
198
- msgstr "Etiqueta en Plural"
199
-
200
- #: includes/class-yit-cpt-unlimited.php:1135
201
- msgid "Set a label in plural (title of portfolio if empty)"
202
- msgstr "Establece una etiqueta en plural (título del porfolio si está vacío)"
203
-
204
- #: includes/class-yit-cpt-unlimited.php:1140
205
- msgid "Taxonomy"
206
- msgstr "Taxonomía"
207
-
208
- #: includes/class-yit-cpt-unlimited.php:1141
209
- msgid ""
210
- "If you want to use categories in the portfolio, set a name for taxonomy. "
211
- "Name should be a slug (must not contain capital letters nor spaces) and must "
212
- "not be more than 32 characters long (database structure restriction)."
213
- msgstr ""
214
- "Si quieres usar categorías en este porfolio, establece un nombre para la "
215
- "taxonomía. EL nombre debe ser un slug (no debe contener mayúsculas ni "
216
- "espacios) y no debe tener más de 32 caracteres de longitud (restricción de "
217
- "estructura de la base de datos)."
218
-
219
- #: includes/class-yit-cpt-unlimited.php:1146
220
- msgid "Taxonomy Rewrite"
221
- msgstr "Rescribir taxonomía"
222
-
223
- #: includes/class-yit-cpt-unlimited.php:1147
224
- msgid "Set univocal name for each category page URL."
225
- msgstr "Establece un nombre unívoco para cada URL de página de categoría"
226
-
227
- #: includes/class-yit-cpt-unlimited.php:1152
228
- msgid "Single layout"
229
- msgstr "Diseño individual"
230
-
231
- #: includes/class-yit-cpt-unlimited.php:1153
232
- msgid "Layout for single page of this portfolio"
233
- msgstr "Diseño para página individual de este porfolio"
234
-
235
- #: includes/class-yit-cpt-unlimited.php:1196
236
- msgid "layout settings"
237
- msgstr "ajustes de diseño"
238
-
239
- #: includes/class-yit-cpt-unlimited.php:1286
240
- #: includes/class-yit-cpt-unlimited.php:1297
241
- msgid "Quick links"
242
- msgstr "Enlaces rápidos"
243
-
244
- #. translators: %s is the name of the post type.
245
- #: includes/class-yit-cpt-unlimited.php:1593
246
- msgid "Show frontend of the %s"
247
- msgstr "Mostrar frontend de %s"
248
-
249
- #: includes/class-yit-cpt-unlimited.php:1602 templates/fields/customtabs.php:34
250
- #: templates/fields/customtabs.php:76
251
- msgid "Name"
252
- msgstr "Nombre"
253
-
254
- #. translators: %s is the plural name of the post type.
255
- #: includes/class-yit-cpt-unlimited.php:1749
256
- msgid "Add %s from images"
257
- msgstr "Añadir %s desde imágenes"
258
-
259
- #: includes/class-yit-cpt-unlimited.php:1769
260
- msgid "Upload multiple files"
261
- msgstr "Subir múltiples archivos"
262
-
263
  #: includes/class-yit-plugin-panel-woocommerce.php:419
264
  msgid "The changes you have made will be lost if you leave this page."
265
  msgstr "Los cambios que has hecho se perderán si abandonas esta página."
@@ -268,10 +45,14 @@ msgstr "Los cambios que has hecho se perderán si abandonas esta página."
268
  msgid "Plugin Settings"
269
  msgstr "Ajustes del plugin"
270
 
 
 
 
 
271
  #: includes/class-yit-plugin-panel.php:450
272
  #: includes/class-yit-plugin-panel.php:453
273
  msgid "How to install premium version"
274
- msgstr "Cómo instalara la versión premium"
275
 
276
  #: includes/class-yit-plugin-panel.php:619
277
  #: includes/class-yit-plugin-subpanel.php:132
@@ -345,7 +126,7 @@ msgstr "Clasificación realizada con éxito"
345
 
346
  #: includes/class-yit-plugin-panel.php:1343
347
  msgid "We need your support"
348
- msgstr "Necesitamos tu ayuda"
349
 
350
  #: includes/class-yit-plugin-panel.php:1344
351
  msgid "to keep updating and improving the plugin. Please,"
@@ -353,7 +134,7 @@ msgstr "para que podamos seguir actualizando y mejorando el plugin. Por favor,"
353
 
354
  #: includes/class-yit-plugin-panel.php:1346
355
  msgid "help us by leaving a five-star rating"
356
- msgstr "ayúdanos dejando una valoración de cinco estrellas"
357
 
358
  #: includes/class-yit-plugin-panel.php:1347
359
  msgid ":) Thanks!"
@@ -364,28 +145,21 @@ msgid "Plugins Activated"
364
  msgstr "Plugins activados"
365
 
366
  #: includes/class-yit-pointers.php:81
367
- #, fuzzy
368
  msgid ""
369
  "From now on, you can find all plugin options in YITH Plugins menu. Plugin "
370
  "customization settings will be available as a new entry in YITH Plugins menu."
371
  msgstr ""
372
- "Desde ahora, puedes encontrar todas las opciones del plugin en el menú YITH "
373
- "Plugins.\n"
374
- "La personalización de los ajustes del plugin estará disponible como una "
375
- "nueva entrada en el menú YITH Plugins."
376
 
377
  #. translators: 1. YITH site link; 2. WordPress site link.
378
  #: includes/class-yit-pointers.php:84 includes/class-yit-pointers.php:100
379
- #, fuzzy
380
  msgid "Discover all our plugins available on: %1$s and %2$s"
381
- msgstr "Descubre todos nuestros plugins disponibles en:"
382
 
383
  #: includes/class-yit-pointers.php:96
384
  msgid "Plugins Upgraded"
385
  msgstr "Plugins mejorados"
386
 
387
  #: includes/class-yit-pointers.php:97
388
- #, fuzzy
389
  msgid ""
390
  "From now on, you can find the option panel of YITH plugins in YITH Plugins "
391
  "menu. Every time one of our plugins is added, a new entry will be added to "
@@ -393,13 +167,6 @@ msgid ""
393
  "WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) will be moved from "
394
  "previous location to YITH Plugins tab."
395
  msgstr ""
396
- "Desde ahora, podrás encontrar el panel de opciones de los plugins de YITH en "
397
- "el menú YITH Plugins.\n"
398
- "Cada vez que uno de nuestros plugins es añadido, una nueva entrada será "
399
- "añadida a este menú.\n"
400
- "Por ejemplo, las la actualización, las opciones del plugin (de igual modo "
401
- "que YITH WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) se "
402
- "moverán de su ubicación previa a la pestaña de YITH Plugins."
403
 
404
  #: includes/class-yith-dashboard.php:35
405
  msgid "YITH Latest Updates"
@@ -551,7 +318,7 @@ msgstr "Eliminar %1$s desde el archivo %2$s "
551
 
552
  #: includes/class-yith-system-status.php:573
553
  msgid "Contact your hosting company in order to enable it."
554
- msgstr "Ponte en contacto con tu empresa de hosting para activarlo."
555
 
556
  #. translators: %1$s opening link tag, %2$s closing link tag
557
  #: includes/class-yith-system-status.php:577
@@ -560,8 +327,7 @@ msgid ""
560
  "Read more %1$shere%2$s or contact your hosting company in order to increase "
561
  "it."
562
  msgstr ""
563
- "Lee más %1$saquí%2$s o ponte en contacto con tu empresa de hosting para "
564
- "incrementarlo."
565
 
566
  #. translators: %s recommended memory amount
567
  #: includes/class-yith-system-status.php:597
@@ -609,6 +375,10 @@ msgstr "Buscar entradas"
609
  msgid "Search Product"
610
  msgstr "Buscar producto"
611
 
 
 
 
 
612
  #: templates/fields/customtabs.php:17
613
  msgid "Close all"
614
  msgstr "Cerrar todo"
@@ -621,6 +391,10 @@ msgstr "Expandir todo"
621
  msgid "Remove"
622
  msgstr "Eliminar"
623
 
 
 
 
 
624
  #: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
625
  msgid "Value"
626
  msgstr "Valor"
@@ -720,9 +494,8 @@ msgstr ""
720
 
721
  #: templates/sysinfo/system-information-panel.php:13
722
  #: templates/sysinfo/tabs/error-log.php:25
723
- #, fuzzy
724
  msgid "Log Files"
725
- msgstr "Mostrar archivos de registro"
726
 
727
  #: templates/sysinfo/system-information-panel.php:22
728
  msgid "YITH System Information"
@@ -788,9 +561,8 @@ msgid "External object cache"
788
  msgstr ""
789
 
790
  #: templates/sysinfo/tabs/main.php:54
791
- #, fuzzy
792
  msgid "Plugins Requirements"
793
- msgstr "Ajustes del plugin"
794
 
795
  #: yit-plugin.php:187
796
  msgid "License"
@@ -800,17 +572,6 @@ msgstr "Licencia"
800
  msgid "YITH"
801
  msgstr "YITH"
802
 
803
- #. translators: %s is the singular name of the post type.
804
- #: includes/class-yit-cpt-unlimited.php:676
805
- msgctxt "taxonomy general name"
806
- msgid "%s Categories"
807
- msgstr "Categorías %s"
808
-
809
- #: includes/class-yit-cpt-unlimited.php:677
810
- msgctxt "taxonomy singular name"
811
- msgid "Category"
812
- msgstr "Categoría"
813
-
814
  #: includes/class-yith-dashboard.php:96
815
  msgctxt "Plugin FW"
816
  msgid "View Changelog"
@@ -899,14 +660,14 @@ msgid "Link values together"
899
  msgstr "Enlazar valores juntos"
900
 
901
  #: templates/fields/onoff.php:28
902
- msgctxt "YES/NO button: use MAX 3 characters!"
903
  msgid "YES"
904
- msgstr ""
905
 
906
  #: templates/fields/onoff.php:29
907
- msgctxt "YES/NO button: use MAX 3 characters!"
908
  msgid "NO"
909
- msgstr "NO"
910
 
911
  #: yit-plugin.php:75
912
  msgctxt "Plugin Row Meta"
@@ -932,24 +693,3 @@ msgstr "Versión premium"
932
  msgctxt "Action links"
933
  msgid "Settings"
934
  msgstr "Ajustes"
935
-
936
- #~ msgid "Show full PHPInfo"
937
- #~ msgstr "Mostrar PHPInfo completa"
938
-
939
- #~ msgid "Back to top"
940
- #~ msgstr "Volver a la parte superior"
941
-
942
- #~ msgid "Back to System panel"
943
- #~ msgstr "Volver al panel del Sistema"
944
-
945
- #~ msgid "(Default: <i %s></i> )"
946
- #~ msgstr "(Predeterminado: <i %s></i> )"
947
-
948
- #~ msgid "(Default: %s <img src=\"%s\"/>)"
949
- #~ msgstr "(Predeterminado: %s <img src=\"%s\"/>)"
950
-
951
- #~ msgid "Image preview"
952
- #~ msgstr "Vista previa de la imagen"
953
-
954
- #~ msgid "and"
955
- #~ msgstr "y"
4
  msgstr ""
5
  "Project-Id-Version: YITH Framework\n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
+ "POT-Creation-Date: 2021-02-03 16:08:01+00:00\n"
8
+ "PO-Revision-Date: 2021-01-19 14:22:57+0000\n"
9
  "Language: es\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
37
  msgid "Color value"
38
  msgstr "Valor del color"
39
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  #: includes/class-yit-plugin-panel-woocommerce.php:419
41
  msgid "The changes you have made will be lost if you leave this page."
42
  msgstr "Los cambios que has hecho se perderán si abandonas esta página."
45
  msgid "Plugin Settings"
46
  msgstr "Ajustes del plugin"
47
 
48
+ #: includes/class-yit-plugin-panel.php:84
49
+ msgid "Settings"
50
+ msgstr "Ajustes"
51
+
52
  #: includes/class-yit-plugin-panel.php:450
53
  #: includes/class-yit-plugin-panel.php:453
54
  msgid "How to install premium version"
55
+ msgstr "Cómo instalar la versión premium"
56
 
57
  #: includes/class-yit-plugin-panel.php:619
58
  #: includes/class-yit-plugin-subpanel.php:132
126
 
127
  #: includes/class-yit-plugin-panel.php:1343
128
  msgid "We need your support"
129
+ msgstr "Necesitamos tu apoyo"
130
 
131
  #: includes/class-yit-plugin-panel.php:1344
132
  msgid "to keep updating and improving the plugin. Please,"
134
 
135
  #: includes/class-yit-plugin-panel.php:1346
136
  msgid "help us by leaving a five-star rating"
137
+ msgstr "ayúdanos con una valoración de cinco estrellas"
138
 
139
  #: includes/class-yit-plugin-panel.php:1347
140
  msgid ":) Thanks!"
145
  msgstr "Plugins activados"
146
 
147
  #: includes/class-yit-pointers.php:81
 
148
  msgid ""
149
  "From now on, you can find all plugin options in YITH Plugins menu. Plugin "
150
  "customization settings will be available as a new entry in YITH Plugins menu."
151
  msgstr ""
 
 
 
 
152
 
153
  #. translators: 1. YITH site link; 2. WordPress site link.
154
  #: includes/class-yit-pointers.php:84 includes/class-yit-pointers.php:100
 
155
  msgid "Discover all our plugins available on: %1$s and %2$s"
156
+ msgstr ""
157
 
158
  #: includes/class-yit-pointers.php:96
159
  msgid "Plugins Upgraded"
160
  msgstr "Plugins mejorados"
161
 
162
  #: includes/class-yit-pointers.php:97
 
163
  msgid ""
164
  "From now on, you can find the option panel of YITH plugins in YITH Plugins "
165
  "menu. Every time one of our plugins is added, a new entry will be added to "
167
  "WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) will be moved from "
168
  "previous location to YITH Plugins tab."
169
  msgstr ""
 
 
 
 
 
 
 
170
 
171
  #: includes/class-yith-dashboard.php:35
172
  msgid "YITH Latest Updates"
318
 
319
  #: includes/class-yith-system-status.php:573
320
  msgid "Contact your hosting company in order to enable it."
321
+ msgstr "Contacta con tu empresa de hosting para activarlo."
322
 
323
  #. translators: %1$s opening link tag, %2$s closing link tag
324
  #: includes/class-yith-system-status.php:577
327
  "Read more %1$shere%2$s or contact your hosting company in order to increase "
328
  "it."
329
  msgstr ""
330
+ "Lee más %1$saquí%2$s o contacta a tu empresa de hosting para incrementarlo."
 
331
 
332
  #. translators: %s recommended memory amount
333
  #: includes/class-yith-system-status.php:597
375
  msgid "Search Product"
376
  msgstr "Buscar producto"
377
 
378
+ #: templates/fields/ajax-terms.php:41
379
+ msgid "Search Categories"
380
+ msgstr "Buscar categorías"
381
+
382
  #: templates/fields/customtabs.php:17
383
  msgid "Close all"
384
  msgstr "Cerrar todo"
391
  msgid "Remove"
392
  msgstr "Eliminar"
393
 
394
+ #: templates/fields/customtabs.php:34 templates/fields/customtabs.php:76
395
+ msgid "Name"
396
+ msgstr "Nombre"
397
+
398
  #: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
399
  msgid "Value"
400
  msgstr "Valor"
494
 
495
  #: templates/sysinfo/system-information-panel.php:13
496
  #: templates/sysinfo/tabs/error-log.php:25
 
497
  msgid "Log Files"
498
+ msgstr ""
499
 
500
  #: templates/sysinfo/system-information-panel.php:22
501
  msgid "YITH System Information"
561
  msgstr ""
562
 
563
  #: templates/sysinfo/tabs/main.php:54
 
564
  msgid "Plugins Requirements"
565
+ msgstr ""
566
 
567
  #: yit-plugin.php:187
568
  msgid "License"
572
  msgid "YITH"
573
  msgstr "YITH"
574
 
 
 
 
 
 
 
 
 
 
 
 
575
  #: includes/class-yith-dashboard.php:96
576
  msgctxt "Plugin FW"
577
  msgid "View Changelog"
660
  msgstr "Enlazar valores juntos"
661
 
662
  #: templates/fields/onoff.php:28
663
+ msgctxt "YES/NO button: use MAX 4 characters!"
664
  msgid "YES"
665
+ msgstr ""
666
 
667
  #: templates/fields/onoff.php:29
668
+ msgctxt "YES/NO button: use MAX 4 characters!"
669
  msgid "NO"
670
+ msgstr ""
671
 
672
  #: yit-plugin.php:75
673
  msgctxt "Plugin Row Meta"
693
  msgctxt "Action links"
694
  msgid "Settings"
695
  msgstr "Ajustes"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/languages/yith-plugin-fw-it_IT.mo CHANGED
Binary file
plugin-fw/languages/yith-plugin-fw-it_IT.po CHANGED
@@ -4,7 +4,7 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: YITH Framework\n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
- "POT-Creation-Date: 2020-12-28 12:30:11+00:00\n"
8
  "PO-Revision-Date: 2020-09-24 14:56:37+0000\n"
9
  "Language: it\n"
10
  "MIME-Version: 1.0\n"
@@ -37,229 +37,6 @@ msgstr "Seleziona il colore"
37
  msgid "Color value"
38
  msgstr "Valore del colore"
39
 
40
- #. translators: %s is the singular name of the post type.
41
- #. translators: $s is the singular name of the post type.
42
- #. translators: %s is the singular name of the post type.
43
- #. translators: %s is the plural name of the post type.
44
- #: includes/class-yit-cpt-unlimited.php:486
45
- #: includes/class-yit-cpt-unlimited.php:619
46
- #: includes/class-yit-cpt-unlimited.php:768
47
- #: includes/class-yit-cpt-unlimited.php:1755
48
- msgid "Add %s"
49
- msgstr "Aggiungi %s"
50
-
51
- #. translators: %s is the singular name of the post type.
52
- #. translators: $s is the singular name of the post type.
53
- #: includes/class-yit-cpt-unlimited.php:488
54
- #: includes/class-yit-cpt-unlimited.php:621
55
- msgid "Add New %s"
56
- msgstr "Aggiungi nuovo %s"
57
-
58
- #. translators: %s is the singular name of the post type.
59
- #. translators: $s is the singular name of the post type.
60
- #. translators: %s is the post title.
61
- #. translators: %s is the singular name of the post type.
62
- #: includes/class-yit-cpt-unlimited.php:490
63
- #: includes/class-yit-cpt-unlimited.php:623
64
- #: includes/class-yit-cpt-unlimited.php:1350
65
- #: includes/class-yit-cpt-unlimited.php:1401
66
- msgid "Edit %s"
67
- msgstr "Modifica %s"
68
-
69
- #. translators: %s is the singular name of the post type.
70
- #. translators: $s is the singular name of the post type.
71
- #: includes/class-yit-cpt-unlimited.php:492
72
- #: includes/class-yit-cpt-unlimited.php:625
73
- msgid "New %s"
74
- msgstr "Nuovo %s"
75
-
76
- #. translators: %s is the plural name of the post type.
77
- #. translators: $s is the plural name of the post type.
78
- #: includes/class-yit-cpt-unlimited.php:494
79
- #: includes/class-yit-cpt-unlimited.php:627
80
- msgid "All %s"
81
- msgstr "Tutti %s"
82
-
83
- #. translators: %s is the singular name of the post type.
84
- #. translators: $s is the singular name of the post type.
85
- #. translators: %s is the plural label of the post type.
86
- #. translators: %s is the plural name of the post type.
87
- #: includes/class-yit-cpt-unlimited.php:496
88
- #: includes/class-yit-cpt-unlimited.php:629
89
- #: includes/class-yit-cpt-unlimited.php:1323
90
- #: includes/class-yit-cpt-unlimited.php:1406
91
- msgid "View %s"
92
- msgstr "Visualizza %s"
93
-
94
- #. translators: %s is the plural name of the post type.
95
- #. translators: $s is the plural name of the post type.
96
- #: includes/class-yit-cpt-unlimited.php:498
97
- #: includes/class-yit-cpt-unlimited.php:631
98
- msgid "Search %s"
99
- msgstr "Cerca %s"
100
-
101
- #. translators: %s is the plural name of the post type.
102
- #. translators: $s is the plural name of the post type.
103
- #: includes/class-yit-cpt-unlimited.php:500
104
- #: includes/class-yit-cpt-unlimited.php:633
105
- msgid "No %s found"
106
- msgstr "Nessun %s trovato"
107
-
108
- #. translators: %s is the plural name of the post type.
109
- #. translators: $s is the plural name of the post type.
110
- #: includes/class-yit-cpt-unlimited.php:502
111
- #: includes/class-yit-cpt-unlimited.php:635
112
- msgid "No %s found in Trash"
113
- msgstr "Nessun %s trovato nel cestino"
114
-
115
- #: includes/class-yit-cpt-unlimited.php:678 templates/fields/ajax-terms.php:41
116
- msgid "Search Categories"
117
- msgstr "Cerca categorie"
118
-
119
- #: includes/class-yit-cpt-unlimited.php:679
120
- msgid "All Categories"
121
- msgstr "Tutte le categorie"
122
-
123
- #: includes/class-yit-cpt-unlimited.php:680
124
- msgid "Parent Category"
125
- msgstr "Categoria genitore"
126
-
127
- #: includes/class-yit-cpt-unlimited.php:681
128
- msgid "Parent Category:"
129
- msgstr "Categoria genitore:"
130
-
131
- #: includes/class-yit-cpt-unlimited.php:682
132
- msgid "Edit Category"
133
- msgstr "Modifica categoria"
134
-
135
- #: includes/class-yit-cpt-unlimited.php:683
136
- msgid "Update Category"
137
- msgstr "Aggiorna categoria"
138
-
139
- #: includes/class-yit-cpt-unlimited.php:684
140
- msgid "Add New Category"
141
- msgstr "Aggiungi nuova categoria"
142
-
143
- #: includes/class-yit-cpt-unlimited.php:685
144
- msgid "New Category Name"
145
- msgstr "Nuovo nome categoria"
146
-
147
- #: includes/class-yit-cpt-unlimited.php:686
148
- msgid "Category"
149
- msgstr "Categoria"
150
-
151
- #: includes/class-yit-cpt-unlimited.php:778
152
- msgid "Categories"
153
- msgstr "Categorie"
154
-
155
- #. translators: %s is the singular name of the post type.
156
- #: includes/class-yit-cpt-unlimited.php:1098
157
- msgid "%s Settings"
158
- msgstr "Impostazioni %s"
159
-
160
- #: includes/class-yit-cpt-unlimited.php:1106
161
- #: includes/class-yit-cpt-unlimited.php:1260
162
- #: includes/class-yit-cpt-unlimited.php:1266
163
- #: includes/class-yit-plugin-panel.php:84
164
- msgid "Settings"
165
- msgstr "Impostazioni"
166
-
167
- #: includes/class-yit-cpt-unlimited.php:1111
168
- msgid "Type"
169
- msgstr "Tipologia"
170
-
171
- #. translators: %s is the singular name of the post type.
172
- #: includes/class-yit-cpt-unlimited.php:1114
173
- msgid "Layout for this %s"
174
- msgstr "Layout per questo %s"
175
-
176
- #: includes/class-yit-cpt-unlimited.php:1122
177
- msgid "Rewrite"
178
- msgstr "Riscrivi"
179
-
180
- #: includes/class-yit-cpt-unlimited.php:1123
181
- msgid ""
182
- "Univocal identification name in the URL for each product (slug from post if "
183
- "empty)"
184
- msgstr ""
185
- "Nome identificativo univoco nell'URL per singolo prodotto (usa slug dal post "
186
- "se vuoto)"
187
-
188
- #: includes/class-yit-cpt-unlimited.php:1128
189
- msgid "Label in Singular"
190
- msgstr "Etichetta singolare"
191
-
192
- #: includes/class-yit-cpt-unlimited.php:1129
193
- msgid "Set a label in singular (title of portfolio if empty)"
194
- msgstr "Imposta un'etichetta singolare (titolo del portfolio se vuoto)"
195
-
196
- #: includes/class-yit-cpt-unlimited.php:1134
197
- msgid "Label in Plural"
198
- msgstr "Etichetta plurale"
199
-
200
- #: includes/class-yit-cpt-unlimited.php:1135
201
- msgid "Set a label in plural (title of portfolio if empty)"
202
- msgstr "Imposta un'etichetta plurale (titolo del portfolio se vuoto)"
203
-
204
- #: includes/class-yit-cpt-unlimited.php:1140
205
- msgid "Taxonomy"
206
- msgstr "Tassonomia"
207
-
208
- #: includes/class-yit-cpt-unlimited.php:1141
209
- msgid ""
210
- "If you want to use categories in the portfolio, set a name for taxonomy. "
211
- "Name should be a slug (must not contain capital letters nor spaces) and must "
212
- "not be more than 32 characters long (database structure restriction)."
213
- msgstr ""
214
- "Se vuoi aggiungere delle categorie nel portfolio, imposta un nome per la "
215
- "tassonomia. Il nome dovrà essere in forma di slug (non deve contenere "
216
- "caratteri maiuscoli né spazi) e non più lungo di 32 caratteri (restrizione "
217
- "di database)."
218
-
219
- #: includes/class-yit-cpt-unlimited.php:1146
220
- msgid "Taxonomy Rewrite"
221
- msgstr "Riscrivi tassonomia"
222
-
223
- #: includes/class-yit-cpt-unlimited.php:1147
224
- msgid "Set univocal name for each category page URL."
225
- msgstr "Imposta un nome univoco per l'URL della pagina di ciascuna categoria."
226
-
227
- #: includes/class-yit-cpt-unlimited.php:1152
228
- msgid "Single layout"
229
- msgstr "Layout singolo"
230
-
231
- #: includes/class-yit-cpt-unlimited.php:1153
232
- msgid "Layout for single page of this portfolio"
233
- msgstr "Layout per pagina singola per questo portfolio"
234
-
235
- #: includes/class-yit-cpt-unlimited.php:1196
236
- msgid "layout settings"
237
- msgstr "impostazioni di layout"
238
-
239
- #: includes/class-yit-cpt-unlimited.php:1286
240
- #: includes/class-yit-cpt-unlimited.php:1297
241
- msgid "Quick links"
242
- msgstr "Link rapidi"
243
-
244
- #. translators: %s is the name of the post type.
245
- #: includes/class-yit-cpt-unlimited.php:1593
246
- msgid "Show frontend of the %s"
247
- msgstr "Mostra front end di %s"
248
-
249
- #: includes/class-yit-cpt-unlimited.php:1602 templates/fields/customtabs.php:34
250
- #: templates/fields/customtabs.php:76
251
- msgid "Name"
252
- msgstr "Nome"
253
-
254
- #. translators: %s is the plural name of the post type.
255
- #: includes/class-yit-cpt-unlimited.php:1749
256
- msgid "Add %s from images"
257
- msgstr "Aggiungi %s dalla immagini"
258
-
259
- #: includes/class-yit-cpt-unlimited.php:1769
260
- msgid "Upload multiple files"
261
- msgstr "Carica file multipli"
262
-
263
  #: includes/class-yit-plugin-panel-woocommerce.php:419
264
  msgid "The changes you have made will be lost if you leave this page."
265
  msgstr "Perderai tutti i cambiamenti effettuati se lasci questa pagina."
@@ -268,6 +45,10 @@ msgstr "Perderai tutti i cambiamenti effettuati se lasci questa pagina."
268
  msgid "Plugin Settings"
269
  msgstr "Impostazioni plugin"
270
 
 
 
 
 
271
  #: includes/class-yit-plugin-panel.php:450
272
  #: includes/class-yit-plugin-panel.php:453
273
  msgid "How to install premium version"
@@ -362,28 +143,21 @@ msgid "Plugins Activated"
362
  msgstr "Plugin attivati"
363
 
364
  #: includes/class-yit-pointers.php:81
365
- #, fuzzy
366
  msgid ""
367
  "From now on, you can find all plugin options in YITH Plugins menu. Plugin "
368
  "customization settings will be available as a new entry in YITH Plugins menu."
369
  msgstr ""
370
- "Da ora in poi, puoi trovare tutte le opzioni dei tuoi plugin nel menu YITH "
371
- "Plugins.\n"
372
- "Troverai le impostazioni di personalizzazione sotto una nuova voce nel menu "
373
- "YITH Plugins."
374
 
375
  #. translators: 1. YITH site link; 2. WordPress site link.
376
  #: includes/class-yit-pointers.php:84 includes/class-yit-pointers.php:100
377
- #, fuzzy
378
  msgid "Discover all our plugins available on: %1$s and %2$s"
379
- msgstr "Scopri tutti i plugin disponibili su:"
380
 
381
  #: includes/class-yit-pointers.php:96
382
  msgid "Plugins Upgraded"
383
  msgstr "Plugin aggiornati"
384
 
385
  #: includes/class-yit-pointers.php:97
386
- #, fuzzy
387
  msgid ""
388
  "From now on, you can find the option panel of YITH plugins in YITH Plugins "
389
  "menu. Every time one of our plugins is added, a new entry will be added to "
@@ -391,13 +165,6 @@ msgid ""
391
  "WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) will be moved from "
392
  "previous location to YITH Plugins tab."
393
  msgstr ""
394
- "Da ora in poi, troverai tutte le opzioni dei tuoi plugin nel menu YITH "
395
- "Plugins.\n"
396
- "Ogni volta che aggiornerai i nostri plugin, troverai una nuova voce in "
397
- "questo menu.\n"
398
- "Per esempio, dopo l'aggiornamento, le opzioni del plugin (come per esempio "
399
- "quelle di YITH WooCommerce Wishlist, YITH WooCommerce Ajax Search etc.)\n"
400
- "saranno trasferite nella scheda YITH Plugins."
401
 
402
  #: includes/class-yith-dashboard.php:35
403
  msgid "YITH Latest Updates"
@@ -607,6 +374,10 @@ msgstr "Cerca articoli"
607
  msgid "Search Product"
608
  msgstr "Cerca un prodotto"
609
 
 
 
 
 
610
  #: templates/fields/customtabs.php:17
611
  msgid "Close all"
612
  msgstr "Chiudi tutti"
@@ -619,6 +390,10 @@ msgstr "Espandi tutti"
619
  msgid "Remove"
620
  msgstr "Rimuovi"
621
 
 
 
 
 
622
  #: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
623
  msgid "Value"
624
  msgstr "Valore"
@@ -718,9 +493,8 @@ msgstr ""
718
 
719
  #: templates/sysinfo/system-information-panel.php:13
720
  #: templates/sysinfo/tabs/error-log.php:25
721
- #, fuzzy
722
  msgid "Log Files"
723
- msgstr "Mostra i log"
724
 
725
  #: templates/sysinfo/system-information-panel.php:22
726
  msgid "YITH System Information"
@@ -786,9 +560,8 @@ msgid "External object cache"
786
  msgstr ""
787
 
788
  #: templates/sysinfo/tabs/main.php:54
789
- #, fuzzy
790
  msgid "Plugins Requirements"
791
- msgstr "Impostazioni plugin"
792
 
793
  #: yit-plugin.php:187
794
  msgid "License"
@@ -798,17 +571,6 @@ msgstr "Chiave di licenza"
798
  msgid "YITH"
799
  msgstr "YITH"
800
 
801
- #. translators: %s is the singular name of the post type.
802
- #: includes/class-yit-cpt-unlimited.php:676
803
- msgctxt "taxonomy general name"
804
- msgid "%s Categories"
805
- msgstr "%s Categorie"
806
-
807
- #: includes/class-yit-cpt-unlimited.php:677
808
- msgctxt "taxonomy singular name"
809
- msgid "Category"
810
- msgstr "Categoria"
811
-
812
  #: includes/class-yith-dashboard.php:96
813
  msgctxt "Plugin FW"
814
  msgid "View Changelog"
@@ -898,14 +660,14 @@ msgid "Link values together"
898
  msgstr "Collega i valori"
899
 
900
  #: templates/fields/onoff.php:28
901
- msgctxt "YES/NO button: use MAX 3 characters!"
902
  msgid "YES"
903
- msgstr ""
904
 
905
  #: templates/fields/onoff.php:29
906
- msgctxt "YES/NO button: use MAX 3 characters!"
907
  msgid "NO"
908
- msgstr "NO"
909
 
910
  #: yit-plugin.php:75
911
  msgctxt "Plugin Row Meta"
@@ -931,24 +693,3 @@ msgstr "Versione premium"
931
  msgctxt "Action links"
932
  msgid "Settings"
933
  msgstr "Impostazioni"
934
-
935
- #~ msgid "Show full PHPInfo"
936
- #~ msgstr "Mostra tutto il contenuto di PHPInfo"
937
-
938
- #~ msgid "Back to top"
939
- #~ msgstr "Torna su"
940
-
941
- #~ msgid "Back to System panel"
942
- #~ msgstr "Torna al pannello di Sistema"
943
-
944
- #~ msgid "(Default: <i %s></i> )"
945
- #~ msgstr "(Default: <i %s></i> )"
946
-
947
- #~ msgid "(Default: %s <img src=\"%s\"/>)"
948
- #~ msgstr "(Default: %s <img src=\"%s\"/>)"
949
-
950
- #~ msgid "Image preview"
951
- #~ msgstr "Anteprima immagine"
952
-
953
- #~ msgid "and"
954
- #~ msgstr "e"
4
  msgstr ""
5
  "Project-Id-Version: YITH Framework\n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
+ "POT-Creation-Date: 2021-02-03 16:08:01+00:00\n"
8
  "PO-Revision-Date: 2020-09-24 14:56:37+0000\n"
9
  "Language: it\n"
10
  "MIME-Version: 1.0\n"
37
  msgid "Color value"
38
  msgstr "Valore del colore"
39
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  #: includes/class-yit-plugin-panel-woocommerce.php:419
41
  msgid "The changes you have made will be lost if you leave this page."
42
  msgstr "Perderai tutti i cambiamenti effettuati se lasci questa pagina."
45
  msgid "Plugin Settings"
46
  msgstr "Impostazioni plugin"
47
 
48
+ #: includes/class-yit-plugin-panel.php:84
49
+ msgid "Settings"
50
+ msgstr "Impostazioni"
51
+
52
  #: includes/class-yit-plugin-panel.php:450
53
  #: includes/class-yit-plugin-panel.php:453
54
  msgid "How to install premium version"
143
  msgstr "Plugin attivati"
144
 
145
  #: includes/class-yit-pointers.php:81
 
146
  msgid ""
147
  "From now on, you can find all plugin options in YITH Plugins menu. Plugin "
148
  "customization settings will be available as a new entry in YITH Plugins menu."
149
  msgstr ""
 
 
 
 
150
 
151
  #. translators: 1. YITH site link; 2. WordPress site link.
152
  #: includes/class-yit-pointers.php:84 includes/class-yit-pointers.php:100
 
153
  msgid "Discover all our plugins available on: %1$s and %2$s"
154
+ msgstr ""
155
 
156
  #: includes/class-yit-pointers.php:96
157
  msgid "Plugins Upgraded"
158
  msgstr "Plugin aggiornati"
159
 
160
  #: includes/class-yit-pointers.php:97
 
161
  msgid ""
162
  "From now on, you can find the option panel of YITH plugins in YITH Plugins "
163
  "menu. Every time one of our plugins is added, a new entry will be added to "
165
  "WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) will be moved from "
166
  "previous location to YITH Plugins tab."
167
  msgstr ""
 
 
 
 
 
 
 
168
 
169
  #: includes/class-yith-dashboard.php:35
170
  msgid "YITH Latest Updates"
374
  msgid "Search Product"
375
  msgstr "Cerca un prodotto"
376
 
377
+ #: templates/fields/ajax-terms.php:41
378
+ msgid "Search Categories"
379
+ msgstr "Cerca categorie"
380
+
381
  #: templates/fields/customtabs.php:17
382
  msgid "Close all"
383
  msgstr "Chiudi tutti"
390
  msgid "Remove"
391
  msgstr "Rimuovi"
392
 
393
+ #: templates/fields/customtabs.php:34 templates/fields/customtabs.php:76
394
+ msgid "Name"
395
+ msgstr "Nome"
396
+
397
  #: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
398
  msgid "Value"
399
  msgstr "Valore"
493
 
494
  #: templates/sysinfo/system-information-panel.php:13
495
  #: templates/sysinfo/tabs/error-log.php:25
 
496
  msgid "Log Files"
497
+ msgstr ""
498
 
499
  #: templates/sysinfo/system-information-panel.php:22
500
  msgid "YITH System Information"
560
  msgstr ""
561
 
562
  #: templates/sysinfo/tabs/main.php:54
 
563
  msgid "Plugins Requirements"
564
+ msgstr ""
565
 
566
  #: yit-plugin.php:187
567
  msgid "License"
571
  msgid "YITH"
572
  msgstr "YITH"
573
 
 
 
 
 
 
 
 
 
 
 
 
574
  #: includes/class-yith-dashboard.php:96
575
  msgctxt "Plugin FW"
576
  msgid "View Changelog"
660
  msgstr "Collega i valori"
661
 
662
  #: templates/fields/onoff.php:28
663
+ msgctxt "YES/NO button: use MAX 4 characters!"
664
  msgid "YES"
665
+ msgstr ""
666
 
667
  #: templates/fields/onoff.php:29
668
+ msgctxt "YES/NO button: use MAX 4 characters!"
669
  msgid "NO"
670
+ msgstr ""
671
 
672
  #: yit-plugin.php:75
673
  msgctxt "Plugin Row Meta"
693
  msgctxt "Action links"
694
  msgid "Settings"
695
  msgstr "Impostazioni"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/languages/yith-plugin-fw-nl_NL.mo CHANGED
Binary file
plugin-fw/languages/yith-plugin-fw-nl_NL.po CHANGED
@@ -4,7 +4,7 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: YITH Framework\n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
- "POT-Creation-Date: 2020-12-28 12:30:11+00:00\n"
8
  "PO-Revision-Date: 2020-09-24 14:36:33+0000\n"
9
  "Language: nl\n"
10
  "MIME-Version: 1.0\n"
@@ -37,229 +37,6 @@ msgstr "Kleur selecteren"
37
  msgid "Color value"
38
  msgstr "Kleurwaarde"
39
 
40
- #. translators: %s is the singular name of the post type.
41
- #. translators: $s is the singular name of the post type.
42
- #. translators: %s is the singular name of the post type.
43
- #. translators: %s is the plural name of the post type.
44
- #: includes/class-yit-cpt-unlimited.php:486
45
- #: includes/class-yit-cpt-unlimited.php:619
46
- #: includes/class-yit-cpt-unlimited.php:768
47
- #: includes/class-yit-cpt-unlimited.php:1755
48
- msgid "Add %s"
49
- msgstr "%s toevoegen"
50
-
51
- #. translators: %s is the singular name of the post type.
52
- #. translators: $s is the singular name of the post type.
53
- #: includes/class-yit-cpt-unlimited.php:488
54
- #: includes/class-yit-cpt-unlimited.php:621
55
- msgid "Add New %s"
56
- msgstr "Nieuwe %s toevoegen"
57
-
58
- #. translators: %s is the singular name of the post type.
59
- #. translators: $s is the singular name of the post type.
60
- #. translators: %s is the post title.
61
- #. translators: %s is the singular name of the post type.
62
- #: includes/class-yit-cpt-unlimited.php:490
63
- #: includes/class-yit-cpt-unlimited.php:623
64
- #: includes/class-yit-cpt-unlimited.php:1350
65
- #: includes/class-yit-cpt-unlimited.php:1401
66
- msgid "Edit %s"
67
- msgstr "Bewerk %s"
68
-
69
- #. translators: %s is the singular name of the post type.
70
- #. translators: $s is the singular name of the post type.
71
- #: includes/class-yit-cpt-unlimited.php:492
72
- #: includes/class-yit-cpt-unlimited.php:625
73
- msgid "New %s"
74
- msgstr "Nieuw %s"
75
-
76
- #. translators: %s is the plural name of the post type.
77
- #. translators: $s is the plural name of the post type.
78
- #: includes/class-yit-cpt-unlimited.php:494
79
- #: includes/class-yit-cpt-unlimited.php:627
80
- msgid "All %s"
81
- msgstr "Alle %s"
82
-
83
- #. translators: %s is the singular name of the post type.
84
- #. translators: $s is the singular name of the post type.
85
- #. translators: %s is the plural label of the post type.
86
- #. translators: %s is the plural name of the post type.
87
- #: includes/class-yit-cpt-unlimited.php:496
88
- #: includes/class-yit-cpt-unlimited.php:629
89
- #: includes/class-yit-cpt-unlimited.php:1323
90
- #: includes/class-yit-cpt-unlimited.php:1406
91
- msgid "View %s"
92
- msgstr "Bekijk %s"
93
-
94
- #. translators: %s is the plural name of the post type.
95
- #. translators: $s is the plural name of the post type.
96
- #: includes/class-yit-cpt-unlimited.php:498
97
- #: includes/class-yit-cpt-unlimited.php:631
98
- msgid "Search %s"
99
- msgstr "Zoeken %s"
100
-
101
- #. translators: %s is the plural name of the post type.
102
- #. translators: $s is the plural name of the post type.
103
- #: includes/class-yit-cpt-unlimited.php:500
104
- #: includes/class-yit-cpt-unlimited.php:633
105
- msgid "No %s found"
106
- msgstr "Geen %s gevonden"
107
-
108
- #. translators: %s is the plural name of the post type.
109
- #. translators: $s is the plural name of the post type.
110
- #: includes/class-yit-cpt-unlimited.php:502
111
- #: includes/class-yit-cpt-unlimited.php:635
112
- msgid "No %s found in Trash"
113
- msgstr "No %s gevonden in de prullenbak"
114
-
115
- #: includes/class-yit-cpt-unlimited.php:678 templates/fields/ajax-terms.php:41
116
- msgid "Search Categories"
117
- msgstr "Zoek categorieën"
118
-
119
- #: includes/class-yit-cpt-unlimited.php:679
120
- msgid "All Categories"
121
- msgstr "Alle categorieën"
122
-
123
- #: includes/class-yit-cpt-unlimited.php:680
124
- msgid "Parent Category"
125
- msgstr "Hoofdcategorie"
126
-
127
- #: includes/class-yit-cpt-unlimited.php:681
128
- msgid "Parent Category:"
129
- msgstr "Hoofdcategorie:"
130
-
131
- #: includes/class-yit-cpt-unlimited.php:682
132
- msgid "Edit Category"
133
- msgstr "Categorie aanpassen"
134
-
135
- #: includes/class-yit-cpt-unlimited.php:683
136
- msgid "Update Category"
137
- msgstr "Update categorie"
138
-
139
- #: includes/class-yit-cpt-unlimited.php:684
140
- msgid "Add New Category"
141
- msgstr "Categorie toevoegen"
142
-
143
- #: includes/class-yit-cpt-unlimited.php:685
144
- msgid "New Category Name"
145
- msgstr "Nieuwe categorie naam"
146
-
147
- #: includes/class-yit-cpt-unlimited.php:686
148
- msgid "Category"
149
- msgstr "Categorie"
150
-
151
- #: includes/class-yit-cpt-unlimited.php:778
152
- msgid "Categories"
153
- msgstr "Categorieën"
154
-
155
- #. translators: %s is the singular name of the post type.
156
- #: includes/class-yit-cpt-unlimited.php:1098
157
- msgid "%s Settings"
158
- msgstr "%s instellingen"
159
-
160
- #: includes/class-yit-cpt-unlimited.php:1106
161
- #: includes/class-yit-cpt-unlimited.php:1260
162
- #: includes/class-yit-cpt-unlimited.php:1266
163
- #: includes/class-yit-plugin-panel.php:84
164
- msgid "Settings"
165
- msgstr "Instellingen"
166
-
167
- #: includes/class-yit-cpt-unlimited.php:1111
168
- msgid "Type"
169
- msgstr "Type"
170
-
171
- #. translators: %s is the singular name of the post type.
172
- #: includes/class-yit-cpt-unlimited.php:1114
173
- msgid "Layout for this %s"
174
- msgstr "De lay-out hiervoor %s"
175
-
176
- #: includes/class-yit-cpt-unlimited.php:1122
177
- msgid "Rewrite"
178
- msgstr "Herschrijf"
179
-
180
- #: includes/class-yit-cpt-unlimited.php:1123
181
- msgid ""
182
- "Univocal identification name in the URL for each product (slug from post if "
183
- "empty)"
184
- msgstr ""
185
- "Unieke identificatie naam in de URL voor ieder product (slug van post indien "
186
- "leeg)"
187
-
188
- #: includes/class-yit-cpt-unlimited.php:1128
189
- msgid "Label in Singular"
190
- msgstr "Label in enkelvoud"
191
-
192
- #: includes/class-yit-cpt-unlimited.php:1129
193
- msgid "Set a label in singular (title of portfolio if empty)"
194
- msgstr "Zet een label op enkelvoud (titel van portfolio indien leeg)"
195
-
196
- #: includes/class-yit-cpt-unlimited.php:1134
197
- msgid "Label in Plural"
198
- msgstr "Label in meervoud"
199
-
200
- #: includes/class-yit-cpt-unlimited.php:1135
201
- msgid "Set a label in plural (title of portfolio if empty)"
202
- msgstr "Zet een label op meervoud (titel van portfolio indien leeg)"
203
-
204
- #: includes/class-yit-cpt-unlimited.php:1140
205
- msgid "Taxonomy"
206
- msgstr "Taxonomie"
207
-
208
- #: includes/class-yit-cpt-unlimited.php:1141
209
- msgid ""
210
- "If you want to use categories in the portfolio, set a name for taxonomy. "
211
- "Name should be a slug (must not contain capital letters nor spaces) and must "
212
- "not be more than 32 characters long (database structure restriction)."
213
- msgstr ""
214
- "Wil je categorieën gebruiken in de portfolio, stel dan een naam voor "
215
- "taxonomie. Naam moet een ’slug’ zijn (mag geen hoofdletters of spaties "
216
- "bevatten) en mag niet meer zijn dan 32 tekens lang (database structuur "
217
- "beperking)."
218
-
219
- #: includes/class-yit-cpt-unlimited.php:1146
220
- msgid "Taxonomy Rewrite"
221
- msgstr "Herschrijf taxonomie"
222
-
223
- #: includes/class-yit-cpt-unlimited.php:1147
224
- msgid "Set univocal name for each category page URL."
225
- msgstr "Stel een unieke naam in voor elke categorie pagina URL."
226
-
227
- #: includes/class-yit-cpt-unlimited.php:1152
228
- msgid "Single layout"
229
- msgstr "Single lay-out"
230
-
231
- #: includes/class-yit-cpt-unlimited.php:1153
232
- msgid "Layout for single page of this portfolio"
233
- msgstr "Lay-out voor single pagina van dit portfolio"
234
-
235
- #: includes/class-yit-cpt-unlimited.php:1196
236
- msgid "layout settings"
237
- msgstr "lay-out instellingen"
238
-
239
- #: includes/class-yit-cpt-unlimited.php:1286
240
- #: includes/class-yit-cpt-unlimited.php:1297
241
- msgid "Quick links"
242
- msgstr "Snelle links"
243
-
244
- #. translators: %s is the name of the post type.
245
- #: includes/class-yit-cpt-unlimited.php:1593
246
- msgid "Show frontend of the %s"
247
- msgstr "Toon frontend van de %s"
248
-
249
- #: includes/class-yit-cpt-unlimited.php:1602 templates/fields/customtabs.php:34
250
- #: templates/fields/customtabs.php:76
251
- msgid "Name"
252
- msgstr "Name"
253
-
254
- #. translators: %s is the plural name of the post type.
255
- #: includes/class-yit-cpt-unlimited.php:1749
256
- msgid "Add %s from images"
257
- msgstr "Voeg %s toe van afbeeldingen"
258
-
259
- #: includes/class-yit-cpt-unlimited.php:1769
260
- msgid "Upload multiple files"
261
- msgstr "Upload meerdere bestanden"
262
-
263
  #: includes/class-yit-plugin-panel-woocommerce.php:419
264
  msgid "The changes you have made will be lost if you leave this page."
265
  msgstr "Als je deze pagina verlaat zullen alle wijzigingen verloren gaan."
@@ -268,6 +45,10 @@ msgstr "Als je deze pagina verlaat zullen alle wijzigingen verloren gaan."
268
  msgid "Plugin Settings"
269
  msgstr "Plugin instellingen"
270
 
 
 
 
 
271
  #: includes/class-yit-plugin-panel.php:450
272
  #: includes/class-yit-plugin-panel.php:453
273
  msgid "How to install premium version"
@@ -361,27 +142,21 @@ msgid "Plugins Activated"
361
  msgstr "Plugins geactiveerd"
362
 
363
  #: includes/class-yit-pointers.php:81
364
- #, fuzzy
365
  msgid ""
366
  "From now on, you can find all plugin options in YITH Plugins menu. Plugin "
367
  "customization settings will be available as a new entry in YITH Plugins menu."
368
  msgstr ""
369
- "Vanaf nu kunt u alle plugin opties vinden onder het YITH Plugins menu.\n"
370
- " Plugin aanpassing instellingen zullen "
371
- "beschikbaar zijn als een nieuwe toegang in YITH Plugins menu."
372
 
373
  #. translators: 1. YITH site link; 2. WordPress site link.
374
  #: includes/class-yit-pointers.php:84 includes/class-yit-pointers.php:100
375
- #, fuzzy
376
  msgid "Discover all our plugins available on: %1$s and %2$s"
377
- msgstr "Ontdek al onze beschikbare plugins op:"
378
 
379
  #: includes/class-yit-pointers.php:96
380
  msgid "Plugins Upgraded"
381
  msgstr "Plugins Upgraded"
382
 
383
  #: includes/class-yit-pointers.php:97
384
- #, fuzzy
385
  msgid ""
386
  "From now on, you can find the option panel of YITH plugins in YITH Plugins "
387
  "menu. Every time one of our plugins is added, a new entry will be added to "
@@ -389,14 +164,6 @@ msgid ""
389
  "WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) will be moved from "
390
  "previous location to YITH Plugins tab."
391
  msgstr ""
392
- "Vanaf nu kun je het optie paneel van YITH plugins vinden in het YITH plugins "
393
- "menu.\n"
394
- " Telkens als er een nieuwe plugin is "
395
- "toegevoegd, zal een nieuwe toegang worden toegevoegd aan dit menu.\n"
396
- " Voorbeeld, na een update, plugin opties "
397
- "(zoalsYITH WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.)\n"
398
- " zullen worden verplaatst van de vorige "
399
- "locatie naar het YITH plugins tabblad."
400
 
401
  #: includes/class-yith-dashboard.php:35
402
  msgid "YITH Latest Updates"
@@ -605,6 +372,10 @@ msgstr "Posts zoeken"
605
  msgid "Search Product"
606
  msgstr "Zoek Product"
607
 
 
 
 
 
608
  #: templates/fields/customtabs.php:17
609
  msgid "Close all"
610
  msgstr "Sluit allen"
@@ -617,6 +388,10 @@ msgstr "Open allen"
617
  msgid "Remove"
618
  msgstr "Verwijderen"
619
 
 
 
 
 
620
  #: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
621
  msgid "Value"
622
  msgstr "Waarde"
@@ -716,9 +491,8 @@ msgstr ""
716
 
717
  #: templates/sysinfo/system-information-panel.php:13
718
  #: templates/sysinfo/tabs/error-log.php:25
719
- #, fuzzy
720
  msgid "Log Files"
721
- msgstr "Logbestanden tonen"
722
 
723
  #: templates/sysinfo/system-information-panel.php:22
724
  msgid "YITH System Information"
@@ -784,9 +558,8 @@ msgid "External object cache"
784
  msgstr ""
785
 
786
  #: templates/sysinfo/tabs/main.php:54
787
- #, fuzzy
788
  msgid "Plugins Requirements"
789
- msgstr "Plugin instellingen"
790
 
791
  #: yit-plugin.php:187
792
  msgid "License"
@@ -796,17 +569,6 @@ msgstr "Licentie"
796
  msgid "YITH"
797
  msgstr "YITH"
798
 
799
- #. translators: %s is the singular name of the post type.
800
- #: includes/class-yit-cpt-unlimited.php:676
801
- msgctxt "taxonomy general name"
802
- msgid "%s Categories"
803
- msgstr "%s Categorieën"
804
-
805
- #: includes/class-yit-cpt-unlimited.php:677
806
- msgctxt "taxonomy singular name"
807
- msgid "Category"
808
- msgstr "Categorie"
809
-
810
  #: includes/class-yith-dashboard.php:96
811
  msgctxt "Plugin FW"
812
  msgid "View Changelog"
@@ -895,14 +657,14 @@ msgid "Link values together"
895
  msgstr "Waarden aan elkaar koppelen"
896
 
897
  #: templates/fields/onoff.php:28
898
- msgctxt "YES/NO button: use MAX 3 characters!"
899
  msgid "YES"
900
- msgstr "Ja"
901
 
902
  #: templates/fields/onoff.php:29
903
- msgctxt "YES/NO button: use MAX 3 characters!"
904
  msgid "NO"
905
- msgstr "Nee"
906
 
907
  #: yit-plugin.php:75
908
  msgctxt "Plugin Row Meta"
@@ -928,24 +690,3 @@ msgstr "Premium versie"
928
  msgctxt "Action links"
929
  msgid "Settings"
930
  msgstr "Instellingen"
931
-
932
- #~ msgid "Show full PHPInfo"
933
- #~ msgstr "Toon volledige PHPInfo"
934
-
935
- #~ msgid "Back to top"
936
- #~ msgstr "Terug naar boven"
937
-
938
- #~ msgid "Back to System panel"
939
- #~ msgstr "Terugkeren naar systeem paneel"
940
-
941
- #~ msgid "(Default: <i %s></i> )"
942
- #~ msgstr "(Default: <i %s></i> )"
943
-
944
- #~ msgid "(Default: %s <img src=\"%s\"/>)"
945
- #~ msgstr "(Default: %s <img src=\"%s\"/>)"
946
-
947
- #~ msgid "Image preview"
948
- #~ msgstr "Voorbeeld afbeelding"
949
-
950
- #~ msgid "and"
951
- #~ msgstr "en"
4
  msgstr ""
5
  "Project-Id-Version: YITH Framework\n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
+ "POT-Creation-Date: 2021-02-03 16:08:01+00:00\n"
8
  "PO-Revision-Date: 2020-09-24 14:36:33+0000\n"
9
  "Language: nl\n"
10
  "MIME-Version: 1.0\n"
37
  msgid "Color value"
38
  msgstr "Kleurwaarde"
39
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  #: includes/class-yit-plugin-panel-woocommerce.php:419
41
  msgid "The changes you have made will be lost if you leave this page."
42
  msgstr "Als je deze pagina verlaat zullen alle wijzigingen verloren gaan."
45
  msgid "Plugin Settings"
46
  msgstr "Plugin instellingen"
47
 
48
+ #: includes/class-yit-plugin-panel.php:84
49
+ msgid "Settings"
50
+ msgstr "Instellingen"
51
+
52
  #: includes/class-yit-plugin-panel.php:450
53
  #: includes/class-yit-plugin-panel.php:453
54
  msgid "How to install premium version"
142
  msgstr "Plugins geactiveerd"
143
 
144
  #: includes/class-yit-pointers.php:81
 
145
  msgid ""
146
  "From now on, you can find all plugin options in YITH Plugins menu. Plugin "
147
  "customization settings will be available as a new entry in YITH Plugins menu."
148
  msgstr ""
 
 
 
149
 
150
  #. translators: 1. YITH site link; 2. WordPress site link.
151
  #: includes/class-yit-pointers.php:84 includes/class-yit-pointers.php:100
 
152
  msgid "Discover all our plugins available on: %1$s and %2$s"
153
+ msgstr ""
154
 
155
  #: includes/class-yit-pointers.php:96
156
  msgid "Plugins Upgraded"
157
  msgstr "Plugins Upgraded"
158
 
159
  #: includes/class-yit-pointers.php:97
 
160
  msgid ""
161
  "From now on, you can find the option panel of YITH plugins in YITH Plugins "
162
  "menu. Every time one of our plugins is added, a new entry will be added to "
164
  "WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) will be moved from "
165
  "previous location to YITH Plugins tab."
166
  msgstr ""
 
 
 
 
 
 
 
 
167
 
168
  #: includes/class-yith-dashboard.php:35
169
  msgid "YITH Latest Updates"
372
  msgid "Search Product"
373
  msgstr "Zoek Product"
374
 
375
+ #: templates/fields/ajax-terms.php:41
376
+ msgid "Search Categories"
377
+ msgstr "Zoek categorieën"
378
+
379
  #: templates/fields/customtabs.php:17
380
  msgid "Close all"
381
  msgstr "Sluit allen"
388
  msgid "Remove"
389
  msgstr "Verwijderen"
390
 
391
+ #: templates/fields/customtabs.php:34 templates/fields/customtabs.php:76
392
+ msgid "Name"
393
+ msgstr "Name"
394
+
395
  #: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
396
  msgid "Value"
397
  msgstr "Waarde"
491
 
492
  #: templates/sysinfo/system-information-panel.php:13
493
  #: templates/sysinfo/tabs/error-log.php:25
 
494
  msgid "Log Files"
495
+ msgstr ""
496
 
497
  #: templates/sysinfo/system-information-panel.php:22
498
  msgid "YITH System Information"
558
  msgstr ""
559
 
560
  #: templates/sysinfo/tabs/main.php:54
 
561
  msgid "Plugins Requirements"
562
+ msgstr ""
563
 
564
  #: yit-plugin.php:187
565
  msgid "License"
569
  msgid "YITH"
570
  msgstr "YITH"
571
 
 
 
 
 
 
 
 
 
 
 
 
572
  #: includes/class-yith-dashboard.php:96
573
  msgctxt "Plugin FW"
574
  msgid "View Changelog"
657
  msgstr "Waarden aan elkaar koppelen"
658
 
659
  #: templates/fields/onoff.php:28
660
+ msgctxt "YES/NO button: use MAX 4 characters!"
661
  msgid "YES"
662
+ msgstr ""
663
 
664
  #: templates/fields/onoff.php:29
665
+ msgctxt "YES/NO button: use MAX 4 characters!"
666
  msgid "NO"
667
+ msgstr ""
668
 
669
  #: yit-plugin.php:75
670
  msgctxt "Plugin Row Meta"
690
  msgctxt "Action links"
691
  msgid "Settings"
692
  msgstr "Instellingen"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin-fw/languages/yith-plugin-fw.pot CHANGED
@@ -1,14 +1,14 @@
1
- # Copyright (C) 2020
2
  # This file is distributed under the same license as the package.
3
  msgid ""
4
  msgstr ""
5
  "Project-Id-Version: \n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
- "POT-Creation-Date: 2020-12-28 12:30:11+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2020-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: YITH <info@yithemes.com>\n"
14
  "Language: en\n"
@@ -48,223 +48,6 @@ msgstr ""
48
  msgid "Color value"
49
  msgstr ""
50
 
51
- #: includes/class-yit-cpt-unlimited.php:486
52
- #: includes/class-yit-cpt-unlimited.php:619
53
- #: includes/class-yit-cpt-unlimited.php:768
54
- #: includes/class-yit-cpt-unlimited.php:1755
55
- #. translators: %s is the singular name of the post type.
56
- #. translators: $s is the singular name of the post type.
57
- #. translators: %s is the singular name of the post type.
58
- #. translators: %s is the plural name of the post type.
59
- msgid "Add %s"
60
- msgstr ""
61
-
62
- #: includes/class-yit-cpt-unlimited.php:488
63
- #: includes/class-yit-cpt-unlimited.php:621
64
- #. translators: %s is the singular name of the post type.
65
- #. translators: $s is the singular name of the post type.
66
- msgid "Add New %s"
67
- msgstr ""
68
-
69
- #: includes/class-yit-cpt-unlimited.php:490
70
- #: includes/class-yit-cpt-unlimited.php:623
71
- #: includes/class-yit-cpt-unlimited.php:1350
72
- #: includes/class-yit-cpt-unlimited.php:1401
73
- #. translators: %s is the singular name of the post type.
74
- #. translators: $s is the singular name of the post type.
75
- #. translators: %s is the post title.
76
- #. translators: %s is the singular name of the post type.
77
- msgid "Edit %s"
78
- msgstr ""
79
-
80
- #: includes/class-yit-cpt-unlimited.php:492
81
- #: includes/class-yit-cpt-unlimited.php:625
82
- #. translators: %s is the singular name of the post type.
83
- #. translators: $s is the singular name of the post type.
84
- msgid "New %s"
85
- msgstr ""
86
-
87
- #: includes/class-yit-cpt-unlimited.php:494
88
- #: includes/class-yit-cpt-unlimited.php:627
89
- #. translators: %s is the plural name of the post type.
90
- #. translators: $s is the plural name of the post type.
91
- msgid "All %s"
92
- msgstr ""
93
-
94
- #: includes/class-yit-cpt-unlimited.php:496
95
- #: includes/class-yit-cpt-unlimited.php:629
96
- #: includes/class-yit-cpt-unlimited.php:1323
97
- #: includes/class-yit-cpt-unlimited.php:1406
98
- #. translators: %s is the singular name of the post type.
99
- #. translators: $s is the singular name of the post type.
100
- #. translators: %s is the plural label of the post type.
101
- #. translators: %s is the plural name of the post type.
102
- msgid "View %s"
103
- msgstr ""
104
-
105
- #: includes/class-yit-cpt-unlimited.php:498
106
- #: includes/class-yit-cpt-unlimited.php:631
107
- #. translators: %s is the plural name of the post type.
108
- #. translators: $s is the plural name of the post type.
109
- msgid "Search %s"
110
- msgstr ""
111
-
112
- #: includes/class-yit-cpt-unlimited.php:500
113
- #: includes/class-yit-cpt-unlimited.php:633
114
- #. translators: %s is the plural name of the post type.
115
- #. translators: $s is the plural name of the post type.
116
- msgid "No %s found"
117
- msgstr ""
118
-
119
- #: includes/class-yit-cpt-unlimited.php:502
120
- #: includes/class-yit-cpt-unlimited.php:635
121
- #. translators: %s is the plural name of the post type.
122
- #. translators: $s is the plural name of the post type.
123
- msgid "No %s found in Trash"
124
- msgstr ""
125
-
126
- #: includes/class-yit-cpt-unlimited.php:678 templates/fields/ajax-terms.php:41
127
- msgid "Search Categories"
128
- msgstr ""
129
-
130
- #: includes/class-yit-cpt-unlimited.php:679
131
- msgid "All Categories"
132
- msgstr ""
133
-
134
- #: includes/class-yit-cpt-unlimited.php:680
135
- msgid "Parent Category"
136
- msgstr ""
137
-
138
- #: includes/class-yit-cpt-unlimited.php:681
139
- msgid "Parent Category:"
140
- msgstr ""
141
-
142
- #: includes/class-yit-cpt-unlimited.php:682
143
- msgid "Edit Category"
144
- msgstr ""
145
-
146
- #: includes/class-yit-cpt-unlimited.php:683
147
- msgid "Update Category"
148
- msgstr ""
149
-
150
- #: includes/class-yit-cpt-unlimited.php:684
151
- msgid "Add New Category"
152
- msgstr ""
153
-
154
- #: includes/class-yit-cpt-unlimited.php:685
155
- msgid "New Category Name"
156
- msgstr ""
157
-
158
- #: includes/class-yit-cpt-unlimited.php:686
159
- msgid "Category"
160
- msgstr ""
161
-
162
- #: includes/class-yit-cpt-unlimited.php:778
163
- msgid "Categories"
164
- msgstr ""
165
-
166
- #: includes/class-yit-cpt-unlimited.php:1098
167
- #. translators: %s is the singular name of the post type.
168
- msgid "%s Settings"
169
- msgstr ""
170
-
171
- #: includes/class-yit-cpt-unlimited.php:1106
172
- #: includes/class-yit-cpt-unlimited.php:1260
173
- #: includes/class-yit-cpt-unlimited.php:1266
174
- #: includes/class-yit-plugin-panel.php:84
175
- msgid "Settings"
176
- msgstr ""
177
-
178
- #: includes/class-yit-cpt-unlimited.php:1111
179
- msgid "Type"
180
- msgstr ""
181
-
182
- #: includes/class-yit-cpt-unlimited.php:1114
183
- #. translators: %s is the singular name of the post type.
184
- msgid "Layout for this %s"
185
- msgstr ""
186
-
187
- #: includes/class-yit-cpt-unlimited.php:1122
188
- msgid "Rewrite"
189
- msgstr ""
190
-
191
- #: includes/class-yit-cpt-unlimited.php:1123
192
- msgid ""
193
- "Univocal identification name in the URL for each product (slug from post if "
194
- "empty)"
195
- msgstr ""
196
-
197
- #: includes/class-yit-cpt-unlimited.php:1128
198
- msgid "Label in Singular"
199
- msgstr ""
200
-
201
- #: includes/class-yit-cpt-unlimited.php:1129
202
- msgid "Set a label in singular (title of portfolio if empty)"
203
- msgstr ""
204
-
205
- #: includes/class-yit-cpt-unlimited.php:1134
206
- msgid "Label in Plural"
207
- msgstr ""
208
-
209
- #: includes/class-yit-cpt-unlimited.php:1135
210
- msgid "Set a label in plural (title of portfolio if empty)"
211
- msgstr ""
212
-
213
- #: includes/class-yit-cpt-unlimited.php:1140
214
- msgid "Taxonomy"
215
- msgstr ""
216
-
217
- #: includes/class-yit-cpt-unlimited.php:1141
218
- msgid ""
219
- "If you want to use categories in the portfolio, set a name for taxonomy. "
220
- "Name should be a slug (must not contain capital letters nor spaces) and "
221
- "must not be more than 32 characters long (database structure restriction)."
222
- msgstr ""
223
-
224
- #: includes/class-yit-cpt-unlimited.php:1146
225
- msgid "Taxonomy Rewrite"
226
- msgstr ""
227
-
228
- #: includes/class-yit-cpt-unlimited.php:1147
229
- msgid "Set univocal name for each category page URL."
230
- msgstr ""
231
-
232
- #: includes/class-yit-cpt-unlimited.php:1152
233
- msgid "Single layout"
234
- msgstr ""
235
-
236
- #: includes/class-yit-cpt-unlimited.php:1153
237
- msgid "Layout for single page of this portfolio"
238
- msgstr ""
239
-
240
- #: includes/class-yit-cpt-unlimited.php:1196
241
- msgid "layout settings"
242
- msgstr ""
243
-
244
- #: includes/class-yit-cpt-unlimited.php:1286
245
- #: includes/class-yit-cpt-unlimited.php:1297
246
- msgid "Quick links"
247
- msgstr ""
248
-
249
- #: includes/class-yit-cpt-unlimited.php:1593
250
- #. translators: %s is the name of the post type.
251
- msgid "Show frontend of the %s"
252
- msgstr ""
253
-
254
- #: includes/class-yit-cpt-unlimited.php:1602 templates/fields/customtabs.php:34
255
- #: templates/fields/customtabs.php:76
256
- msgid "Name"
257
- msgstr ""
258
-
259
- #: includes/class-yit-cpt-unlimited.php:1749
260
- #. translators: %s is the plural name of the post type.
261
- msgid "Add %s from images"
262
- msgstr ""
263
-
264
- #: includes/class-yit-cpt-unlimited.php:1769
265
- msgid "Upload multiple files"
266
- msgstr ""
267
-
268
  #: includes/class-yit-plugin-panel-woocommerce.php:419
269
  msgid "The changes you have made will be lost if you leave this page."
270
  msgstr ""
@@ -273,6 +56,10 @@ msgstr ""
273
  msgid "Plugin Settings"
274
  msgstr ""
275
 
 
 
 
 
276
  #: includes/class-yit-plugin-panel.php:450
277
  #: includes/class-yit-plugin-panel.php:453
278
  msgid "How to install premium version"
@@ -580,6 +367,10 @@ msgstr ""
580
  msgid "Search Product"
581
  msgstr ""
582
 
 
 
 
 
583
  #: templates/fields/customtabs.php:17
584
  msgid "Close all"
585
  msgstr ""
@@ -592,6 +383,10 @@ msgstr ""
592
  msgid "Remove"
593
  msgstr ""
594
 
 
 
 
 
595
  #: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
596
  msgid "Value"
597
  msgstr ""
@@ -769,17 +564,6 @@ msgstr ""
769
  msgid "YITH"
770
  msgstr ""
771
 
772
- #: includes/class-yit-cpt-unlimited.php:676
773
- #. translators: %s is the singular name of the post type.
774
- msgctxt "taxonomy general name"
775
- msgid "%s Categories"
776
- msgstr ""
777
-
778
- #: includes/class-yit-cpt-unlimited.php:677
779
- msgctxt "taxonomy singular name"
780
- msgid "Category"
781
- msgstr ""
782
-
783
  #: includes/class-yith-dashboard.php:96
784
  msgctxt "Plugin FW"
785
  msgid "View Changelog"
@@ -862,12 +646,12 @@ msgid "Link values together"
862
  msgstr ""
863
 
864
  #: templates/fields/onoff.php:28
865
- msgctxt "YES/NO button: use MAX 3 characters!"
866
  msgid "YES"
867
  msgstr ""
868
 
869
  #: templates/fields/onoff.php:29
870
- msgctxt "YES/NO button: use MAX 3 characters!"
871
  msgid "NO"
872
  msgstr ""
873
 
1
+ # Copyright (C) 2021
2
  # This file is distributed under the same license as the package.
3
  msgid ""
4
  msgstr ""
5
  "Project-Id-Version: \n"
6
  "Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
7
+ "POT-Creation-Date: 2021-02-03 16:08:01+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2021-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: YITH <info@yithemes.com>\n"
14
  "Language: en\n"
48
  msgid "Color value"
49
  msgstr ""
50
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
  #: includes/class-yit-plugin-panel-woocommerce.php:419
52
  msgid "The changes you have made will be lost if you leave this page."
53
  msgstr ""
56
  msgid "Plugin Settings"
57
  msgstr ""
58
 
59
+ #: includes/class-yit-plugin-panel.php:84
60
+ msgid "Settings"
61
+ msgstr ""
62
+
63
  #: includes/class-yit-plugin-panel.php:450
64
  #: includes/class-yit-plugin-panel.php:453
65
  msgid "How to install premium version"
367
  msgid "Search Product"
368
  msgstr ""
369
 
370
+ #: templates/fields/ajax-terms.php:41
371
+ msgid "Search Categories"
372
+ msgstr ""
373
+
374
  #: templates/fields/customtabs.php:17
375
  msgid "Close all"
376
  msgstr ""
383
  msgid "Remove"
384
  msgstr ""
385
 
386
+ #: templates/fields/customtabs.php:34 templates/fields/customtabs.php:76
387
+ msgid "Name"
388
+ msgstr ""
389
+
390
  #: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
391
  msgid "Value"
392
  msgstr ""
564
  msgid "YITH"
565
  msgstr ""
566
 
 
 
 
 
 
 
 
 
 
 
 
567
  #: includes/class-yith-dashboard.php:96
568
  msgctxt "Plugin FW"
569
  msgid "View Changelog"
646
  msgstr ""
647
 
648
  #: templates/fields/onoff.php:28
649
+ msgctxt "YES/NO button: use MAX 4 characters!"
650
  msgid "YES"
651
  msgstr ""
652
 
653
  #: templates/fields/onoff.php:29
654
+ msgctxt "YES/NO button: use MAX 4 characters!"
655
  msgid "NO"
656
  msgstr ""
657
 
plugin-fw/templates/fields/onoff.php CHANGED
@@ -25,8 +25,8 @@ list ( $field_id, $class, $name, $std, $value, $custom_attributes, $data, $desc_
25
  <?php echo $custom_attributes; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
26
  />
27
  <span class="yith-plugin-fw-onoff"
28
- data-text-on="<?php echo esc_attr_x( 'YES', 'YES/NO button: use MAX 3 characters!', 'yith-plugin-fw' ); ?>"
29
- data-text-off="<?php echo esc_attr_x( 'NO', 'YES/NO button: use MAX 3 characters!', 'yith-plugin-fw' ); ?>"></span>
30
  </div>
31
 
32
  <?php if ( isset( $desc_inline ) ) : ?>
25
  <?php echo $custom_attributes; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
26
  />
27
  <span class="yith-plugin-fw-onoff"
28
+ data-text-on="<?php echo esc_attr_x( 'YES', 'YES/NO button: use MAX 4 characters!', 'yith-plugin-fw' ); ?>"
29
+ data-text-off="<?php echo esc_attr_x( 'NO', 'YES/NO button: use MAX 4 characters!', 'yith-plugin-fw' ); ?>"></span>
30
  </div>
31
 
32
  <?php if ( isset( $desc_inline ) ) : ?>
plugin-fw/templates/fields/radio.php CHANGED
@@ -32,7 +32,12 @@ $class = 'yith-plugin-fw-radio ' . $class;
32
  value="<?php echo esc_attr( $key ); ?>"
33
  <?php checked( $key, $value ); ?>
34
  />
35
- <label for="<?php echo esc_attr( $radio_id ); ?>"><?php echo wp_kses_post( $label ); ?></label>
 
 
 
 
 
36
  </div>
37
  <?php endforeach; ?>
38
  </div>
32
  value="<?php echo esc_attr( $key ); ?>"
33
  <?php checked( $key, $value ); ?>
34
  />
35
+ <label for="<?php echo esc_attr( $radio_id ); ?>">
36
+ <?php
37
+ // HTML allowed!
38
+ echo $label; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
39
+ ?>
40
+ </label>
41
  </div>
42
  <?php endforeach; ?>
43
  </div>
plugin-fw/templates/fields/select.php CHANGED
@@ -51,7 +51,7 @@ if ( $multiple && ! is_array( $value ) ) {
51
  <option value="<?php echo esc_attr( $key ); ?>"
52
  <?php
53
  if ( $multiple ) {
54
- selected( true, in_array( $key, $value, true ) );
55
  } else {
56
  selected( $key, $value );
57
  }
51
  <option value="<?php echo esc_attr( $key ); ?>"
52
  <?php
53
  if ( $multiple ) {
54
+ selected( true, in_array( $key, $value ) ); // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
55
  } else {
56
  selected( $key, $value );
57
  }