Version Description
- Released on 3 Feb 2021 =
- New: support for WooCommerce 5.0
- Update: YITH plugin framework
Download this release
Release Info
Developer | yithemes |
Plugin | YITH WooCommerce Ajax Search |
Version | 1.8.7 |
Comparing to | |
See all releases |
Code changes from version 1.8.6 to 1.8.7
- README.txt +5 -1
- init.php +3 -3
- languages/yith-woocommerce-ajax-search.pot +2 -2
- plugin-fw/assets/js/yith-fields.js +11 -3
- plugin-fw/assets/js/yith-fields.min.js +1 -1
- plugin-fw/includes/class-yit-ajax.php +27 -24
- plugin-fw/includes/class-yit-cpt-unlimited.php +11 -1862
- plugin-fw/includes/class-yit-metabox.php +2 -2
- plugin-fw/init.php +2 -2
- plugin-fw/languages/yith-plugin-fw-el.mo +0 -0
- plugin-fw/languages/yith-plugin-fw-el.po +147 -235
- plugin-fw/languages/yith-plugin-fw-es_ES.mo +0 -0
- plugin-fw/languages/yith-plugin-fw-es_ES.po +154 -242
- plugin-fw/languages/yith-plugin-fw-it_IT.mo +0 -0
- plugin-fw/languages/yith-plugin-fw-it_IT.po +147 -235
- plugin-fw/languages/yith-plugin-fw-nl_NL.mo +0 -0
- plugin-fw/languages/yith-plugin-fw-nl_NL.po +146 -235
- plugin-fw/languages/yith-plugin-fw.pot +15 -231
- plugin-fw/templates/fields/radio.php +6 -1
- plugin-fw/templates/fields/select.php +1 -1
- plugin-fw/yit-woocommerce-compatibility.php +7 -4
README.txt
CHANGED
@@ -4,7 +4,7 @@ Contributors: yithemes
|
|
4 |
Tags: woocommerce search by sku, woocommerce search results, woocommerce search shortcode, woocommerce search page, woocommerce search form, woocommerce search filter, woocommerce search products, woocommerce search content, woocommerce search autocomplete, woocommerce advanced search, woocommerce search category, woocommerce search product attributes, woocommerce search by tag, woocommerce search by brand, woocommerce predictive, woocommerce live search, woocommerce single product search, woocommerce site search, woocommerce search tex, tajax, search, woocommerce, products, themes, yit, e-commerce, shop, yith, ajax search, instant search, premium, yithemes, autocomplete, autosuggest, better search, category search, custom search, highlight terms, Live Search, Predictive Search, product search, relevant search, search highlight, search product, suggest, typeahead, WooCommerce Plugin, woocommerce product search, woocommerce search, wordpress ecommerce
|
5 |
Requires at least: 5.3.0
|
6 |
Tested up to: 5.6
|
7 |
-
Stable tag: 1.8.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -138,6 +138,10 @@ If you have created your own language pack for YITH WooCommerce Ajax Search, or
|
|
138 |
2. YITH WooCommerce Ajax Search in operation displaying WooCommerce search results
|
139 |
|
140 |
== Changelog ==
|
|
|
|
|
|
|
|
|
141 |
= 1.8.6 - Released on 7 Gen 2021 =
|
142 |
* Update: Plugin framework
|
143 |
* Fix: Issue with Plugin framework
|
4 |
Tags: woocommerce search by sku, woocommerce search results, woocommerce search shortcode, woocommerce search page, woocommerce search form, woocommerce search filter, woocommerce search products, woocommerce search content, woocommerce search autocomplete, woocommerce advanced search, woocommerce search category, woocommerce search product attributes, woocommerce search by tag, woocommerce search by brand, woocommerce predictive, woocommerce live search, woocommerce single product search, woocommerce site search, woocommerce search tex, tajax, search, woocommerce, products, themes, yit, e-commerce, shop, yith, ajax search, instant search, premium, yithemes, autocomplete, autosuggest, better search, category search, custom search, highlight terms, Live Search, Predictive Search, product search, relevant search, search highlight, search product, suggest, typeahead, WooCommerce Plugin, woocommerce product search, woocommerce search, wordpress ecommerce
|
5 |
Requires at least: 5.3.0
|
6 |
Tested up to: 5.6
|
7 |
+
Stable tag: 1.8.7
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
138 |
2. YITH WooCommerce Ajax Search in operation displaying WooCommerce search results
|
139 |
|
140 |
== Changelog ==
|
141 |
+
= 1.8.7 - Released on 3 Feb 2021 =
|
142 |
+
* New: support for WooCommerce 5.0
|
143 |
+
* Update: YITH plugin framework
|
144 |
+
|
145 |
= 1.8.6 - Released on 7 Gen 2021 =
|
146 |
* Update: Plugin framework
|
147 |
* Fix: Issue with Plugin framework
|
init.php
CHANGED
@@ -3,13 +3,13 @@
|
|
3 |
* Plugin Name: YITH WooCommerce Ajax Search
|
4 |
* Plugin URI: https://yithemes.com/themes/plugins/yith-woocommerce-ajax-search/
|
5 |
* Description: <code><strong>YITH WooCommerce Ajax Search</strong></code> is the plugin that allows you to search for a specific product by inserting a few characters. Thanks to <strong>Ajax Search</strong>, users can quickly find the contents they are interested in without wasting time among site pages. <a href="https://yithemes.com/" target="_blank">Get more plugins for your e-commerce shop on <strong>YITH</strong></a>.
|
6 |
-
* Version: 1.8.
|
7 |
* Author: YITH
|
8 |
* Author URI: https://yithemes.com/
|
9 |
* Text Domain: yith-woocommerce-ajax-search
|
10 |
* Domain Path: /languages/
|
11 |
* WC requires at least: 4.2.0
|
12 |
-
* WC tested up to:
|
13 |
*/
|
14 |
|
15 |
/*
|
@@ -71,7 +71,7 @@ register_activation_hook( __FILE__, 'yith_plugin_registration_hook' );
|
|
71 |
if ( defined( 'YITH_WCAS_VERSION' ) ) {
|
72 |
return;
|
73 |
} else {
|
74 |
-
define( 'YITH_WCAS_VERSION', '1.8.
|
75 |
}
|
76 |
|
77 |
if ( ! defined( 'YITH_WCAS_FREE_INIT' ) ) {
|
3 |
* Plugin Name: YITH WooCommerce Ajax Search
|
4 |
* Plugin URI: https://yithemes.com/themes/plugins/yith-woocommerce-ajax-search/
|
5 |
* Description: <code><strong>YITH WooCommerce Ajax Search</strong></code> is the plugin that allows you to search for a specific product by inserting a few characters. Thanks to <strong>Ajax Search</strong>, users can quickly find the contents they are interested in without wasting time among site pages. <a href="https://yithemes.com/" target="_blank">Get more plugins for your e-commerce shop on <strong>YITH</strong></a>.
|
6 |
+
* Version: 1.8.7
|
7 |
* Author: YITH
|
8 |
* Author URI: https://yithemes.com/
|
9 |
* Text Domain: yith-woocommerce-ajax-search
|
10 |
* Domain Path: /languages/
|
11 |
* WC requires at least: 4.2.0
|
12 |
+
* WC tested up to: 5.0
|
13 |
*/
|
14 |
|
15 |
/*
|
71 |
if ( defined( 'YITH_WCAS_VERSION' ) ) {
|
72 |
return;
|
73 |
} else {
|
74 |
+
define( 'YITH_WCAS_VERSION', '1.8.7' );
|
75 |
}
|
76 |
|
77 |
if ( ! defined( 'YITH_WCAS_FREE_INIT' ) ) {
|
languages/yith-woocommerce-ajax-search.pot
CHANGED
@@ -2,10 +2,10 @@
|
|
2 |
# This file is distributed under the same license as the YITH WooCommerce Ajax Search package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: YITH WooCommerce Ajax Search 1.8.
|
6 |
"Report-Msgid-Bugs-To: "
|
7 |
"https://wordpress.org/support/plugin/yith-woocommerce-ajax-search\n"
|
8 |
-
"POT-Creation-Date: 2021-
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=utf-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
2 |
# This file is distributed under the same license as the YITH WooCommerce Ajax Search package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: YITH WooCommerce Ajax Search 1.8.7\n"
|
6 |
"Report-Msgid-Bugs-To: "
|
7 |
"https://wordpress.org/support/plugin/yith-woocommerce-ajax-search\n"
|
8 |
+
"POT-Creation-Date: 2021-02-03 11:28:47+00:00\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=utf-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
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 |
|
@@ -601,9 +602,16 @@
|
|
601 |
spinner = add_box.find( '.spinner' ),
|
602 |
toggle_element = $( this ).parents( '.toggle-element' ),
|
603 |
fields = add_box.find( ':input' ),
|
604 |
-
counter =
|
605 |
hidden_obj = $( '<input type="hidden">' );
|
606 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
607 |
hidden_obj.val( counter );
|
608 |
|
609 |
$( document ).trigger( 'yith-toggle-change-counter', [hidden_obj, add_box] );
|
@@ -801,4 +809,4 @@
|
|
801 |
};
|
802 |
fw_dimensions.init();
|
803 |
|
804 |
-
} )( jQuery );
|
203 |
} );
|
204 |
|
205 |
$image_gallery_ids.val( attachment_ids );
|
206 |
+
$image_gallery_ids.trigger( 'change' );
|
207 |
+
} );
|
208 |
|
209 |
image_gallery_frame.open();
|
210 |
|
602 |
spinner = add_box.find( '.spinner' ),
|
603 |
toggle_element = $( this ).parents( '.toggle-element' ),
|
604 |
fields = add_box.find( ':input' ),
|
605 |
+
counter = 0,
|
606 |
hidden_obj = $( '<input type="hidden">' );
|
607 |
|
608 |
+
toggle_element.find( '.yith-toggle-row' ).each( function() {
|
609 |
+
var key = parseInt( $( this ).data( 'item_key' ) );
|
610 |
+
if( counter <= key ) {
|
611 |
+
counter = key + 1;
|
612 |
+
}
|
613 |
+
});
|
614 |
+
|
615 |
hidden_obj.val( counter );
|
616 |
|
617 |
$( document ).trigger( 'yith-toggle-change-counter', [hidden_obj, add_box] );
|
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@?^=%&:/~+#-_.]*.(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=l.find(".yith-toggle-row").length,r=e('<input type="hidden">');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@?^=%&:/~+#-_.]*.(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-ajax.php
CHANGED
@@ -57,8 +57,8 @@ if ( ! class_exists( 'YIT_Ajax' ) ) {
|
|
57 |
public function json_search_posts( $request = array() ) {
|
58 |
ob_start();
|
59 |
|
60 |
-
//
|
61 |
-
|
62 |
|
63 |
if ( empty( $request ) ) {
|
64 |
check_ajax_referer( 'search-posts', 'security' );
|
@@ -70,7 +70,7 @@ if ( ! class_exists( 'YIT_Ajax' ) ) {
|
|
70 |
}
|
71 |
|
72 |
$found_posts = array();
|
73 |
-
$args
|
74 |
'post_type' => 'post',
|
75 |
'post_status' => 'publish',
|
76 |
'numberposts' => 20,
|
@@ -91,9 +91,9 @@ if ( ! class_exists( 'YIT_Ajax' ) ) {
|
|
91 |
$args['post_parent'] = intval( $_REQUEST['post_parent'] );
|
92 |
}
|
93 |
|
94 |
-
//
|
95 |
-
$args
|
96 |
-
$show_id
|
97 |
|
98 |
$args['s'] = $term;
|
99 |
$args['fields'] = 'ids';
|
@@ -125,12 +125,12 @@ if ( ! class_exists( 'YIT_Ajax' ) ) {
|
|
125 |
die();
|
126 |
}
|
127 |
|
128 |
-
$request
|
129 |
-
$request_include
|
130 |
|
131 |
if ( ! empty( $_REQUEST['product_type'] ) ) {
|
132 |
-
$product_type
|
133 |
-
$product_type_term
|
134 |
|
135 |
if ( $product_type_term ) {
|
136 |
$posts_in = array_unique( (array) get_objects_in_term( $product_type_term->term_id, 'product_type' ) );
|
@@ -200,20 +200,23 @@ if ( ! class_exists( 'YIT_Ajax' ) ) {
|
|
200 |
die();
|
201 |
}
|
202 |
|
203 |
-
$args = apply_filters(
|
204 |
-
'
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
|
|
|
|
|
|
217 |
|
218 |
foreach ( $args as $key => $default_value ) {
|
219 |
if ( ! empty( $_REQUEST[ $key ] ) ) {
|
57 |
public function json_search_posts( $request = array() ) {
|
58 |
ob_start();
|
59 |
|
60 |
+
// Make sure request is an array.
|
61 |
+
$request = is_array( $request ) ? $request : array();
|
62 |
|
63 |
if ( empty( $request ) ) {
|
64 |
check_ajax_referer( 'search-posts', 'security' );
|
70 |
}
|
71 |
|
72 |
$found_posts = array();
|
73 |
+
$args = array(
|
74 |
'post_type' => 'post',
|
75 |
'post_status' => 'publish',
|
76 |
'numberposts' => 20,
|
91 |
$args['post_parent'] = intval( $_REQUEST['post_parent'] );
|
92 |
}
|
93 |
|
94 |
+
// Merge with passed request data.
|
95 |
+
$args = array_merge( $args, $request );
|
96 |
+
$show_id = ! empty( $_REQUEST['show_id'] );
|
97 |
|
98 |
$args['s'] = $term;
|
99 |
$args['fields'] = 'ids';
|
125 |
die();
|
126 |
}
|
127 |
|
128 |
+
$request = array( 'post_type' => 'product' );
|
129 |
+
$request_include = isset( $_REQUEST['include'] ) && ! is_array( $_REQUEST['include'] ) ? explode( ',', sanitize_text_field( wp_unslash( $_REQUEST['include'] ) ) ) : array();
|
130 |
|
131 |
if ( ! empty( $_REQUEST['product_type'] ) ) {
|
132 |
+
$product_type = sanitize_text_field( wp_unslash( $_REQUEST['product_type'] ) );
|
133 |
+
$product_type_term = get_term_by( 'slug', $product_type, 'product_type' );
|
134 |
|
135 |
if ( $product_type_term ) {
|
136 |
$posts_in = array_unique( (array) get_objects_in_term( $product_type_term->term_id, 'product_type' ) );
|
200 |
die();
|
201 |
}
|
202 |
|
203 |
+
$args = apply_filters(
|
204 |
+
'yith_plugin_fw_json_search_terms_default_args',
|
205 |
+
array(
|
206 |
+
'taxonomy' => 'category',
|
207 |
+
'hide_empty' => false,
|
208 |
+
'order' => 'ASC',
|
209 |
+
'orderby' => 'name',
|
210 |
+
'include' => '',
|
211 |
+
'exclude' => '',
|
212 |
+
'exclude_tree' => '',
|
213 |
+
'number' => '',
|
214 |
+
'hierarchical' => true,
|
215 |
+
'child_of' => 0,
|
216 |
+
'parent' => '',
|
217 |
+
'term_field' => 'id',
|
218 |
+
)
|
219 |
+
);
|
220 |
|
221 |
foreach ( $args as $key => $default_value ) {
|
222 |
if ( ! empty( $_REQUEST[ $key ] ) ) {
|
plugin-fw/includes/class-yit-cpt-unlimited.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* YITH Custom-Post-Type Unlimited Class.
|
4 |
-
*
|
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 |
-
*
|
1072 |
-
* Add the metabox for the portfolio settings
|
1073 |
*
|
1074 |
-
* @
|
1075 |
-
* @
|
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
|
1697 |
-
|
1698 |
}
|
1699 |
|
1700 |
-
// ### ASSETS ###
|
1701 |
-
|
1702 |
/**
|
1703 |
-
*
|
1704 |
*
|
1705 |
-
* @
|
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
|
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
|
1901 |
-
|
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/includes/class-yit-metabox.php
CHANGED
@@ -317,7 +317,7 @@ if ( ! class_exists( 'YIT_Metabox' ) ) {
|
|
317 |
return $post_id;
|
318 |
}
|
319 |
|
320 |
-
$allow_ajax = isset( $_REQUEST['yith_metabox_allow_ajax_saving'] ) &&
|
321 |
if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX && ! $allow_ajax ) ) {
|
322 |
return $post_id;
|
323 |
}
|
@@ -382,7 +382,7 @@ if ( ! class_exists( 'YIT_Metabox' ) ) {
|
|
382 |
// phpcs:disable WordPress.Security.NonceVerification.Recommended
|
383 |
$this->reorder_tabs();
|
384 |
$tabs_to_sanitize = $this->tabs;
|
385 |
-
$allow_ajax = isset( $_REQUEST['yith_metabox_allow_ajax_saving'] ) &&
|
386 |
$ajax_partial_saving_tab = isset( $_REQUEST['yith_metabox_allow_ajax_partial_saving_tab'] ) ? sanitize_key( wp_unslash( $_REQUEST['yith_metabox_allow_ajax_partial_saving_tab'] ) ) : false;
|
387 |
|
388 |
if ( defined( 'DOING_AJAX' ) && DOING_AJAX && ! $allow_ajax ) {
|
317 |
return $post_id;
|
318 |
}
|
319 |
|
320 |
+
$allow_ajax = isset( $_REQUEST['yith_metabox_allow_ajax_saving'] ) && sanitize_key( wp_unslash( $_REQUEST['yith_metabox_allow_ajax_saving'] ) ) === $this->id;
|
321 |
if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX && ! $allow_ajax ) ) {
|
322 |
return $post_id;
|
323 |
}
|
382 |
// phpcs:disable WordPress.Security.NonceVerification.Recommended
|
383 |
$this->reorder_tabs();
|
384 |
$tabs_to_sanitize = $this->tabs;
|
385 |
+
$allow_ajax = isset( $_REQUEST['yith_metabox_allow_ajax_saving'] ) && sanitize_key( wp_unslash( $_REQUEST['yith_metabox_allow_ajax_saving'] ) ) === $this->id;
|
386 |
$ajax_partial_saving_tab = isset( $_REQUEST['yith_metabox_allow_ajax_partial_saving_tab'] ) ? sanitize_key( wp_unslash( $_REQUEST['yith_metabox_allow_ajax_partial_saving_tab'] ) ) : false;
|
387 |
|
388 |
if ( defined( 'DOING_AJAX' ) && DOING_AJAX && ! $allow_ajax ) {
|
plugin-fw/init.php
CHANGED
@@ -1,13 +1,13 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Framework Name: YIT Plugin Framework
|
4 |
-
* Version: 3.5.
|
5 |
* Author: YITH
|
6 |
* Text Domain: yith-plugin-fw
|
7 |
* Domain Path: /languages/
|
8 |
*
|
9 |
* @author YITH
|
10 |
-
* @version 3.5.
|
11 |
* @package YITH\PluginFramework
|
12 |
*/
|
13 |
|
1 |
<?php
|
2 |
/**
|
3 |
* Framework Name: YIT Plugin Framework
|
4 |
+
* Version: 3.5.3
|
5 |
* Author: YITH
|
6 |
* Text Domain: yith-plugin-fw
|
7 |
* Domain Path: /languages/
|
8 |
*
|
9 |
* @author YITH
|
10 |
+
* @version 3.5.3
|
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:
|
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"
|
@@ -612,6 +393,10 @@ msgstr "Αναζήτηση Άρθρου"
|
|
612 |
msgid "Search Product"
|
613 |
msgstr "Αναζήτηση Προϊόντος"
|
614 |
|
|
|
|
|
|
|
|
|
615 |
#: templates/fields/customtabs.php:17
|
616 |
msgid "Close all"
|
617 |
msgstr "Απενεργοποίηση όλων"
|
@@ -624,6 +409,10 @@ msgstr "Ανάπτυξη όλων"
|
|
624 |
msgid "Remove"
|
625 |
msgstr "Αφαίρεση"
|
626 |
|
|
|
|
|
|
|
|
|
627 |
#: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
|
628 |
msgid "Value"
|
629 |
msgstr "Τιμή"
|
@@ -803,17 +592,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"
|
@@ -938,6 +716,14 @@ msgctxt "Action links"
|
|
938 |
msgid "Settings"
|
939 |
msgstr "Ρυθμίσεις"
|
940 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
941 |
#~ msgid "Show full PHPInfo"
|
942 |
#~ msgstr "Πλήρης εμφάνιση PHPInfo"
|
943 |
|
@@ -958,3 +744,129 @@ 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-01 10:40:28+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"
|
393 |
msgid "Search Product"
|
394 |
msgstr "Αναζήτηση Προϊόντος"
|
395 |
|
396 |
+
#: templates/fields/ajax-terms.php:41
|
397 |
+
msgid "Search Categories"
|
398 |
+
msgstr "Αναζήτηση Κατηγοριών"
|
399 |
+
|
400 |
#: templates/fields/customtabs.php:17
|
401 |
msgid "Close all"
|
402 |
msgstr "Απενεργοποίηση όλων"
|
409 |
msgid "Remove"
|
410 |
msgstr "Αφαίρεση"
|
411 |
|
412 |
+
#: templates/fields/customtabs.php:34 templates/fields/customtabs.php:76
|
413 |
+
msgid "Name"
|
414 |
+
msgstr "Όνομα"
|
415 |
+
|
416 |
#: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
|
417 |
msgid "Value"
|
418 |
msgstr "Τιμή"
|
592 |
msgid "YITH"
|
593 |
msgstr "YITH"
|
594 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
595 |
#: includes/class-yith-dashboard.php:96
|
596 |
msgctxt "Plugin FW"
|
597 |
msgid "View Changelog"
|
716 |
msgid "Settings"
|
717 |
msgstr "Ρυθμίσεις"
|
718 |
|
719 |
+
#~ msgctxt "taxonomy singular name"
|
720 |
+
#~ msgid "Category"
|
721 |
+
#~ msgstr "Κατηγορία"
|
722 |
+
|
723 |
+
#~ msgctxt "taxonomy general name"
|
724 |
+
#~ msgid "%s Categories"
|
725 |
+
#~ msgstr "Κατηγορίες %s"
|
726 |
+
|
727 |
#~ msgid "Show full PHPInfo"
|
728 |
#~ msgstr "Πλήρης εμφάνιση PHPInfo"
|
729 |
|
744 |
|
745 |
#~ msgid "and"
|
746 |
#~ msgstr "και"
|
747 |
+
|
748 |
+
#~ msgid "Upload multiple files"
|
749 |
+
#~ msgstr "Ανέβασμα πολλαπλών αρχείων"
|
750 |
+
|
751 |
+
#~ msgid "Add %s from images"
|
752 |
+
#~ msgstr "Προσθήκη %s από εικόνες"
|
753 |
+
|
754 |
+
#~ msgid "Show frontend of the %s"
|
755 |
+
#~ msgstr "Προβολή εμφάνισης του %s"
|
756 |
+
|
757 |
+
#~ msgid "Quick links"
|
758 |
+
#~ msgstr "Γρήγορα λινκ"
|
759 |
+
|
760 |
+
#~ msgid "layout settings"
|
761 |
+
#~ msgstr "ρυθμίσεις διάταξης"
|
762 |
+
|
763 |
+
#~ msgid "Layout for single page of this portfolio"
|
764 |
+
#~ msgstr "Διάταξη μονής σελίδας του πορτφόλιο"
|
765 |
+
|
766 |
+
#~ msgid "Single layout"
|
767 |
+
#~ msgstr "Μονή διάταξη"
|
768 |
+
|
769 |
+
#~ msgid "Set univocal name for each category page URL."
|
770 |
+
#~ msgstr "Ορίστε μονοσήμαντο όνομα για κάθε URL σελίδας κατηγορίας."
|
771 |
+
|
772 |
+
#~ msgid "Taxonomy Rewrite"
|
773 |
+
#~ msgstr "Επανεγγραφή Ταξινομίας"
|
774 |
+
|
775 |
+
#~ msgid ""
|
776 |
+
#~ "If you want to use categories in the portfolio, set a name for taxonomy. "
|
777 |
+
#~ "Name should be a slug (must not contain capital letters nor spaces) and "
|
778 |
+
#~ "must not be more than 32 characters long (database structure restriction)."
|
779 |
+
#~ msgstr ""
|
780 |
+
#~ "Αν θέλετε να χρησιμοποιήσετε κατηγορίες στο πορτφόλιο, ορίστε ένα όνομα "
|
781 |
+
#~ "για την ταξινομία. Το όνομα πρέπει να είναι slug (δεν πρέπει να "
|
782 |
+
#~ "περιλαμβάνει κεφαλαία γράμματα ή κενά) και δεν πρέπει να είναι μεγαλύτερο "
|
783 |
+
#~ "από 32 χαρακτήρες (περιορισμός δομής βάσης δεδομένων)."
|
784 |
+
|
785 |
+
#~ msgid "Taxonomy"
|
786 |
+
#~ msgstr "Ταξινομία"
|
787 |
+
|
788 |
+
#~ msgid "Set a label in plural (title of portfolio if empty)"
|
789 |
+
#~ msgstr ""
|
790 |
+
#~ "Ορίστε μια επιγραφή στον πληθυντικό (τίτλος πορτφόλιο αν είναι κενό)"
|
791 |
+
|
792 |
+
#~ msgid "Label in Plural"
|
793 |
+
#~ msgstr "Επιγραφή σε Πληθυντικό"
|
794 |
+
|
795 |
+
#~ msgid "Set a label in singular (title of portfolio if empty)"
|
796 |
+
#~ msgstr "Ορίστε μια επιγραφή στον ενικό (τίτλος πορτφόλιο αν είναι κενό)"
|
797 |
+
|
798 |
+
#~ msgid "Label in Singular"
|
799 |
+
#~ msgstr "Επιγραφή σε Ενικό"
|
800 |
+
|
801 |
+
#~ msgid ""
|
802 |
+
#~ "Univocal identification name in the URL for each product (slug from post "
|
803 |
+
#~ "if empty)"
|
804 |
+
#~ msgstr ""
|
805 |
+
#~ "Μονοσήμαντο όνομα ταυτοποίησης URL για κάθε προϊόν (slug από άρθρο αν "
|
806 |
+
#~ "είναι κενό)"
|
807 |
+
|
808 |
+
#~ msgid "Rewrite"
|
809 |
+
#~ msgstr "Επανεγγραφή"
|
810 |
+
|
811 |
+
#~ msgid "Layout for this %s"
|
812 |
+
#~ msgstr "Διάταξη για %s"
|
813 |
+
|
814 |
+
#~ msgid "Type"
|
815 |
+
#~ msgstr "Τύπος"
|
816 |
+
|
817 |
+
#~ msgid "%s Settings"
|
818 |
+
#~ msgstr "Ρυθμίσεις %s"
|
819 |
+
|
820 |
+
#~ msgid "Categories"
|
821 |
+
#~ msgstr "Κατηγορίες"
|
822 |
+
|
823 |
+
#~ msgid "Category"
|
824 |
+
#~ msgstr "Κατηγορία"
|
825 |
+
|
826 |
+
#~ msgid "New Category Name"
|
827 |
+
#~ msgstr "Όνομα Νέας Κατηγορίας"
|
828 |
+
|
829 |
+
#~ msgid "Add New Category"
|
830 |
+
#~ msgstr "Προσθήκη Νέας Κατηγορίας"
|
831 |
+
|
832 |
+
#~ msgid "Update Category"
|
833 |
+
#~ msgstr "Ενημέρωση Κατηγορίας"
|
834 |
+
|
835 |
+
#~ msgid "Edit Category"
|
836 |
+
#~ msgstr "Επεξεργασία Kατηγορίας"
|
837 |
+
|
838 |
+
#~ msgid "Parent Category:"
|
839 |
+
#~ msgstr "Γονική Κατηγορία:"
|
840 |
+
|
841 |
+
#~ msgid "Parent Category"
|
842 |
+
#~ msgstr "Γονική Κατηγορία"
|
843 |
+
|
844 |
+
#~ msgid "All Categories"
|
845 |
+
#~ msgstr "Όλες οι Κατηγορίες"
|
846 |
+
|
847 |
+
#~ msgid "No %s found in Trash"
|
848 |
+
#~ msgstr "Δεν βρέθηκε %s στον Κάδο Ανακύκλωσης"
|
849 |
+
|
850 |
+
#~ msgid "No %s found"
|
851 |
+
#~ msgstr "Δεν βρέθηκε %s"
|
852 |
+
|
853 |
+
#~ msgid "Search %s"
|
854 |
+
#~ msgstr "Αναζήτηση %s"
|
855 |
+
|
856 |
+
#~ msgid "View %s"
|
857 |
+
#~ msgstr "Προβολή %s"
|
858 |
+
|
859 |
+
#~ msgid "All %s"
|
860 |
+
#~ msgstr "Όλα %s"
|
861 |
+
|
862 |
+
#~ msgid "New %s"
|
863 |
+
#~ msgstr "Νέο %s"
|
864 |
+
|
865 |
+
#~ msgid "Edit %s"
|
866 |
+
#~ msgstr "Επεξεργασία %s"
|
867 |
+
|
868 |
+
#~ msgid "Add New %s"
|
869 |
+
#~ msgstr "Προσθήκη Νέου %s"
|
870 |
+
|
871 |
+
#~ msgid "Add %s"
|
872 |
+
#~ msgstr "Προσθήκη %s"
|
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:
|
8 |
-
"PO-Revision-Date:
|
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
|
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
|
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
|
357 |
|
358 |
#: includes/class-yit-plugin-panel.php:1347
|
359 |
msgid ":) Thanks!"
|
@@ -551,7 +332,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 "
|
555 |
|
556 |
#. translators: %1$s opening link tag, %2$s closing link tag
|
557 |
#: includes/class-yith-system-status.php:577
|
@@ -560,8 +341,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
|
564 |
-
"incrementarlo."
|
565 |
|
566 |
#. translators: %s recommended memory amount
|
567 |
#: includes/class-yith-system-status.php:597
|
@@ -609,6 +389,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 +405,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"
|
@@ -800,17 +588,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"
|
@@ -933,6 +710,14 @@ msgctxt "Action links"
|
|
933 |
msgid "Settings"
|
934 |
msgstr "Ajustes"
|
935 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
936 |
#~ msgid "Show full PHPInfo"
|
937 |
#~ msgstr "Mostrar PHPInfo completa"
|
938 |
|
@@ -953,3 +738,130 @@ msgstr "Ajustes"
|
|
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-01 10:40:28+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!"
|
332 |
|
333 |
#: includes/class-yith-system-status.php:573
|
334 |
msgid "Contact your hosting company in order to enable it."
|
335 |
+
msgstr "Contacta con tu empresa de hosting para activarlo."
|
336 |
|
337 |
#. translators: %1$s opening link tag, %2$s closing link tag
|
338 |
#: includes/class-yith-system-status.php:577
|
341 |
"Read more %1$shere%2$s or contact your hosting company in order to increase "
|
342 |
"it."
|
343 |
msgstr ""
|
344 |
+
"Lee más %1$saquí%2$s o contacta a tu empresa de hosting para incrementarlo."
|
|
|
345 |
|
346 |
#. translators: %s recommended memory amount
|
347 |
#: includes/class-yith-system-status.php:597
|
389 |
msgid "Search Product"
|
390 |
msgstr "Buscar producto"
|
391 |
|
392 |
+
#: templates/fields/ajax-terms.php:41
|
393 |
+
msgid "Search Categories"
|
394 |
+
msgstr "Buscar categorías"
|
395 |
+
|
396 |
#: templates/fields/customtabs.php:17
|
397 |
msgid "Close all"
|
398 |
msgstr "Cerrar todo"
|
405 |
msgid "Remove"
|
406 |
msgstr "Eliminar"
|
407 |
|
408 |
+
#: templates/fields/customtabs.php:34 templates/fields/customtabs.php:76
|
409 |
+
msgid "Name"
|
410 |
+
msgstr "Nombre"
|
411 |
+
|
412 |
#: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
|
413 |
msgid "Value"
|
414 |
msgstr "Valor"
|
588 |
msgid "YITH"
|
589 |
msgstr "YITH"
|
590 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
591 |
#: includes/class-yith-dashboard.php:96
|
592 |
msgctxt "Plugin FW"
|
593 |
msgid "View Changelog"
|
710 |
msgid "Settings"
|
711 |
msgstr "Ajustes"
|
712 |
|
713 |
+
#~ msgctxt "taxonomy singular name"
|
714 |
+
#~ msgid "Category"
|
715 |
+
#~ msgstr "Categoría"
|
716 |
+
|
717 |
+
#~ msgctxt "taxonomy general name"
|
718 |
+
#~ msgid "%s Categories"
|
719 |
+
#~ msgstr "Categorías %s"
|
720 |
+
|
721 |
#~ msgid "Show full PHPInfo"
|
722 |
#~ msgstr "Mostrar PHPInfo completa"
|
723 |
|
738 |
|
739 |
#~ msgid "and"
|
740 |
#~ msgstr "y"
|
741 |
+
|
742 |
+
#~ msgid "Upload multiple files"
|
743 |
+
#~ msgstr "Subir varios archivos"
|
744 |
+
|
745 |
+
#~ msgid "Add %s from images"
|
746 |
+
#~ msgstr "Añadir %s desde imágenes"
|
747 |
+
|
748 |
+
#~ msgid "Show frontend of the %s"
|
749 |
+
#~ msgstr "Mostrar frontend de %s"
|
750 |
+
|
751 |
+
#~ msgid "Quick links"
|
752 |
+
#~ msgstr "Enlaces rápidos"
|
753 |
+
|
754 |
+
#~ msgid "layout settings"
|
755 |
+
#~ msgstr "ajustes de diseño"
|
756 |
+
|
757 |
+
#~ msgid "Layout for single page of this portfolio"
|
758 |
+
#~ msgstr "Diseño para página individual de este porfolio"
|
759 |
+
|
760 |
+
#~ msgid "Single layout"
|
761 |
+
#~ msgstr "Diseño individual"
|
762 |
+
|
763 |
+
#~ msgid "Set univocal name for each category page URL."
|
764 |
+
#~ msgstr "Establece un nombre para cada URL de página de categoría"
|
765 |
+
|
766 |
+
#~ msgid "Taxonomy Rewrite"
|
767 |
+
#~ msgstr "Rescribir taxonomía"
|
768 |
+
|
769 |
+
#~ msgid ""
|
770 |
+
#~ "If you want to use categories in the portfolio, set a name for taxonomy. "
|
771 |
+
#~ "Name should be a slug (must not contain capital letters nor spaces) and "
|
772 |
+
#~ "must not be more than 32 characters long (database structure restriction)."
|
773 |
+
#~ msgstr ""
|
774 |
+
#~ "Si quieres usar categorías en este porfolio, establece un nombre para la "
|
775 |
+
#~ "taxonomía. El nombre debe ser un slug (no debe contener mayúsculas ni "
|
776 |
+
#~ "espacios) y no debe tener más de 32 caracteres de longitud (restricción "
|
777 |
+
#~ "de estructura de la base de datos)."
|
778 |
+
|
779 |
+
#~ msgid "Taxonomy"
|
780 |
+
#~ msgstr "Taxonomía"
|
781 |
+
|
782 |
+
#~ msgid "Set a label in plural (title of portfolio if empty)"
|
783 |
+
#~ msgstr ""
|
784 |
+
#~ "Establece una etiqueta en plural (título del porfolio si está vacío)"
|
785 |
+
|
786 |
+
#~ msgid "Label in Plural"
|
787 |
+
#~ msgstr "Etiqueta en Plural"
|
788 |
+
|
789 |
+
#~ msgid "Set a label in singular (title of portfolio if empty)"
|
790 |
+
#~ msgstr ""
|
791 |
+
#~ "Establece una etiqueta en singular (título del porfolio si está vacío)"
|
792 |
+
|
793 |
+
#~ msgid "Label in Singular"
|
794 |
+
#~ msgstr "Etiqueta en Singular"
|
795 |
+
|
796 |
+
#~ msgid ""
|
797 |
+
#~ "Univocal identification name in the URL for each product (slug from post "
|
798 |
+
#~ "if empty)"
|
799 |
+
#~ msgstr ""
|
800 |
+
#~ "Nombre de identificación unívoco en la URL para cada producto (slug de la "
|
801 |
+
#~ "entrada si está vacío)"
|
802 |
+
|
803 |
+
#~ msgid "Rewrite"
|
804 |
+
#~ msgstr "Rescribir"
|
805 |
+
|
806 |
+
#~ msgid "Layout for this %s"
|
807 |
+
#~ msgstr "Diseño para este %s"
|
808 |
+
|
809 |
+
#~ msgid "Type"
|
810 |
+
#~ msgstr "Tipo"
|
811 |
+
|
812 |
+
#~ msgid "%s Settings"
|
813 |
+
#~ msgstr "Ajustes de %s"
|
814 |
+
|
815 |
+
#~ msgid "Categories"
|
816 |
+
#~ msgstr "Categorías"
|
817 |
+
|
818 |
+
#~ msgid "Category"
|
819 |
+
#~ msgstr "Categoría"
|
820 |
+
|
821 |
+
#~ msgid "New Category Name"
|
822 |
+
#~ msgstr "Nuevo nombre de categoría"
|
823 |
+
|
824 |
+
#~ msgid "Add New Category"
|
825 |
+
#~ msgstr "Añadir nueva categoría"
|
826 |
+
|
827 |
+
#~ msgid "Update Category"
|
828 |
+
#~ msgstr "Actualizar categoría"
|
829 |
+
|
830 |
+
#~ msgid "Edit Category"
|
831 |
+
#~ msgstr "Editar categoría"
|
832 |
+
|
833 |
+
#~ msgid "Parent Category:"
|
834 |
+
#~ msgstr "Categoría superior:"
|
835 |
+
|
836 |
+
#~ msgid "Parent Category"
|
837 |
+
#~ msgstr "Categoría superior"
|
838 |
+
|
839 |
+
#~ msgid "All Categories"
|
840 |
+
#~ msgstr "Todas las categorías"
|
841 |
+
|
842 |
+
#~ msgid "No %s found in Trash"
|
843 |
+
#~ msgstr "No se han encontrado %s en la Papelera"
|
844 |
+
|
845 |
+
#~ msgid "No %s found"
|
846 |
+
#~ msgstr "No se han encontrado %s"
|
847 |
+
|
848 |
+
#~ msgid "Search %s"
|
849 |
+
#~ msgstr "Buscar %s"
|
850 |
+
|
851 |
+
#~ msgid "View %s"
|
852 |
+
#~ msgstr "Ver %s"
|
853 |
+
|
854 |
+
#~ msgid "All %s"
|
855 |
+
#~ msgstr "Todas %s"
|
856 |
+
|
857 |
+
#~ msgid "New %s"
|
858 |
+
#~ msgstr "Nuevo %s"
|
859 |
+
|
860 |
+
#~ msgid "Edit %s"
|
861 |
+
#~ msgstr "Editar %s"
|
862 |
+
|
863 |
+
#~ msgid "Add New %s"
|
864 |
+
#~ msgstr "Añadir nueva %s"
|
865 |
+
|
866 |
+
#~ msgid "Add %s"
|
867 |
+
#~ msgstr "Añadir %s"
|
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:
|
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"
|
@@ -607,6 +388,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 +404,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"
|
@@ -798,17 +587,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"
|
@@ -932,6 +710,14 @@ msgctxt "Action links"
|
|
932 |
msgid "Settings"
|
933 |
msgstr "Impostazioni"
|
934 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
935 |
#~ msgid "Show full PHPInfo"
|
936 |
#~ msgstr "Mostra tutto il contenuto di PHPInfo"
|
937 |
|
@@ -952,3 +738,129 @@ msgstr "Impostazioni"
|
|
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-01 10:40:28+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"
|
388 |
msgid "Search Product"
|
389 |
msgstr "Cerca un prodotto"
|
390 |
|
391 |
+
#: templates/fields/ajax-terms.php:41
|
392 |
+
msgid "Search Categories"
|
393 |
+
msgstr "Cerca categorie"
|
394 |
+
|
395 |
#: templates/fields/customtabs.php:17
|
396 |
msgid "Close all"
|
397 |
msgstr "Chiudi tutti"
|
404 |
msgid "Remove"
|
405 |
msgstr "Rimuovi"
|
406 |
|
407 |
+
#: templates/fields/customtabs.php:34 templates/fields/customtabs.php:76
|
408 |
+
msgid "Name"
|
409 |
+
msgstr "Nome"
|
410 |
+
|
411 |
#: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
|
412 |
msgid "Value"
|
413 |
msgstr "Valore"
|
587 |
msgid "YITH"
|
588 |
msgstr "YITH"
|
589 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
590 |
#: includes/class-yith-dashboard.php:96
|
591 |
msgctxt "Plugin FW"
|
592 |
msgid "View Changelog"
|
710 |
msgid "Settings"
|
711 |
msgstr "Impostazioni"
|
712 |
|
713 |
+
#~ msgctxt "taxonomy singular name"
|
714 |
+
#~ msgid "Category"
|
715 |
+
#~ msgstr "Categoria"
|
716 |
+
|
717 |
+
#~ msgctxt "taxonomy general name"
|
718 |
+
#~ msgid "%s Categories"
|
719 |
+
#~ msgstr "%s Categorie"
|
720 |
+
|
721 |
#~ msgid "Show full PHPInfo"
|
722 |
#~ msgstr "Mostra tutto il contenuto di PHPInfo"
|
723 |
|
738 |
|
739 |
#~ msgid "and"
|
740 |
#~ msgstr "e"
|
741 |
+
|
742 |
+
#~ msgid "Upload multiple files"
|
743 |
+
#~ msgstr "Carica file multipli"
|
744 |
+
|
745 |
+
#~ msgid "Add %s from images"
|
746 |
+
#~ msgstr "Aggiungi %s dalla immagini"
|
747 |
+
|
748 |
+
#~ msgid "Show frontend of the %s"
|
749 |
+
#~ msgstr "Mostra front end di %s"
|
750 |
+
|
751 |
+
#~ msgid "Quick links"
|
752 |
+
#~ msgstr "Link rapidi"
|
753 |
+
|
754 |
+
#~ msgid "layout settings"
|
755 |
+
#~ msgstr "impostazioni di layout"
|
756 |
+
|
757 |
+
#~ msgid "Layout for single page of this portfolio"
|
758 |
+
#~ msgstr "Layout per pagina singola per questo portfolio"
|
759 |
+
|
760 |
+
#~ msgid "Single layout"
|
761 |
+
#~ msgstr "Layout singolo"
|
762 |
+
|
763 |
+
#~ msgid "Set univocal name for each category page URL."
|
764 |
+
#~ msgstr ""
|
765 |
+
#~ "Imposta un nome univoco per l'URL della pagina di ciascuna categoria."
|
766 |
+
|
767 |
+
#~ msgid "Taxonomy Rewrite"
|
768 |
+
#~ msgstr "Riscrivi tassonomia"
|
769 |
+
|
770 |
+
#~ msgid ""
|
771 |
+
#~ "If you want to use categories in the portfolio, set a name for taxonomy. "
|
772 |
+
#~ "Name should be a slug (must not contain capital letters nor spaces) and "
|
773 |
+
#~ "must not be more than 32 characters long (database structure restriction)."
|
774 |
+
#~ msgstr ""
|
775 |
+
#~ "Se vuoi aggiungere delle categorie nel portfolio, imposta un nome per la "
|
776 |
+
#~ "tassonomia. Il nome dovrà essere in forma di slug (non deve contenere "
|
777 |
+
#~ "caratteri maiuscoli né spazi) e non più lungo di 32 caratteri "
|
778 |
+
#~ "(restrizione di database)."
|
779 |
+
|
780 |
+
#~ msgid "Taxonomy"
|
781 |
+
#~ msgstr "Tassonomia"
|
782 |
+
|
783 |
+
#~ msgid "Set a label in plural (title of portfolio if empty)"
|
784 |
+
#~ msgstr "Imposta un'etichetta plurale (titolo del portfolio se vuoto)"
|
785 |
+
|
786 |
+
#~ msgid "Label in Plural"
|
787 |
+
#~ msgstr "Etichetta plurale"
|
788 |
+
|
789 |
+
#~ msgid "Set a label in singular (title of portfolio if empty)"
|
790 |
+
#~ msgstr "Imposta un'etichetta singolare (titolo del portfolio se vuoto)"
|
791 |
+
|
792 |
+
#~ msgid "Label in Singular"
|
793 |
+
#~ msgstr "Etichetta singolare"
|
794 |
+
|
795 |
+
#~ msgid ""
|
796 |
+
#~ "Univocal identification name in the URL for each product (slug from post "
|
797 |
+
#~ "if empty)"
|
798 |
+
#~ msgstr ""
|
799 |
+
#~ "Nome identificativo univoco nell'URL per singolo prodotto (usa slug dal "
|
800 |
+
#~ "post se vuoto)"
|
801 |
+
|
802 |
+
#~ msgid "Rewrite"
|
803 |
+
#~ msgstr "Riscrivi"
|
804 |
+
|
805 |
+
#~ msgid "Layout for this %s"
|
806 |
+
#~ msgstr "Layout per questo %s"
|
807 |
+
|
808 |
+
#~ msgid "Type"
|
809 |
+
#~ msgstr "Tipologia"
|
810 |
+
|
811 |
+
#~ msgid "%s Settings"
|
812 |
+
#~ msgstr "Impostazioni %s"
|
813 |
+
|
814 |
+
#~ msgid "Categories"
|
815 |
+
#~ msgstr "Categorie"
|
816 |
+
|
817 |
+
#~ msgid "Category"
|
818 |
+
#~ msgstr "Categoria"
|
819 |
+
|
820 |
+
#~ msgid "New Category Name"
|
821 |
+
#~ msgstr "Nuovo nome categoria"
|
822 |
+
|
823 |
+
#~ msgid "Add New Category"
|
824 |
+
#~ msgstr "Aggiungi nuova categoria"
|
825 |
+
|
826 |
+
#~ msgid "Update Category"
|
827 |
+
#~ msgstr "Aggiorna categoria"
|
828 |
+
|
829 |
+
#~ msgid "Edit Category"
|
830 |
+
#~ msgstr "Modifica categoria"
|
831 |
+
|
832 |
+
#~ msgid "Parent Category:"
|
833 |
+
#~ msgstr "Categoria genitore:"
|
834 |
+
|
835 |
+
#~ msgid "Parent Category"
|
836 |
+
#~ msgstr "Categoria genitore"
|
837 |
+
|
838 |
+
#~ msgid "All Categories"
|
839 |
+
#~ msgstr "Tutte le categorie"
|
840 |
+
|
841 |
+
#~ msgid "No %s found in Trash"
|
842 |
+
#~ msgstr "Nessun %s trovato nel cestino"
|
843 |
+
|
844 |
+
#~ msgid "No %s found"
|
845 |
+
#~ msgstr "Nessun %s trovato"
|
846 |
+
|
847 |
+
#~ msgid "Search %s"
|
848 |
+
#~ msgstr "Cerca %s"
|
849 |
+
|
850 |
+
#~ msgid "View %s"
|
851 |
+
#~ msgstr "Visualizza %s"
|
852 |
+
|
853 |
+
#~ msgid "All %s"
|
854 |
+
#~ msgstr "Tutti %s"
|
855 |
+
|
856 |
+
#~ msgid "New %s"
|
857 |
+
#~ msgstr "Nuovo %s"
|
858 |
+
|
859 |
+
#~ msgid "Edit %s"
|
860 |
+
#~ msgstr "Modifica %s"
|
861 |
+
|
862 |
+
#~ msgid "Add New %s"
|
863 |
+
#~ msgstr "Aggiungi nuovo %s"
|
864 |
+
|
865 |
+
#~ msgid "Add %s"
|
866 |
+
#~ msgstr "Aggiungi %s"
|
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:
|
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"
|
@@ -605,6 +386,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 +402,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"
|
@@ -796,17 +585,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"
|
@@ -929,6 +707,14 @@ msgctxt "Action links"
|
|
929 |
msgid "Settings"
|
930 |
msgstr "Instellingen"
|
931 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
932 |
#~ msgid "Show full PHPInfo"
|
933 |
#~ msgstr "Toon volledige PHPInfo"
|
934 |
|
@@ -949,3 +735,128 @@ msgstr "Instellingen"
|
|
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-01 10:40:28+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"
|
386 |
msgid "Search Product"
|
387 |
msgstr "Zoek Product"
|
388 |
|
389 |
+
#: templates/fields/ajax-terms.php:41
|
390 |
+
msgid "Search Categories"
|
391 |
+
msgstr "Zoek categorieën"
|
392 |
+
|
393 |
#: templates/fields/customtabs.php:17
|
394 |
msgid "Close all"
|
395 |
msgstr "Sluit allen"
|
402 |
msgid "Remove"
|
403 |
msgstr "Verwijderen"
|
404 |
|
405 |
+
#: templates/fields/customtabs.php:34 templates/fields/customtabs.php:76
|
406 |
+
msgid "Name"
|
407 |
+
msgstr "Name"
|
408 |
+
|
409 |
#: templates/fields/customtabs.php:40 templates/fields/customtabs.php:81
|
410 |
msgid "Value"
|
411 |
msgstr "Waarde"
|
585 |
msgid "YITH"
|
586 |
msgstr "YITH"
|
587 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
588 |
#: includes/class-yith-dashboard.php:96
|
589 |
msgctxt "Plugin FW"
|
590 |
msgid "View Changelog"
|
707 |
msgid "Settings"
|
708 |
msgstr "Instellingen"
|
709 |
|
710 |
+
#~ msgctxt "taxonomy singular name"
|
711 |
+
#~ msgid "Category"
|
712 |
+
#~ msgstr "Categorie"
|
713 |
+
|
714 |
+
#~ msgctxt "taxonomy general name"
|
715 |
+
#~ msgid "%s Categories"
|
716 |
+
#~ msgstr "%s Categorieën"
|
717 |
+
|
718 |
#~ msgid "Show full PHPInfo"
|
719 |
#~ msgstr "Toon volledige PHPInfo"
|
720 |
|
735 |
|
736 |
#~ msgid "and"
|
737 |
#~ msgstr "en"
|
738 |
+
|
739 |
+
#~ msgid "Upload multiple files"
|
740 |
+
#~ msgstr "Upload meerdere bestanden"
|
741 |
+
|
742 |
+
#~ msgid "Add %s from images"
|
743 |
+
#~ msgstr "Voeg %s toe van afbeeldingen"
|
744 |
+
|
745 |
+
#~ msgid "Show frontend of the %s"
|
746 |
+
#~ msgstr "Toon frontend van de %s"
|
747 |
+
|
748 |
+
#~ msgid "Quick links"
|
749 |
+
#~ msgstr "Snelle links"
|
750 |
+
|
751 |
+
#~ msgid "layout settings"
|
752 |
+
#~ msgstr "lay-out instellingen"
|
753 |
+
|
754 |
+
#~ msgid "Layout for single page of this portfolio"
|
755 |
+
#~ msgstr "Lay-out voor single pagina van dit portfolio"
|
756 |
+
|
757 |
+
#~ msgid "Single layout"
|
758 |
+
#~ msgstr "Single lay-out"
|
759 |
+
|
760 |
+
#~ msgid "Set univocal name for each category page URL."
|
761 |
+
#~ msgstr "Stel een unieke naam in voor elke categorie pagina URL."
|
762 |
+
|
763 |
+
#~ msgid "Taxonomy Rewrite"
|
764 |
+
#~ msgstr "Herschrijf taxonomie"
|
765 |
+
|
766 |
+
#~ msgid ""
|
767 |
+
#~ "If you want to use categories in the portfolio, set a name for taxonomy. "
|
768 |
+
#~ "Name should be a slug (must not contain capital letters nor spaces) and "
|
769 |
+
#~ "must not be more than 32 characters long (database structure restriction)."
|
770 |
+
#~ msgstr ""
|
771 |
+
#~ "Wil je categorieën gebruiken in de portfolio, stel dan een naam voor "
|
772 |
+
#~ "taxonomie. Naam moet een ’slug’ zijn (mag geen hoofdletters of spaties "
|
773 |
+
#~ "bevatten) en mag niet meer zijn dan 32 tekens lang (database structuur "
|
774 |
+
#~ "beperking)."
|
775 |
+
|
776 |
+
#~ msgid "Taxonomy"
|
777 |
+
#~ msgstr "Taxonomie"
|
778 |
+
|
779 |
+
#~ msgid "Set a label in plural (title of portfolio if empty)"
|
780 |
+
#~ msgstr "Zet een label op meervoud (titel van portfolio indien leeg)"
|
781 |
+
|
782 |
+
#~ msgid "Label in Plural"
|
783 |
+
#~ msgstr "Label in meervoud"
|
784 |
+
|
785 |
+
#~ msgid "Set a label in singular (title of portfolio if empty)"
|
786 |
+
#~ msgstr "Zet een label op enkelvoud (titel van portfolio indien leeg)"
|
787 |
+
|
788 |
+
#~ msgid "Label in Singular"
|
789 |
+
#~ msgstr "Label in enkelvoud"
|
790 |
+
|
791 |
+
#~ msgid ""
|
792 |
+
#~ "Univocal identification name in the URL for each product (slug from post "
|
793 |
+
#~ "if empty)"
|
794 |
+
#~ msgstr ""
|
795 |
+
#~ "Unieke identificatie naam in de URL voor ieder product (slug van post "
|
796 |
+
#~ "indien leeg)"
|
797 |
+
|
798 |
+
#~ msgid "Rewrite"
|
799 |
+
#~ msgstr "Herschrijf"
|
800 |
+
|
801 |
+
#~ msgid "Layout for this %s"
|
802 |
+
#~ msgstr "De lay-out hiervoor %s"
|
803 |
+
|
804 |
+
#~ msgid "Type"
|
805 |
+
#~ msgstr "Type"
|
806 |
+
|
807 |
+
#~ msgid "%s Settings"
|
808 |
+
#~ msgstr "%s instellingen"
|
809 |
+
|
810 |
+
#~ msgid "Categories"
|
811 |
+
#~ msgstr "Categorieën"
|
812 |
+
|
813 |
+
#~ msgid "Category"
|
814 |
+
#~ msgstr "Categorie"
|
815 |
+
|
816 |
+
#~ msgid "New Category Name"
|
817 |
+
#~ msgstr "Nieuwe categorie naam"
|
818 |
+
|
819 |
+
#~ msgid "Add New Category"
|
820 |
+
#~ msgstr "Categorie toevoegen"
|
821 |
+
|
822 |
+
#~ msgid "Update Category"
|
823 |
+
#~ msgstr "Update categorie"
|
824 |
+
|
825 |
+
#~ msgid "Edit Category"
|
826 |
+
#~ msgstr "Categorie aanpassen"
|
827 |
+
|
828 |
+
#~ msgid "Parent Category:"
|
829 |
+
#~ msgstr "Hoofdcategorie:"
|
830 |
+
|
831 |
+
#~ msgid "Parent Category"
|
832 |
+
#~ msgstr "Hoofdcategorie"
|
833 |
+
|
834 |
+
#~ msgid "All Categories"
|
835 |
+
#~ msgstr "Alle categorieën"
|
836 |
+
|
837 |
+
#~ msgid "No %s found in Trash"
|
838 |
+
#~ msgstr "No %s gevonden in de prullenbak"
|
839 |
+
|
840 |
+
#~ msgid "No %s found"
|
841 |
+
#~ msgstr "Geen %s gevonden"
|
842 |
+
|
843 |
+
#~ msgid "Search %s"
|
844 |
+
#~ msgstr "Zoeken %s"
|
845 |
+
|
846 |
+
#~ msgid "View %s"
|
847 |
+
#~ msgstr "Bekijk %s"
|
848 |
+
|
849 |
+
#~ msgid "All %s"
|
850 |
+
#~ msgstr "Alle %s"
|
851 |
+
|
852 |
+
#~ msgid "New %s"
|
853 |
+
#~ msgstr "Nieuw %s"
|
854 |
+
|
855 |
+
#~ msgid "Edit %s"
|
856 |
+
#~ msgstr "Bewerk %s"
|
857 |
+
|
858 |
+
#~ msgid "Add New %s"
|
859 |
+
#~ msgstr "Nieuwe %s toevoegen"
|
860 |
+
|
861 |
+
#~ msgid "Add %s"
|
862 |
+
#~ msgstr "%s toevoegen"
|
plugin-fw/languages/yith-plugin-fw.pot
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
-
# Copyright (C)
|
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:
|
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:
|
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"
|
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-01 10:40:28+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"
|
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 ); ?>"
|
|
|
|
|
|
|
|
|
|
|
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
|
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 |
}
|
plugin-fw/yit-woocommerce-compatibility.php
CHANGED
@@ -22,7 +22,7 @@ if ( ! function_exists( 'yit_get_prop' ) ) {
|
|
22 |
* @param bool $single Return first found meta with key, or all.
|
23 |
* @param string $context What the value is for. Valid values are view and edit.
|
24 |
*
|
25 |
-
* @return mixed
|
26 |
* @deprecated 3.5 | use the WooCommerce CRUD directly instead.
|
27 |
*/
|
28 |
function yit_get_prop( $object, $key, $single = true, $context = 'view' ) {
|
@@ -51,11 +51,14 @@ if ( ! function_exists( 'yit_get_prop' ) ) {
|
|
51 |
} elseif ( yit_wc_check_post_columns( $key ) ) {
|
52 |
return $object->post->$key;
|
53 |
} else {
|
54 |
-
$
|
|
|
55 |
|
56 |
-
|
|
|
|
|
57 |
|
58 |
-
return $getter( $object_id, $key, true );
|
59 |
}
|
60 |
}
|
61 |
}
|
22 |
* @param bool $single Return first found meta with key, or all.
|
23 |
* @param string $context What the value is for. Valid values are view and edit.
|
24 |
*
|
25 |
+
* @return mixed|null The related value or null (if the $object is not a valid object).
|
26 |
* @deprecated 3.5 | use the WooCommerce CRUD directly instead.
|
27 |
*/
|
28 |
function yit_get_prop( $object, $key, $single = true, $context = 'view' ) {
|
51 |
} elseif ( yit_wc_check_post_columns( $key ) ) {
|
52 |
return $object->post->$key;
|
53 |
} else {
|
54 |
+
$object_id = 0;
|
55 |
+
$getter = $object instanceof WC_Customer ? 'get_user_meta' : 'get_post_meta';
|
56 |
|
57 |
+
if ( ! ! $object ) {
|
58 |
+
$object_id = is_callable( array( $object, 'get_id' ) ) ? $object->get_id() : $object->id;
|
59 |
+
}
|
60 |
|
61 |
+
return ! ! $object_id ? $getter( $object_id, $key, true ) : null;
|
62 |
}
|
63 |
}
|
64 |
}
|