[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fW3LAc72g3LEz18RhtINXqSGK3X-pgqBffVhEGHRqHEg":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":46,"crawl_stats":37,"alternatives":51,"analysis":142,"fingerprints":818},"woo-poly-integration","Hyyan WooCommerce Polylang Integration","1.5.0","Hyyan Abo Fakher","https:\u002F\u002Fprofiles.wordpress.org\u002Fhyyan\u002F","\u003Cp>\u003Cstrong>Given that I am not using WordPress these days and I haven’t really been using WooPoly for a while. I am looking for maintainers to take over this project.\u003Cbr \u002F>\nIf you’re interested, please reply to this \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F410\" rel=\"nofollow ugc\">issue\u003C\u002Fa> or get in touch with me via email: hyyanaf [at] gmail [dot] com\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This plugin makes it possible to run multilingual e-commerce sites using\u003Cbr \u002F>\nWooCommerce and Polylang.It makes products and store pages translatable, lets\u003Cbr \u002F>\nvisitors switch languages and order products in their language. and all that from\u003Cbr \u002F>\nthe same interface you love.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Please do not ask for support on wordpress forum anymore , it is becoming hard for me to follow issues in different places. please if you want help just open a new Github issue.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fwiki\" rel=\"nofollow ugc\">Read the full docs\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>[√] Auto Download Woocommerce Translation Files\u003C\u002Fli>\n\u003Cli>[√] Page Translation\u003C\u002Fli>\n\u003Cli>[√] Endpoints Translation\u003C\u002Fli>\n\u003Cli>[√] Product Translation\n\u003Cul>\n\u003Cli>[√] Categories\u003C\u002Fli>\n\u003Cli>[√] Tags\u003C\u002Fli>\n\u003Cli>[√] Attributes\u003C\u002Fli>\n\u003Cli>[√] Shipping Classes\u003C\u002Fli>\n\u003Cli>[√] Meta Synchronization\u003C\u002Fli>\n\u003Cli>[√] Variation Product\u003C\u002Fli>\n\u003Cli>[√] Product Gallery\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>[√] Order Translation\u003C\u002Fli>\n\u003Cli>[√] Stock Synchronization\u003C\u002Fli>\n\u003Cli>[√] Cart Synchronization\u003C\u002Fli>\n\u003Cli>[√] Coupon Synchronization\u003C\u002Fli>\n\u003Cli>[√] Emails\u003C\u002Fli>\n\u003Cli>[√] Reports\n\u003Cul>\n\u003Cli>[√] Filter by language\u003C\u002Fli>\n\u003Cli>[√] Combine reports for all languages\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>What you need to know about this plugin\u003C\u002Fh4>\n\u003Col>\n\u003Cli>The plugin needs \u003Ccode>PHP7.0 or above\u003C\u002Fcode> ie same software versions as WooCommerce\u003C\u002Fli>\n\u003Cli>This plugin is developed in sync with \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpolylang\" rel=\"ugc\">Polylang\u003C\u002Fa>\u003Cbr \u002F>\nand \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoocommerce\u002F\" rel=\"ugc\">WooCommerce\u003C\u002Fa> latest version\u003C\u002Fli>\n\u003Cli>The plugin support variable products , but using them will \u003Ccode>disallow you to\u003Cbr \u002F>\nchange the default language\u003C\u002Fcode> , because of the way the plugin implements this\u003Cbr \u002F>\nsupport. So you have to make sure to choose the default language before you start\u003Cbr \u002F>\nadding new variable products.\u003C\u002Fli>\n\u003Cli>Polylang URL modifications method \u003Ccode>The language is set from content\u003C\u002Fcode> is not\u003Cbr \u002F>\nsupported\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Setup your environment\u003C\u002Fh4>\n\u003Col>\n\u003Cli>You need to translate woocommerce pages by yourself\u003C\u002Fli>\n\u003Cli>The plugin will handle the rest for you\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Arabic by \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\" rel=\"nofollow ugc\">Hyyan Abo Fakher\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Spanish by \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnunhes\" rel=\"nofollow ugc\">nunhes\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Contributing\u003C\u002Fh4>\n\u003Cp>Everyone is welcome to help contribute and improve this plugin. There are several\u003Cbr \u002F>\nways you can contribute:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Reporting issues (please read \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fblob\u002Fmaster\u002F.github\u002FCONTRIBUTING.md\" rel=\"nofollow ugc\">issue guidelines\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>Suggesting new features\u003C\u002Fli>\n\u003Cli>Writing or refactoring \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\" rel=\"nofollow ugc\">code\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Improving \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fwiki\" rel=\"nofollow ugc\">documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Fixing \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\" rel=\"nofollow ugc\">issues\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.5.0\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>correction to fix #527\u003C\u002Fli>\n\u003Cli>fixes #536 avoid over-setting product type on edit\u003C\u002Fli>\n\u003Cli>re- fixes #534 new variation not visible until save\u003C\u002Fli>\n\u003Cli>re- fixes #527 variation form default values\u003C\u002Fli>\n\u003Cli>fixes #535 variation stock issues\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.4.5\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F476\" rel=\"nofollow ugc\">re-fixes #430, #524 variation duplications\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F526\" rel=\"nofollow ugc\">fixes #526 product type selector issues – variable product appears as simple\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F522\" rel=\"nofollow ugc\">fixes #522, #529 and other JQuery deprecation issues props @mrleemon\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F475\" rel=\"nofollow ugc\">fixes #475 variation stock issues\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F527\" rel=\"nofollow ugc\">fixes #527 default form value for variation lost when creating new translation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F534\" rel=\"nofollow ugc\">fixes #534 new variable translation, variations not visible until save\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.4.4\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F476\" rel=\"nofollow ugc\">implements #476 adding Additional Content to translated email fields\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fwiki\u002FEmail-Languages\" rel=\"nofollow ugc\">Addresses multiple email issues causing some fields and default values not to be picked up or translated correctly.\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F502\" rel=\"nofollow ugc\">fixes #502 Cart issues by removing addToCartHandlerVariable()\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F503\" rel=\"nofollow ugc\">fixes #503 Deprecated: get_woocommerce_term_meta\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F466\" rel=\"nofollow ugc\">fixes #466 undefined index in Cart.php on line 188 props nicmare sep 2019\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F449\" rel=\"nofollow ugc\">addresses #449 by adding info to woo status report props jon007 sep 2019\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F446\" rel=\"nofollow ugc\">fixes #446 by allow strings translation for customiser checkout text props jon007 jul 2019\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F441\" rel=\"nofollow ugc\">implements #441 allow taxonomy slugs to be the same in different languages props jon007 jul 2019\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F442\" rel=\"nofollow ugc\">fixes #442 incorrect defaults used where no saved settings exist  props jon007 jul 2019\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.4.3\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F8c54fb23afad1bec1f98b2077d6f552646f253b8\" rel=\"nofollow ugc\">fixes #434 page checks duplicating pages and other language switching issues\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F7d428208ff3b3a2472ce42f5a2259604ce2128c8\" rel=\"nofollow ugc\">fixes #435 fix get_current_screen errors when this plugin called in unanticipated circumstances props danieleftodi YITH Gift Cards\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002Ffeedc68431bcd26c8d9bd2b4afacf4d7a86a62a1\" rel=\"nofollow ugc\">fixes #436 Illegal string offset and Invalid argument in FlashMessages\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.4.2\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F7101bcf0786e21515885d5796188420972b01831\" rel=\"nofollow ugc\">fixes #432 default variation attributes were not synchronised correctly when using more than one attribute\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F431\" rel=\"nofollow ugc\">fixes #431 multiple email translation issues in different circumstances\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F430\" rel=\"nofollow ugc\">fixes #430 bugfix and enhancement to allow variations to be disabled\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F08c9913105e6ad8183f7bbf35930f25b983d4c50\" rel=\"nofollow ugc\">stock synchronisation – avoid errors being logged where product is not translated\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.4.1\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F427\" rel=\"nofollow ugc\">fixes #427 by reversal of #390, #346 Cart: retain price when switching languages due to incompatibility with currency switchers, instead a filter woo-poly.Cart.switchedItem allows customisation of behaviour where necessary\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.4.0 preview\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Thanks to :\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cstrong>@jon007\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cstrong>@mweimerskirch **\u003Cbr \u002F>\n**@Annih\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cstrong>@mrleemon\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F408\" rel=\"nofollow ugc\">fixes #408 WooCommerce 3.6.x: by ensuring product lookup data is recalculated for translations and stale product data cache is cleared\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F89ef0451dd8c7775fe48e20d71dc7836e8e49a96\" rel=\"nofollow ugc\">fixes #408 WooCommerce 3.6.x: cart fragment script updates for 3.6\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F17e29b9927eb2fea3afbc3947d48e2b68e3d2185\" rel=\"nofollow ugc\">fixes #411, #299, #391, #361 stock synchronisation issues\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F379\" rel=\"nofollow ugc\">added WooCommerce pages checker: missing WooCommerce pages and translations are added, warning added for pages in incorrect status, addresses common support and setup usability issues such as #379\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002Fec272c0d921e39ebfd497fb2303454d7793bf60d\" rel=\"nofollow ugc\">fixes #390, #346 Cart: retain price when switching languages props mweimerskirch\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F217e33d2843fb82775a92a9d04cd2f7f73e436f6\" rel=\"nofollow ugc\">fixes #364 initial setup: apply initial settings automatically\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F3bbc1bf30ec90402a8796b16c6681037bd9e5125\" rel=\"nofollow ugc\">fixes #234 product admin: click on featured star in products list is now synchronised to translations\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F400\" rel=\"nofollow ugc\">fixes #400 shop page url translation: fixes where shop slug is contained in url\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F16ad4c51edc8a9610d9039bc2e4953c801892b5e\" rel=\"nofollow ugc\">fixes #416 emails: some missing custom string translations added\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F414\" rel=\"nofollow ugc\">fixes #414 emails: v1.3.0 bug for translating email strings which are customized in admin\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F2bf61574cf5b9ebb24ccf232de0ba92af879b31b\" rel=\"nofollow ugc\">fixes #409 shortcodes: allow product shortcode to translate in same way as products shortcode\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002Fa71263855dfa35915993ee7f8da8bf3232c46d53\" rel=\"nofollow ugc\">fixes #419 variations: allow default variation based on custom product specific attribute\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.3.0\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002Fcd19fdd01cafcf065fbf21dfaa80dd167ce60e63\" rel=\"nofollow ugc\">fixes #352 by allowing translation of ‘invisible’ variations\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F2a8f35955016485f07764e2fe7f6d33b6b1ceaae\" rel=\"nofollow ugc\">fixes #353 by checking language of duplicate skis\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F1d83ef23e96f35c2bb008b5fa37e5157bfc388e4\" rel=\"nofollow ugc\">improves #353 fix\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F51898f96f2eaa24c322850564cb65923bafd7ddd\" rel=\"nofollow ugc\">fixes #348 by assigning language to variations\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002Fedf0993e0a4e7961879e5a95c825da61e0e8b5a7\" rel=\"nofollow ugc\">fixes #343 by reducing frequency of coupon load\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F42db06e024e794a6e971a515a5c86ce04df081ef\" rel=\"nofollow ugc\">fixes #354 by including updates from woocommerce\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F29f4895eb2e86c492904a6dcb9b600b850199f40\" rel=\"nofollow ugc\">fixes #356\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F5a7fc8d704c9666675162d8eba8a53efe5540484\" rel=\"nofollow ugc\">Fall back to $polylang->pref_lang for AJAX endpoint URL when $polylang->curlang is not available.\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F3db2c1091082c38bda20ca5c762ad97120bc25ca\" rel=\"nofollow ugc\">fixed empty attribute for variations\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002Ff89aec1e7e79987da8fcaec1b63295b3fa123fbc\" rel=\"nofollow ugc\">Add files via upload\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F08fe1432fb0981e727409c362c1bbb2892dcb601\" rel=\"nofollow ugc\">fixed #370\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F772acc09640c90aa43b3106dd483ed40e84271c4\" rel=\"nofollow ugc\">fixes #384\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002Fdf276b3184324bb905cdd7e3812bae220c799d02\" rel=\"nofollow ugc\">Extend the email hooks\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F89ca15df970ee410513200954f0993fcf0ab93f9\" rel=\"nofollow ugc\">fixes #401 email subject and title translations\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F90a9e625ead7d6a4429fb4db51174367014df701\" rel=\"nofollow ugc\">fixes #399\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.2.0\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Thanks for : @jon007\u003C\u002Fstrong> For his amazing work which made releasing this new version possible\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002Fd9592822d4041ce299c04576e0a5d2bb1de4d646\" rel=\"nofollow ugc\">Implements #337 by enabling privacy strings translation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F244aacfb4a6135beca73876cc856d1868834a9aa\" rel=\"nofollow ugc\">Implements #339 by translating store notice\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.1.0\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Thanks for :\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cstrong>@jon007\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cstrong>@nunhes\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cstrong>@masato-igarashi\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cstrong>@marian-kadanka\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cstrong>@ahmedofali\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>For all the amazing work which made releasing this new version possible\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F756a380a0ef7ee425a55230f429462c471a62328\" rel=\"nofollow ugc\">add wc version to comment headers\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F19dd4b3e0afb12c9c1f73b45e45d2d1e95d1958d\" rel=\"nofollow ugc\">fixes #283 by handling shortcode with no ids set\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F730462cf01c91f7b61259105cce4e9c9bc2ba9b5\" rel=\"nofollow ugc\">Add Spanish Translate\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F5b0fae23200cf3c007ee712eeba43ee43059fdad\" rel=\"nofollow ugc\">fix issue #320\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F74f8620d55c006fa0650f63d0188a3d7f69c67e3\" rel=\"nofollow ugc\">Fix #325 Coupon optimization\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F2b3c8972f0630ff89bc55d3d3e7caca69e09f006\" rel=\"nofollow ugc\">fix issue #320 (re-commit)\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F1cabc3b86a13861410e2ad4c4200e561e2e10b3f\" rel=\"nofollow ugc\">Merge pull request #322 from nunhes\u002Fmaster\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F8113f35caf90c821204b14891e0b91448ac9bbfc\" rel=\"nofollow ugc\">Update readme\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002Fe3a8db6225ebc4bc82a78a3d55cffcb76ce47f88\" rel=\"nofollow ugc\">Merge pull request #326 from masato-igarashi\u002Fmaster\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002Fc7eb1f786d9d6b0cdfaa224b0d4221b0f1666c05\" rel=\"nofollow ugc\">Fix #317\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F888df716c43c0191c32e2b8bfc11d7ea0a9ed055\" rel=\"nofollow ugc\">Fix Ajax endpoint URL again, fixes #319\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F9e6dd41acccd7ec4a6329e937d1b39acb834c7af\" rel=\"nofollow ugc\">Identify woocommerce and polylang if installed as mu-plugins\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F7772cff41d362c59610df1c3521f4b8be91713ff\" rel=\"nofollow ugc\">Change the way of checking polylang and woocommerce versions\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002Fbe1417a2e346f8edfc690d845c451d7c78c42839\" rel=\"nofollow ugc\">Remove Unneeded code since we use class name to check if plugin is activated or not\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002Ff9e7209a79ac818bf95d9816f72ccc82eefb532f\" rel=\"nofollow ugc\">Merge pull request #329 from marian-kadanka\u002Ffix-319-ajax-endpoint-url-again\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F70ce81c65e843e3050c282e4b661b04f74c93ac4\" rel=\"nofollow ugc\">Merge pull request #335 from ahmedofali\u002Fmaster\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.0.4\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F9eaf0cabdf25425221c230d4459d26ea82c84605\" rel=\"nofollow ugc\">Fix #257 , Fix #247\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F01bc5b2d3df1c08fa4465c585721b7fbf28ed32e\" rel=\"nofollow ugc\">Fix #248 , Fix #266 upgrader_process_complete is not ideal\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F13409a5ea2c1ec7eef252670879d8048a9207ff7\" rel=\"nofollow ugc\">Merge pull request #253 from marian-kadanka\u002Ffix-is-front-page-conditional-tag\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F2837e83a97c9c68f96ce06ea3f23e459bdf6ea82\" rel=\"nofollow ugc\">Update tested wp version\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F6c73f8a1c4e4b94ffeec2e35e05a57446d4706b8\" rel=\"nofollow ugc\">Fix #260 – add the “Requires PHP” tag in the readme.txt\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002Fd192347e20d1f4370372276ab55ee77020ad35a0\" rel=\"nofollow ugc\">fixes #268 setup coupon translations only when needed\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F4fd73ee17ecbbf0710247a98731a096d3c9d8db6\" rel=\"nofollow ugc\">Merge pull request #263 from szepeviktor\u002Fpatch-1\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F2dc44a136bbef665cad4cd000894b3192e4b5332\" rel=\"nofollow ugc\">Fix is_front_page() not working on WC shop page set as site’s static front page\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002F9f9b7581260c87f84ce9f35100ecd872b974e58d\" rel=\"nofollow ugc\">Fix Ajax endpoint URL\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fcommit\u002Fc18a2735173d62f631d6cdd3679fc68d0786a682\" rel=\"nofollow ugc\">Fix #247 – Woocommerce [products] shortcode and Polylang\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.0.3\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Fix PHP Fatal error: Class ‘NumberFormatter’ not found\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.0.2\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Fixes #200 Polylang version check fails to detect Polylang PRO\u003C\u002Fli>\n\u003Cli>Cart.js Updated in line with WooCommerce 3.1 cart-fragments.js\u003C\u002Fli>\n\u003Cli>Fixes #215 add string translations for Coupons (includes WooCommerce Extended Coupon Features if installed)\u003C\u002Fli>\n\u003Cli>addresses #168 with a utility function get_translated_variation to help get translated products or variations\u003C\u002Fli>\n\u003Cli>Fixes #217 BACS bank_details() update for woocommerce3\u003C\u002Fli>\n\u003Cli>Fixes #213 copy children for Grouped Product\u003C\u002Fli>\n\u003Cli>partially implements #208 WooCommerce 3.1 CSV Import\u002FExport by adding support for synchronising Product Meta and Product Attributes to translated products\u003C\u002Fli>\n\u003Cli>Fixes #207 suppresses login customization to allow “Pay for Order” links to work when customer is not logged in\u003Cbr \u002F>\n(after login continue to payment page instead of my account home)\u003C\u002Fli>\n\u003Cli>Fixes #212 update deleteRelatedVariation for woocommerce3 warnings\u003C\u002Fli>\n\u003Cli>Fixes #209 cart filling up error logs with variations message\u003C\u002Fli>\n\u003Cli>Fixes #195 Locale number formatting for prices and built-in attributes\u003C\u002Fli>\n\u003Cli>Fixes #190 Products Quick Edit now synchronizes translations\u003C\u002Fli>\n\u003Cli>Fixes #187 WordPress 4.8 breaks translation for new Variation Products\u003C\u002Fli>\n\u003Cli>Fixes #184 Stock update incorrect if customer switches language while checking out \u003C\u002Fli>\n\u003Cli>Fixes #186 Shipping Method translation regression from 1.0.1\u003C\u002Fli>\n\u003Cli>Fixes #188 When translating Variations, code tries to create copies of untranslated terms\u003C\u002Fli>\n\u003Cli>Fixes #182 email translation extension hooks thanks to @vendidero\u002FWooCommerce Germanized\u003C\u002Fli>\n\u003Cli>Fixes #181 additional filters in Meta synchronization thanks to @vendidero\u002FWooCommerce Germanized\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.0.1\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Fixes #170 when WooCommerce 3.0.8+ active, product variation titles corrected in cart and orders\u003C\u002Fli>\n\u003Cli>Added Documentation links to new wiki Documentation pages\u003C\u002Fli>\n\u003Cli>Added minified javascript (enable SCRIPT_DEBUG to use unminified versions)\u003C\u002Fli>\n\u003Cli>Fixes #174 Error in autofill of missing translations of parent category\u003C\u002Fli>\n\u003Cli>Fixes #175 WooCommerce doesn’t pass loop name for some shortcodes\u003C\u002Fli>\n\u003Cli>Fixes #10  Initial setup issues if Polylang is not yet configured\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.0.0\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Thanks for @jon007 and @decarvalhoaa for the amazing work in order to release this new version\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This release fixes a number of issues around handling of attributes and translations.\u003Cbr \u002F>\nIn particular:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>New translations can now use auto-copy of source language, to help save time translating.\u003Cbr \u002F>\nIn future a machine translation will be added.\u003Cbr \u002F>\n Copy option covers Product Title, Short Description and Long Description.\u003Cbr \u002F>\nAlso when creating a new product, any missing Product Categories, Tags and Attributes are copied,\u003Cbr \u002F>\nto avoid unexpected problems which occur if a translation is saved with missing term translations.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>it is now possible to set up the system to allow different types of product attributes\u003Cbr \u002F>\nto be synchronised, translated, or independent in each language. The default options will be:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Translation and Synchronization Enabled for Product Attributes\u003C\u002Fli>\n\u003Cli>Synchronization off for Custom Product Attributes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>In this case choose how to set up your product attributes as follows:\u003Cbr \u002F>\n – Translated Attribute?  Add in Products\\Attributes and turn on Translation in Polylang at:\u003Cbr \u002F>\n        Languages\\Settings\\Custom Taxonomies\u003Cbr \u002F>\n – Synchronised Attribute? [eg same value in all languages, eg product code, numeric properties]\u003Cbr \u002F>\n                Add in Products\\Attributes and leave Translation turned off in Polyang.\u003Cbr \u002F>\n – Different value in each language? add directly to Product as a Custom Product Attribute\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Enh: synchronisation for Custom Product Attributes and Global Product Attributes can now be\u003Cbr \u002F>\n   turned on and off independently in\u003Cbr \u002F>\n         Settings\\WooPoly, Metas List, Attributes Metas, Custom Product Attributes.\u003Cbr \u002F>\n   The fields locker is unlocked for the attribute types which are not synchronized.\u003C\u002Fli>\n\u003Cli>Fix: Global Product Attributes can now be individually configured in Polylang:\u003Cbr \u002F>\n         When Settings\\WooPoly Translation attributes is checked then attributes appear in Polylang:\u003Cbr \u002F>\n   Languages\\Settings\\Custom Taxonomies lists the individual taxonomies\u003Cbr \u002F>\n         Previously all attributes translation were forced on: now they can be selectively turned\u003Cbr \u002F>\n   on and off.  This means that there is no longer any need to create dummy translations for\u003Cbr \u002F>\n   untranslateable values such as reference codes and numeric fields.  Fixes #127.\u003Cbr \u002F>\nCHANGE: new Product Attributes are no longer automatically enabled for translation,\u003Cbr \u002F>\n   After creating new Attribute, enable Translation in Polylang if needed by checking:\u003Cbr \u002F>\n         Languages\\Settings\\Custom Taxonomies \u003C\u002Fli>\n\u003Cli>\n\u003Cp>Enh: Missing Term Translations are now added by default. Fixes #72\u003Cbr \u002F>\n         Applies to Products\\Categories, Products\\Tags, Products\\Attributes\u003Cbr \u002F>\n   Previously missing term translations caused\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Fixes #123 Fields Locker performance optimisation\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>Fixes #155, fixes #81, fixes #99 Gateways fix gateway load issues by moving initialization to wp_loaded\u003C\u002Fli>\n\u003Cli>Fixes #149 Enable duplication of variable products\u003C\u002Fli>\n\u003Cli>Fixes #165 upsets\u002Fcrosssells handling in wooCommerce3\u003C\u002Fli>\n\u003Cli>Fixes #159 Attribute Terms synchronization issues\u003C\u002Fli>\n\u003Cli>Fixes: #148 WooCommerce3 product_visibility is now a taxonomy not a meta item  \u003C\u002Fli>\n\u003Cli>Fixes: #153 Fields locker doesn’t correctly lock Product Attributes of type Select \u003C\u002Fli>\n\u003Cli>Fixes: #147 When adding new variations, tool should also add the new variation to other languages\u003C\u002Fli>\n\u003Cli>Fix #137 #131 #130 #110 #117, #97, #94, #84, #83, #82 adaptations for wooCommerce 3.0\u003C\u002Fli>\n\u003Cli>Fix #136 Variable product stock sync issue where stock managed at parent level\u003C\u002Fli>\n\u003Cli>Enh #132 Add settings Page link to plugins page\u003C\u002Fli>\n\u003Cli>Fix #128 Allow variation description to be editable in translations\u003C\u002Fli>\n\u003Cli>Fix #129 #138 Account page only shows orders in current language\u003C\u002Fli>\n\u003Cli>Fix #112 Shipping Class are not sync for Product Variations\u003C\u002Fli>\n\u003Cli>Fix #140, #142, #143, #89, #70 Email Translation issues\u003C\u002Fli>\n\u003Cli>Fix #145 correct link from Polylang to Attributes Strings translations\u003C\u002Fli>\n\u003Cli>Fix #95 WooCommmerce product shortcodes not filtering by language\u003C\u002Fli>\n\u003Cli>Fix #104 Tax by allowing translation of Price Display Suffix\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>0.29.1\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Improve Multisite compatibility \u003C\u002Fli>\n\u003Cli>Fix variation description couldnt be translated\u003C\u002Fli>\n\u003Cli>Fix PHP Notices when translating variable products with variations\u003C\u002Fli>\n\u003Cli>Fix wc translation download\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>0.29\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Fix PHP notice in Reports when products dont have translations\u003C\u002Fli>\n\u003Cli>Fixed PHP notice due to Polylang deprecated functions\u003C\u002Fli>\n\u003Cli>Fixed WordPress database error in reports page\u003C\u002Fli>\n\u003Cli>Fixed missing argument warning in order detailspage and emails\u003C\u002Fli>\n\u003Cli>Fixed strpos() empty needle warning for empty endpoints\u003C\u002Fli>\n\u003Cli>Fixed removing email instructions from 3rd party payment gateways\u003C\u002Fli>\n\u003Cli>Fixed not detecting whether polylang pro is active\u003C\u002Fli>\n\u003Cli>Fixed unable to unselect a complete settings section \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F51\" rel=\"nofollow ugc\">Issue #51\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Fixed Fields Locker is not working in variation tab \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F76\" rel=\"nofollow ugc\">Issue #76\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Tested and confirmed working on WordPress 4.6.1, Polylang 2.0.7 and WooCommerce 2.6.7\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>0.28\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fpull\u002F49\" rel=\"nofollow ugc\">Fixed order emails translation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fpull\u002F50\" rel=\"nofollow ugc\">Fixed shipment methods translation and added support for WooCommerce 2.6.\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fpull\u002F52\" rel=\"nofollow ugc\">Fixed payment gateways translation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fpull\u002F53\" rel=\"nofollow ugc\">Added WC2.6 cart page ajax support\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fpull\u002F55\" rel=\"nofollow ugc\">Fixed backend html orders screen\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fpull\u002F56\" rel=\"nofollow ugc\">Fixed product type dropdown selection\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fpull\u002F60\" rel=\"nofollow ugc\">Fixed translation of products variations created before plugin activation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fpull\u002F61\" rel=\"nofollow ugc\">Fixed variable products default attributes sync\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fpull\u002F62\" rel=\"nofollow ugc\">Fixed variable products (non-taxonomies) attributes sync\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fpull\u002F63\" rel=\"nofollow ugc\">Fixed product shipping class for websites running WooCommerce 2.6 or higher\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fpull\u002F64\" rel=\"nofollow ugc\">Fixed cart translation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fpull\u002F65\" rel=\"nofollow ugc\">Fixed coupons with multiple products\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fpull\u002F66\" rel=\"nofollow ugc\">Fixed coupon with multiple products\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Tested and confirmed working on WordPress 4.6.1 and Polylang 2.0.4\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>0.27\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Updated \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fpull\u002F32\" rel=\"nofollow ugc\">TranslationsDownloader\u003C\u002Fa> to fetch languages files from woocommerce translation project\u003C\u002Fli>\n\u003Cli>Fixed Issue \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F12\" rel=\"nofollow ugc\">#12 : Wrong Return URL after Payment\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Fixed Issue \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F46\" rel=\"nofollow ugc\">#46 : PLugin is not activated when wordpress multisite is enabled \u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Fixed Issue \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F26\" rel=\"nofollow ugc\">#26 : variation product and stock sync with language \u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Fixed Issue \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F35\" rel=\"nofollow ugc\">#35 : Error Message: The plugin can not function correctly\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Fixed Issue \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F16\" rel=\"nofollow ugc\">#16 : Catchable fatal error: Order List on Dashboard getProductTranslationByObject() is being given a Boolean instead of an WC_Product Object\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Fixed Issue \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F42\" rel=\"nofollow ugc\">#42 : pll_get_post not defined error\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Fixed Issue \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F43\" rel=\"nofollow ugc\">#43 : Call to undefined function Hyyan\\WPI\\pll_default_language()\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Fixed Issue \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F44\" rel=\"nofollow ugc\">#44 : PLL()->model->get_translations is deprecated\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Fixed Issue \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F45\" rel=\"nofollow ugc\">#45 : Fatal error: Call to undefined function Hyyan\\WPI\\pll_get_post_language()\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>0.25\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Add the ability to handle the locale code of Paypal checkout\u003C\u002Fli>\n\u003Cli>Fixed locale for emails that are triggered by a Paypal IPN message\u003C\u002Fli>\n\u003Cli>Fixed fields locker is not working in Firefox browser\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>0.24\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Added support for Layered Nav Widget\u003C\u002Fli>\n\u003Cli>Added support for endpoints translation\u003C\u002Fli>\n\u003Cli>Fixed products are duplicated when shop page is set as front page\u003C\u002Fli>\n\u003Cli>Fixed \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Funable-to-open-order-details-after-20-upgrade\" rel=\"ugc\">Unable to open order details after 0.20 upgrade\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Fixed translations links are not hidden in the order page\u003C\u002Fli>\n\u003Cli>Fixed email is not translated when complete button is used in orders table\u003C\u002Fli>\n\u003Cli>General code improvements\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>0.23\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Added support for Woocommerce search widget @see \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fduplicated-search-result\" rel=\"ugc\">Duplicated search result\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Fixed translation downloader tries to download woo translations for en_US locale\u003C\u002Fli>\n\u003Cli>Fixed wrong product duplicate behavior \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>0.22\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Added Translation Downloader to auto download woocommerce translation files when a new polylang language is add\u003C\u002Fli>\n\u003Cli>Added Arabic translation\u003C\u002Fli>\n\u003Cli>Fixed translation links are hidden in posts page\u003C\u002Fli>\n\u003Cli>General code improvements\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>0.21\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Added admin interface to allow user to control plugin features\u003C\u002Fli>\n\u003Cli>Added link for every attribute to search for its translation in the polylang strings table\u003C\u002Fli>\n\u003Cli>Added generic fields locker\u003C\u002Fli>\n\u003Cli>Added POT file for translation\u003C\u002Fli>\n\u003Cli>Fixed product_type is not synced in 0.20 version\u003C\u002Fli>\n\u003Cli>General code improvements\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>0.20\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Added the ability to sync total_sales when stock value is changed\u003C\u002Fli>\n\u003Cli>Added the ability to combine product report with its translation\u003C\u002Fli>\n\u003Cli>Added the ability to combine category report with its translation\u003C\u002Fli>\n\u003Cli>Fixed database error in sales_be_category reports\u003C\u002Fli>\n\u003Cli>Fixed Orders Interface to use the current user language instead of the order language\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>0.19\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Added the ability to set the write permalinks that can work with polylang if the default woocomerce permalinks are used\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>0.18\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Added basic support for reports (filter by language)\u003C\u002Fli>\n\u003Cli>General fixes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>0.17.2\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Fixed issue#2 (https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002Fissues\u002F2)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>0.17.1\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Removed wrong php used statement\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>0.17\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Fixed (Polylang language switcher is disabled even if there is no variable products)\u003C\u002Fli>\n\u003Cli>Added the ability to sync product category custom fields\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>0.16\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Added support for product gallery translation\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>0.15\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Extended meta list to include _visibility\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>0.14\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Released in the wordpress repository\u003C\u002Fli>\n\u003C\u002Ful>\n","Given that I am not using Wordpress these days and I haven't really been using WooPoly for a while. I am looking for maintainers to take over thi &hellip;",9000,188419,94,123,"2021-02-16T17:09:00.000Z","5.6.17","5.4","7.0",[20,21,22,23,24],"bilingual","cms","multilingual","polylang","woocommerce","https:\u002F\u002Fgithub.com\u002Fhyyan\u002Fwoo-poly-integration\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwoo-poly-integration.1.5.0.zip",63,1,"2026-01-18 00:00:00","2026-03-15T15:16:48.613Z",[32],{"id":33,"url_slug":34,"title":35,"description":36,"plugin_slug":4,"theme_slug":37,"affected_versions":38,"patched_in_version":37,"severity":39,"cvss_score":40,"cvss_vector":41,"vuln_type":42,"published_date":29,"updated_date":43,"references":44,"days_to_patch":37},"CVE-2026-24585","hyyan-woocommerce-polylang-integration-missing-authorization","Hyyan WooCommerce Polylang Integration \u003C= 1.5.0 - Missing Authorization","The Hyyan WooCommerce Polylang Integration plugin for WordPress is vulnerable to unauthorized access due to a missing capability check on a function in versions up to, and including, 1.5.0. This makes it possible for authenticated attackers, with contributor-level access and above, to perform an unauthorized action.",null,"\u003C=1.5.0","medium",4.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Missing Authorization","2026-01-27 19:23:05",[45],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F3a7440e2-637a-4f24-8452-e269e559aa17?source=api-prod",{"slug":47,"display_name":7,"profile_url":8,"plugin_count":28,"total_installs":11,"avg_security_score":27,"avg_patch_time_days":48,"trust_score":49,"computed_at":50},"hyyan",30,68,"2026-04-04T07:03:59.280Z",[52,75,93,107,123],{"slug":53,"name":54,"version":55,"author":56,"author_profile":57,"description":58,"short_description":59,"active_installs":60,"downloaded":61,"rating":62,"num_ratings":63,"last_updated":64,"tested_up_to":65,"requires_at_least":66,"requires_php":67,"tags":68,"homepage":71,"download_link":72,"security_score":73,"vuln_count":74,"unpatched_count":74,"last_vuln_date":37,"fetched_at":30},"wpml-to-polylang","WPML to Polylang","0.6","Chouby","https:\u002F\u002Fprofiles.wordpress.org\u002Fchouby\u002F","\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Imports languages and WPML options (when the same options exist in Polylang).\u003C\u002Fli>\n\u003Cli>Imports posts and terms languages as well as translations (including for custom post types and custom taxonomies).\u003C\u002Fli>\n\u003Cli>Imports multilingual nav menus.\u003C\u002Fli>\n\u003Cli>Imports strings translations.\u003C\u002Fli>\n\u003Cli>Does not delete WPML data.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Important\u003C\u002Fh4>\n\u003Cp>Although WPML data should not be corrupted, as Polylang data are created without deleting anything, \u003Cstrong>make a database backup before proceeding\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>How to proceed?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>De-activate WPML\u003C\u002Fli>\n\u003Cli>Activate Polylang or \u003Ca href=\"https:\u002F\u002Fpolylang.pro\" rel=\"nofollow ugc\">Polylang Pro\u003C\u002Fa> and WPML to Polylang. Do \u003Cstrong>not\u003C\u002Fstrong> create any language with Polylang (they will be imported).\u003C\u002Fli>\n\u003Cli>Go to Tools -> WPML Importer.\u003C\u002Fli>\n\u003Cli>If all checks are passed, then you can click on ‘Import’.\u003C\u002Fli>\n\u003Cli>De-activate WPML to Polylang (You can even delete it).\u003C\u002Fli>\n\u003Cli>Setup a language switcher either as a widget or in nav menus.\u003C\u002Fli>\n\u003Cli>Check that everything is OK.\u003C\u002Fli>\n\u003Cli>If something went wrong and you want to revert to WPML, you can delete Polylang using the red link in the Plugins table. To delete all data created for Polylang, Please read \u003Ca href=\"https:\u002F\u002Fpolylang.pro\u002Fdoc\u002Fhow-to-uninstall-polylang\u002F\" rel=\"nofollow ugc\">how\u003C\u002Fa> \u003Cstrong>before\u003C\u002Fstrong> deleting Polylang. Finally you can re-activate WPML.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Notes\u003C\u002Fh4>\n\u003Cp>This plugin does not include error management. It has however been tested successfully to migrate a site with about 9,000 posts and media.\u003C\u002Fp>\n\u003Ch4>Credits\u003C\u002Fh4>\n\u003Cp>The banner and icon were designed by \u003Ca href=\"http:\u002F\u002Fwww.alexlopez.rocks\u002F\" rel=\"nofollow ugc\">Alex Lopez\u003C\u002Fa>\u003C\u002Fp>\n","Import multilingual data from WPML into Polylang.",6000,152273,100,20,"2024-11-04T16:05:00.000Z","6.7.5","5.8","5.6",[20,69,22,23,70],"importer","wpml","https:\u002F\u002Fpolylang.pro","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwpml-to-polylang.0.6.zip",92,0,{"slug":76,"name":77,"version":78,"author":79,"author_profile":80,"description":81,"short_description":82,"active_installs":63,"downloaded":83,"rating":74,"num_ratings":74,"last_updated":84,"tested_up_to":85,"requires_at_least":86,"requires_php":67,"tags":87,"homepage":90,"download_link":91,"security_score":92,"vuln_count":74,"unpatched_count":74,"last_vuln_date":37,"fetched_at":30},"switch-polylang-to-ukrainian-language","Switch Polylang To Ukrainian language","0.2","svoy_man","https:\u002F\u002Fprofiles.wordpress.org\u002Fsvoy_man\u002F","\u003Cp>This plug-in will display a popup with language selection in order for the page to open in Ukrainian for the law ‘Law on translating websites into Ukrainian’.\u003C\u002Fp>\n","Displays a popup with languages. For Ukraine, so that the Ukrainian version opens first by default.",902,"2023-11-30T14:04:00.000Z","6.4.8","5.0",[20,22,23,88,89],"translate","translation","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fswitch-polylang-to-ukrainian-language.0.2.zip",85,{"slug":94,"name":95,"version":96,"author":97,"author_profile":98,"description":99,"short_description":100,"active_installs":74,"downloaded":101,"rating":74,"num_ratings":74,"last_updated":90,"tested_up_to":102,"requires_at_least":103,"requires_php":90,"tags":104,"homepage":90,"download_link":105,"security_score":62,"vuln_count":74,"unpatched_count":74,"last_vuln_date":37,"fetched_at":106},"multilingual-polylang","Multilingual Polylang","1.0.1","Aptivate","https:\u002F\u002Fprofiles.wordpress.org\u002Faptivate\u002F","\u003Cp>This plugin, which requires \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpolylang\u002F\" rel=\"ugc\">polylang\u003C\u002Fa>\u003Cbr \u002F>\nprovides the means to include posts that have no translation in the current\u003Cbr \u002F>\nlanguage on pages of posts.\u003C\u002Fp>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cp>Multilingual Polylang provides two public functions:\u003C\u002Fp>\n\u003Cp>The function \u003Ccode>MultilingualPolylang::get_query()\u003C\u002Fcode> returns a \u003Ccode>WP_Query\u003C\u002Fcode> object with posts from\u003Cbr \u002F>\nall languages but where there is a translated post, only the post in the current\u003Cbr \u002F>\nlanguage will be included\u003C\u002Fp>\n\u003Cp>The function \u003Ccode>MultilingualPolylang::get_permalink()\u003C\u002Fcode> can be used as a drop-in replacement to\u003Cbr \u002F>\n    get_permalink(). This will replace the language in a post URL so that a post\u003Cbr \u002F>\ncan be viewed in a language different to that of the rest of the interface.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Faptivate\u002Fmultilingual-polylang\" rel=\"nofollow ugc\">Follow this project on GitHub\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Development\u003C\u002Fh3>\n\u003Cp>This plugin uses \u003Ca href=\"http:\u002F\u002Fwp-cli.org\u002F\" rel=\"nofollow ugc\">wp-cli\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fphpunit.de\u002F\" rel=\"nofollow ugc\">PHPUnit\u003C\u002Fa> for testing.\u003C\u002Fp>\n\u003Ch4>Download the source code from GitHub\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>$ git clone git@github.com:aptivate\u002Fmultilingual-polylang.git\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Install wp-cli\u003C\u002Fh4>\n\u003Cp>If not already present, install \u003Ca href=\"http:\u002F\u002Fwp-cli.org\u002F#install\" rel=\"nofollow ugc\">wp-cli\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Install PHPUnit\u003C\u002Fh4>\n\u003Cp>If not already present, install \u003Ca href=\"https:\u002F\u002Fphpunit.de\u002F\" rel=\"nofollow ugc\">PHPUnit\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Install the test WordPress environment\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>$ cd multilingual-polylang\n$ bash bin\u002Finstall-wp-tests.sh test_db_name db_user 'db_password' db_host version\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>where:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>&nbsp;\u003Ccode>test_db_name\u003C\u002Fcode> is the name of your \u003Cstrong>temporary\u003C\u002Fstrong> test WordPress database\u003C\u002Fli>\n\u003Cli>&nbsp;\u003Ccode>db_user\u003C\u002Fcode> is the database user name\u003C\u002Fli>\n\u003Cli>&nbsp;\u003Ccode>db_password\u003C\u002Fcode> is the password\u003C\u002Fli>\n\u003Cli>&nbsp;\u003Ccode>db_host\u003C\u002Fcode> is the database host (eg \u003Ccode>localhost\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>&nbsp;\u003Ccode>version\u003C\u002Fcode> is the version of WordPress (eg \u003Ccode>4.7.5\u003C\u002Fcode> or \u003Ccode>latest\u003C\u002Fcode>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Run the tests\u003C\u002Fh4>\n\u003Cp>From the plugin directory:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$ phpunit\n\u003C\u002Fcode>\u003C\u002Fpre>\n","This plugin, which requires polylang",1444,"4.7.32","4.0",[20,22,23,88,89],"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmultilingual-polylang.1.0.1.zip","2026-03-15T10:48:56.248Z",{"slug":108,"name":109,"version":110,"author":111,"author_profile":112,"description":113,"short_description":114,"active_installs":74,"downloaded":115,"rating":74,"num_ratings":74,"last_updated":116,"tested_up_to":117,"requires_at_least":86,"requires_php":118,"tags":119,"homepage":90,"download_link":122,"security_score":62,"vuln_count":74,"unpatched_count":74,"last_vuln_date":37,"fetched_at":30},"show-language-counts-for-polylang","Show Language Counts for Polylang","1.0.0","Prakhar Kant Tripathi","https:\u002F\u002Fprofiles.wordpress.org\u002Fppprakhar\u002F","\u003Cp>A lightweight helper plugin for \u003Cstrong>Polylang\u003C\u002Fstrong> users.\u003Cbr \u002F>\nThis plugin shows \u003Cstrong>per-language counts\u003C\u002Fstrong> for posts, products, pages, and any custom post types that you have enabled in Polylang.\u003C\u002Fp>\n\u003Cp>It \u003Cstrong>does not change\u003C\u002Fstrong> WordPress’s built-in counters (\u003Ccode>All\u003C\u002Fcode>, \u003Ccode>Published\u003C\u002Fcode>, \u003Ccode>Draft\u003C\u002Fcode>).\u003Cbr \u002F>\nInstead, it adds a clean \u003Cstrong>info box\u003C\u002Fstrong> above the list table showing counts for each language.\u003C\u002Fp>\n\u003Cp>Works for:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Blog posts\u003C\u002Fli>\n\u003Cli>Pages\u003C\u002Fli>\n\u003Cli>WooCommerce products\u003C\u002Fli>\n\u003Cli>Elementor templates\u003C\u002Fli>\n\u003Cli>Any post type activated under\u003Cbr \u002F>\n\u003Cem>Languages \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Custom post types and Taxonomies\u003C\u002Fem>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>✨ Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Automatically detects all Polylang-enabled post types\u003C\u002Fli>\n\u003Cli>Shows \u003Cstrong>published count\u003C\u002Fstrong> and \u003Cstrong>total count\u003C\u002Fstrong> per language\u003C\u002Fli>\n\u003Cli>Works on all \u003Ccode>edit.php\u003C\u002Fcode> screens (Posts, Products, Templates, etc.)\u003C\u002Fli>\n\u003Cli>No database changes, safe & lightweight\u003C\u002Fli>\n\u003Cli>Compatible with:\n\u003Cul>\n\u003Cli>Polylang (free)\u003C\u002Fli>\n\u003Cli>Polylang Pro\u003C\u002Fli>\n\u003Cli>WooCommerce\u003C\u002Fli>\n\u003Cli>Elementor\u003C\u002Fli>\n\u003Cli>WordPress Multisite\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>📝 Example Output\u003C\u002Fh3>\n\u003Cp>A small info box appears above the list:\u003C\u002Fp>\n\u003Cp>  Language\u003Cbr \u002F>\n  Published\u003Cbr \u002F>\n  All Statuses\u003C\u002Fp>\n\u003Cp>  Svenska (sv)\u003Cbr \u002F>\n  350\u003Cbr \u002F>\n  360\u003C\u002Fp>\n\u003Cp>  English (en)\u003Cbr \u002F>\n  280\u003Cbr \u002F>\n  290\u003C\u002Fp>\n\u003Ch3>🎯 Why You Need This\u003C\u002Fh3>\n\u003Cp>Polylang does not display language-wise counts in the admin.\u003Cbr \u002F>\nStore owners and content editors often need to know:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>How many products are translated?\u003C\u002Fli>\n\u003Cli>How many posts exist per language?\u003C\u002Fli>\n\u003Cli>How many items are missing in one language?\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin solves that without modifying WP core behavior.\u003C\u002Fp>\n\u003Cp>Polylang is a registered trademark of WP SYNTEX.\u003Cbr \u002F>\nThis plugin is an independent addon and is not affiliated with or endorsed by WP SYNTEX or the Polylang plugin.\u003C\u002Fp>\n","Adds per-language counts for Polylang-enabled posts and products in the admin without changing default counters. Unofficial, unaffiliated helper.",115,"2025-12-04T21:18:00.000Z","6.9.4","7.4",[120,22,23,121,24],"admin-tools","post-count","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fshow-language-counts-for-polylang.1.0.0.zip",{"slug":124,"name":125,"version":126,"author":127,"author_profile":128,"description":129,"short_description":130,"active_installs":131,"downloaded":132,"rating":13,"num_ratings":133,"last_updated":134,"tested_up_to":117,"requires_at_least":135,"requires_php":118,"tags":136,"homepage":138,"download_link":139,"security_score":73,"vuln_count":140,"unpatched_count":74,"last_vuln_date":141,"fetched_at":30},"translatepress-multilingual","Translate Multilingual sites – TranslatePress","3.1.1","Cozmoslabs","https:\u002F\u002Fprofiles.wordpress.org\u002Fcozmoslabs\u002F","\u003Cp>\u003Cstrong>Experience a better way to translate your WordPress site and go multilingual, directly from the front-end using a visual translation interface.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>TranslatePress is a \u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">WordPress translation plugin\u003C\u002Fa> that anyone can use.\u003C\u002Fp>\n\u003Cp>The interface allows you to easily translate the entire page at once, including output from shortcodes, forms and page builders. It also works out of the box with WooCommerce.\u003C\u002Fp>\n\u003Cp>Built the WordPress way, TranslatePress – Multilingual is a GPL and self hosted translation plugin, meaning you’ll own all your translations, forever. It’s the fastest way to create a bilingual or \u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Fhow-to-create-a-multilingual-wordpress-site\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">multilingual site\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FEMBdXuyrZUA?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Ch3>Multilingual & Translation Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Translate all your website content directly from the front-end, in a friendly user interface (translations are displayed in real-time).\u003C\u002Fli>\n\u003Cli>Fully compatible with all themes and plugins\u003C\u002Fli>\n\u003Cli>Live preview of your translated pages, as you edit them.\u003C\u002Fli>\n\u003Cli>Automatic translation support through \u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Fai-free\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">TranslatePress AI Free\u003C\u002Fa>, with a 2.000 AI words limit.\u003C\u002Fli>\n\u003Cli>Integrates with Google Translate, allowing you to set up unlimited automatic translations using your own Google API key.\u003C\u002Fli>\n\u003Cli>Fully customizable language switcher that you can display as a menu item, a floating dropdown, or place anywhere else using the Language Switcher block, or the \u003Cstrong>[language-switcher]\u003C\u002Fstrong> shortcode.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Fdocs\u002Fimage-translation\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">Image translation\u003C\u002Fa> support, for \u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Ftranslate-images-in-wordpress\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">translating images, sliders and other media\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Support for both manual and automatic translation\u003C\u002Fli>\n\u003Cli>Ability to \u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Ftranslate-dynamic-strings-wordpress\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">translate dynamic strings\u003C\u002Fa> (gettext) added by WordPress, plugins and themes.\u003C\u002Fli>\n\u003Cli>Translate larger html blocks by merging strings into translation blocks.\u003C\u002Fli>\n\u003Cli>Editorial control allowing you to publish your language only when all your translations are done\u003C\u002Fli>\n\u003Cli>Conditional display content shortcode based on language [trp_language language=”en_US”] English content only [\u002Ftrp_language]\u003C\u002Fli>\n\u003Cli>Possibility to \u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Fedit-plugin-strings\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">edit gettext strings\u003C\u002Fa> from themes and plugins from English to English, without adding another language. Basically a string-replace functionality.\u003C\u002Fli>\n\u003Cli>Translate only certain paths and \u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Fpartially-translate-wordpress-exclude-posts-pages-products\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">exclude content from being translated\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Translation Block feature in which you can translate multiple html elements together\u003C\u002Fli>\n\u003Cli>Native \u003Cstrong>Gutenberg\u003C\u002Fstrong> support, so you can easily \u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Ftranslate-gutenberg-blocks-in-wordpress\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">translate Gutenberg blocks\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Out of the box \u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Ftranslate-woocommerce-products-translatepress\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">WooCommerce\u003C\u002Fa> compatibility\u003C\u002Fli>\n\u003Cli>Use our \u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Ffree-website-translation-tool-widget\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">FREE Website Translation\u003C\u002Fa> tool\u002Fwidget to browse any website into your own language.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Note: this plugin uses the Google Translation API to translate the strings on your site. This feature can be enabled or disabled according to your preferences.\u003C\u002Fp>\n\u003Cp>Users with administrator rights have access to the following settings:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>select default language of the website and one translation language, for bilingual sites\u003C\u002Fli>\n\u003Cli>choose whether language switcher should display languages in their native names or English name\u003C\u002Fli>\n\u003Cli>force custom links to open in current language\u003C\u002Fli>\n\u003Cli>enable or disable url subdirectory for the default language\u003C\u002Fli>\n\u003Cli>enable automatic translation via Google Translate\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Powerful Translation Add-ons\u003C\u002Fh3>\n\u003Cp>TranslatePress – Multilingual has a range of \u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">premium Add-ons\u003C\u002Fa> that allow you to extend the power of this WordPress translation plugin:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Pro Add-ons\u003C\u002Fstrong> (available in the \u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Fpricing\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">premium versions\u003C\u002Fa> only)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Full \u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Fai\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">TranslatePress AI\u003C\u002Fa> access – automatically translate your entire website without extra platforms to sign up for, API keys, and additional translation costs. Each premium version includes a set number of AI translated words you can use to instantly translate your site, saving you both time and money.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Fdocs\u002Faddons\u002Fmultiple-languages\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">Extra Languages\u003C\u002Fa> – allows you to add an unlimited number of translation languages, with the possibility to publish languages later after you complete the translation\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Fdocs\u002Faddons\u002Fseo-pack\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">SEO Pack\u003C\u002Fa> – lets you translate meta information (like page title, description, url slug, image alt tag, Twitter and Facebook Social Graph tags & more) for boosting your multilingual SEO and increase traffic. Works with all popular SEO plugins.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Fdocs\u002Fdevelopers\u002Fdifferent-domain-per-language\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">Different Domain per Language\u003C\u002Fa> – assign a different domain to each language you add (e.g. domain.de, domain.es) and improve international SEO by creating a fully local experience for your visitors\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Fdocs\u002Faddons\u002Ftranslator-accounts\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">Translator Accounts\u003C\u002Fa> – create or allow existing users to translate the site without admin rights\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Fdocs\u002Faddons\u002Fbrowse-as-role\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">Browse as User Role\u003C\u002Fa> – view and translate content that is visible only to a particular user role\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Fdocs\u002Faddons\u002Fnavigate-based-language\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">Navigation Based on Language\u003C\u002Fa> – configure and display different menu items for different languages\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Fdocs\u002Faddons\u002Fautomatic-user-language-detection\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">Automatic User Language Detection\u003C\u002Fa> – redirect first time visitors to their preferred language based on their browser settings or IP address\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Fdocs\u002Faddons\u002Fdeepl-automatic-translation\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">DeepL Automatic Translation\u003C\u002Fa> – The DeepL Automatic Translation add-on lets you automatically translate your website through the DeepL API\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Keyboard Shortcuts\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>CTRL ( ⌘ ) + S\u003C\u002Fstrong> – Save translation for the currently editing strings\u003C\u002Fli>\n\u003Cli>\u003Cstrong>CTRL ( ⌘ ) + ALT + Z\u003C\u002Fstrong> – Discard all changes for the currently editing strings\u003C\u002Fli>\n\u003Cli>\u003Cstrong>CTRL ( ⌘ ) + ALT + \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan>\u003C\u002Fstrong> (Right Arrow) – Navigate to next string\u003C\u002Fli>\n\u003Cli>\u003Cstrong>CTRL ( ⌘ ) + ALT + \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">←\u003C\u002Fspan>\u003C\u002Fstrong> (Left Arrow) – Navigate to previous string\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Website\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">translatepress.com\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Documentation\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Fdocs\u002Ftranslatepress\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">Visit TranslatePress WordPress Translation plugin documentation page\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Add-ons\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Ftranslatepress.com\u002Fdocs\u002Ftranslatepress\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">Add-ons\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Demo Site\u003C\u002Fh4>\n\u003Cp>You can test out TranslatePress – Multilingual plugin by \u003Ca href=\"https:\u002F\u002Fdemo.translatepress.com\u002F?utm_source=wp.org&utm_medium=tp-description-page&utm_campaign=TPFree\" rel=\"nofollow ugc\">visiting our demo site\u003C\u002Fa>\u003C\u002Fp>\n","Translate your entire site directly from the front-end and go multilingual. Full support for WooCommerce, page builders + Google Translate integration",400000,17448148,1606,"2026-03-09T14:13:00.000Z","3.1.0",[137,20,22,88,89],"automatic-translation","https:\u002F\u002Ftranslatepress.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftranslatepress-multilingual.3.1.1.zip",5,"2025-09-24 00:00:00",{"attackSurface":143,"codeSignals":707,"taintFlows":766,"riskAssessment":801,"analyzedAt":817},{"hooks":144,"ajaxHandlers":695,"restRoutes":703,"shortcodes":704,"cronEvents":705,"entryPointCount":706,"unprotectedCount":706},[145,150,154,159,166,171,176,180,184,188,192,196,200,204,208,212,216,219,223,228,231,235,239,242,245,248,251,254,257,260,263,266,269,272,275,278,281,284,287,290,293,296,299,302,305,308,311,314,317,320,323,326,329,332,335,338,341,344,347,351,354,357,361,364,368,372,376,380,384,388,392,394,397,400,405,407,410,414,417,420,423,427,431,436,439,442,446,449,451,453,457,460,463,466,469,472,475,477,479,482,485,488,493,497,501,505,508,511,514,517,520,523,527,528,529,532,534,537,539,542,544,547,550,553,557,560,564,568,571,574,575,578,580,583,585,587,591,594,597,599,602,604,606,611,615,618,621,624,627,630,634,638,641,644,646,650,653,657,659,663,666,668,672,675,678,682,687,691],{"type":146,"name":147,"callback":148,"file":149,"line":48},"action","admin_init","init","src\\Hyyan\\WPI\\Admin\\Settings.php",{"type":146,"name":151,"callback":152,"file":149,"line":153},"admin_menu","registerMenu",31,{"type":146,"name":155,"callback":156,"file":157,"line":158},"woocommerce_system_status_report","wpi_status_report","src\\Hyyan\\WPI\\Admin\\StatusReport.php",8,{"type":160,"name":161,"callback":162,"priority":163,"file":164,"line":165},"filter","woocommerce_ajax_get_endpoint","filter_woocommerce_ajax_get_endpoint",10,"src\\Hyyan\\WPI\\Ajax.php",28,{"type":160,"name":167,"callback":168,"priority":163,"file":169,"line":170},"woocommerce_breadcrumb_home_url","translateBreadrumbHomeUrl","src\\Hyyan\\WPI\\Breadcrumb.php",27,{"type":160,"name":172,"callback":173,"priority":163,"file":174,"line":175},"woocommerce_add_to_cart_product_id","addToCart","src\\Hyyan\\WPI\\Cart.php",33,{"type":160,"name":177,"callback":178,"priority":163,"file":174,"line":179},"woocommerce_cart_item_product","translateCartItemProduct",36,{"type":160,"name":181,"callback":182,"priority":163,"file":174,"line":183},"woocommerce_cart_item_product_id","translateCartItemProductId",37,{"type":160,"name":185,"callback":186,"priority":163,"file":174,"line":187},"woocommerce_cart_item_permalink","translateCartItemPermalink",38,{"type":160,"name":189,"callback":190,"priority":163,"file":174,"line":191},"woocommerce_get_item_data","translateCartItemData",39,{"type":146,"name":193,"callback":194,"priority":62,"file":174,"line":195},"wp_enqueue_scripts","replaceCartFragmentsScript",42,{"type":146,"name":197,"callback":198,"file":199,"line":187},"woocommerce_coupon_loaded","couponLoaded","src\\Hyyan\\WPI\\Coupon.php",{"type":146,"name":201,"callback":202,"file":199,"line":203},"wp_loaded","adminRegisterCouponStrings",40,{"type":160,"name":205,"callback":206,"priority":63,"file":199,"line":207},"woocommerce_cart_totals_coupon_label","translateLabel",43,{"type":160,"name":209,"callback":210,"priority":163,"file":199,"line":211},"woocommerce_coupon_get_description","translateDescription",45,{"type":160,"name":213,"callback":214,"priority":163,"file":199,"line":215},"woocommerce_coupon_get__wjecf_enqueue_message","translateMessage",56,{"type":160,"name":217,"callback":214,"priority":163,"file":199,"line":218},"woocommerce_coupon_get__wjecf_select_free_product_message",58,{"type":160,"name":220,"callback":221,"priority":163,"file":199,"line":222},"woocommerce_coupon_get__wjecf_free_product_ids","getFreeProductsInLanguage",60,{"type":160,"name":224,"callback":225,"priority":163,"file":226,"line":227},"woocommerce_email_subject_new_order","filter_email_subject","src\\Hyyan\\WPI\\Emails.php",122,{"type":160,"name":229,"callback":230,"priority":163,"file":226,"line":14},"woocommerce_email_heading_new_order","filter_email_heading",{"type":160,"name":232,"callback":233,"priority":163,"file":226,"line":234},"woocommerce_email_recipient_new_order","filter_email_recipient",124,{"type":160,"name":236,"callback":237,"priority":163,"file":226,"line":238},"woocommerce_email_additional_content_new_order","filter_email_additional_content",125,{"type":160,"name":240,"callback":225,"priority":163,"file":226,"line":241},"woocommerce_email_subject_customer_processing_order",128,{"type":160,"name":243,"callback":230,"priority":163,"file":226,"line":244},"woocommerce_email_heading_customer_processing_order",129,{"type":160,"name":246,"callback":237,"priority":163,"file":226,"line":247},"woocommerce_email_additional_content_customer_processing_order",130,{"type":160,"name":249,"callback":225,"priority":163,"file":226,"line":250},"woocommerce_email_subject_customer_refunded_order",132,{"type":160,"name":252,"callback":230,"priority":163,"file":226,"line":253},"woocommerce_email_heading_customer_refunded_order",133,{"type":160,"name":255,"callback":237,"priority":163,"file":226,"line":256},"woocommerce_email_additional_content_customer_refunded_order",134,{"type":160,"name":258,"callback":237,"priority":163,"file":226,"line":259},"woocommerce_email_additional_content_customer_partially_refunded_order",136,{"type":160,"name":261,"callback":225,"priority":163,"file":226,"line":262},"woocommerce_email_subject_customer_note",138,{"type":160,"name":264,"callback":230,"priority":163,"file":226,"line":265},"woocommerce_email_heading_customer_note",139,{"type":160,"name":267,"callback":237,"priority":163,"file":226,"line":268},"woocommerce_email_additional_content_customer_note",140,{"type":160,"name":270,"callback":225,"priority":163,"file":226,"line":271},"woocommerce_email_subject_customer_invoice",142,{"type":160,"name":273,"callback":230,"priority":163,"file":226,"line":274},"woocommerce_email_heading_customer_invoice",143,{"type":160,"name":276,"callback":237,"priority":163,"file":226,"line":277},"woocommerce_email_additional_content_customer_invoice",144,{"type":160,"name":279,"callback":225,"priority":163,"file":226,"line":280},"woocommerce_email_subject_customer_invoice_paid",146,{"type":160,"name":282,"callback":230,"priority":163,"file":226,"line":283},"woocommerce_email_heading_customer_invoice_paid",147,{"type":160,"name":285,"callback":237,"priority":163,"file":226,"line":286},"woocommerce_email_additional_content_customer_invoice_paid",148,{"type":160,"name":288,"callback":225,"priority":163,"file":226,"line":289},"woocommerce_email_subject_customer_completed_order",150,{"type":160,"name":291,"callback":230,"priority":163,"file":226,"line":292},"woocommerce_email_heading_customer_completed_order",151,{"type":160,"name":294,"callback":237,"priority":163,"file":226,"line":295},"woocommerce_email_additional_content_customer_completed_order",152,{"type":160,"name":297,"callback":225,"priority":163,"file":226,"line":298},"woocommerce_email_subject_customer_new_account",154,{"type":160,"name":300,"callback":230,"priority":163,"file":226,"line":301},"woocommerce_email_heading_customer_new_account",155,{"type":160,"name":303,"callback":237,"priority":163,"file":226,"line":304},"woocommerce_email_additional_content_customer_new_account",156,{"type":160,"name":306,"callback":225,"priority":163,"file":226,"line":307},"woocommerce_email_subject_customer_reset_password",158,{"type":160,"name":309,"callback":230,"priority":163,"file":226,"line":310},"woocommerce_email_heading_customer_reset_password",159,{"type":160,"name":312,"callback":237,"priority":163,"file":226,"line":313},"woocommerce_email_additional_content_customer_reset_password",160,{"type":160,"name":315,"callback":225,"priority":163,"file":226,"line":316},"woocommerce_email_subject_customer_on_hold_order",163,{"type":160,"name":318,"callback":230,"priority":163,"file":226,"line":319},"woocommerce_email_heading_customer_on_hold_order",164,{"type":160,"name":321,"callback":237,"priority":163,"file":226,"line":322},"woocommerce_email_additional_content_customer_on_hold_order",165,{"type":160,"name":324,"callback":225,"priority":163,"file":226,"line":325},"woocommerce_email_subject_cancelled_order",168,{"type":160,"name":327,"callback":230,"priority":163,"file":226,"line":328},"woocommerce_email_heading_cancelled_order",169,{"type":160,"name":330,"callback":233,"priority":163,"file":226,"line":331},"woocommerce_email_recipient_cancelled_order",170,{"type":160,"name":333,"callback":237,"priority":163,"file":226,"line":334},"woocommerce_email_additional_content_cancelled_order",171,{"type":160,"name":336,"callback":225,"priority":163,"file":226,"line":337},"woocommerce_email_subject_failed_order",174,{"type":160,"name":339,"callback":230,"priority":163,"file":226,"line":340},"woocommerce_email_heading_failed_order",175,{"type":160,"name":342,"callback":233,"priority":163,"file":226,"line":343},"woocommerce_email_recipient_failed_order",176,{"type":160,"name":345,"callback":237,"priority":163,"file":226,"line":346},"woocommerce_email_additional_content_failed_order",177,{"type":160,"name":348,"callback":349,"file":226,"line":350},"woocommerce_email_footer_text","translateCommonString",180,{"type":160,"name":352,"callback":349,"file":226,"line":353},"woocommerce_email_from_address",181,{"type":160,"name":355,"callback":349,"file":226,"line":356},"woocommerce_email_from_name",182,{"type":160,"name":358,"callback":359,"file":226,"line":360},"woocommerce_email_setup_locale","reset_lang_switch",185,{"type":160,"name":362,"callback":359,"file":226,"line":363},"woocommerce_email_restore_locale",186,{"type":146,"name":148,"callback":365,"priority":366,"file":367,"line":187},"rewriteEndpoints",11,"src\\Hyyan\\WPI\\Endpoints.php",{"type":146,"name":369,"callback":370,"file":367,"line":371},"woocommerce_update_options","addEndpoints",41,{"type":160,"name":373,"callback":374,"priority":62,"file":367,"line":375},"pre_update_option_rewrite_rules","updateRules",44,{"type":160,"name":377,"callback":378,"priority":163,"file":367,"line":379},"pll_the_language_link","correctPolylangSwitcherLinks",47,{"type":160,"name":381,"callback":382,"file":367,"line":383},"wp_get_nav_menu_items","fixMyAccountLinkInMenus",50,{"type":146,"name":385,"callback":386,"file":367,"line":387},"current_screen","showFlashMessages",53,{"type":160,"name":389,"callback":390,"file":391,"line":48},"woocommerce_paypal_args","setPaypalLocalCode","src\\Hyyan\\WPI\\Gateways.php",{"type":146,"name":201,"callback":393,"file":391,"line":175},"loadOnWpLoaded",{"type":160,"name":395,"callback":396,"priority":163,"file":391,"line":179},"woocommerce_gateway_title","translatePaymentGatewayTitle",{"type":160,"name":398,"callback":399,"priority":163,"file":391,"line":183},"woocommerce_gateway_description","translatePaymentGatewayDescription",{"type":146,"name":401,"callback":402,"file":403,"line":404},"load-settings_page_mlang","downlaodWhenPolylangAddLangauge","src\\Hyyan\\WPI\\Language.php",29,{"type":146,"name":406,"callback":402,"file":403,"line":175},"pll_add_language",{"type":146,"name":408,"callback":409,"file":403,"line":183},"woo-poly.settings.wpi-features_fields","addSettingFields",{"type":160,"name":411,"callback":412,"priority":163,"file":413,"line":165},"wc_get_price_decimal_separator","getLocaleDecimalSeparator","src\\Hyyan\\WPI\\LocaleNumbers.php",{"type":160,"name":415,"callback":416,"priority":163,"file":413,"line":404},"wc_get_price_thousand_separator","getLocaleThousandSeparator",{"type":160,"name":418,"callback":419,"priority":163,"file":413,"line":48},"wc_price_args","filterPriceArgs",{"type":160,"name":421,"callback":422,"priority":163,"file":413,"line":175},"woocommerce_format_localized_decimal","getLocalizedDecimal",{"type":160,"name":424,"callback":425,"priority":163,"file":426,"line":165},"woocommerce_login_redirect","getLoginRedirectPermalink","src\\Hyyan\\WPI\\Login.php",{"type":160,"name":428,"callback":429,"file":430,"line":404},"woocommerce_product_get_gallery_image_ids","translateGallery","src\\Hyyan\\WPI\\Media.php",{"type":160,"name":432,"callback":433,"file":434,"line":435},"pll_get_post_types","manageOrderTranslation","src\\Hyyan\\WPI\\Order.php",32,{"type":146,"name":437,"callback":438,"file":434,"line":179},"woocommerce_checkout_update_order_meta","saveOrderLanguage",{"type":160,"name":440,"callback":441,"file":434,"line":211},"woocommerce_my_account_my_orders_query","correctMyAccountOrderQuery",{"type":160,"name":443,"callback":444,"priority":163,"file":434,"line":445},"woocommerce_order_item_product","translateProductsInOrdersDetails",49,{"type":160,"name":447,"callback":448,"priority":163,"file":434,"line":115},"woocommerce_order_data_store_cpt_get_orders_query","correctGetOrderQuery",{"type":146,"name":385,"callback":450,"file":434,"line":277},"closure",{"type":146,"name":452,"callback":450,"priority":62,"file":434,"line":286},"admin_print_scripts",{"type":160,"name":454,"callback":455,"priority":163,"file":456,"line":207},"pll_get_archive_url","translateShopUrl","src\\Hyyan\\WPI\\Pages.php",{"type":160,"name":458,"callback":459,"file":456,"line":383},"parse_request","correctShopPage",{"type":160,"name":461,"callback":462,"priority":163,"file":456,"line":387},"woocommerce_shortcode_products_query","addShortcodeLanguageFilter",{"type":160,"name":464,"callback":465,"priority":163,"file":456,"line":215},"shortcode_atts_product_categories","addShortcodeLanguageFilterCategories",{"type":146,"name":148,"callback":467,"priority":366,"file":468,"line":404},"setDefaultPermalinks","src\\Hyyan\\WPI\\Permalinks.php",{"type":146,"name":148,"callback":470,"file":471,"line":187},"activate","src\\Hyyan\\WPI\\Plugin.php",{"type":146,"name":473,"callback":474,"file":471,"line":191},"plugins_loaded","loadTextDomain",{"type":146,"name":147,"callback":476,"file":471,"line":203},"admin_activate",{"type":146,"name":406,"callback":478,"file":471,"line":195},"handleNewLanguage",{"type":146,"name":385,"callback":480,"file":471,"line":481},"wpi_ensure_woocommerce_pages_translated",51,{"type":160,"name":483,"callback":450,"file":471,"line":484},"plugin_action_links_woo-poly-integration\u002F__init__.php",106,{"type":160,"name":486,"callback":486,"priority":163,"file":471,"line":487},"plugin_row_meta",118,{"type":160,"name":489,"callback":490,"priority":163,"file":491,"line":492},"woocommerce_get_privacy_policy_text","translatePrivacyPolicyText","src\\Hyyan\\WPI\\Privacy.php",24,{"type":160,"name":494,"callback":495,"priority":163,"file":491,"line":496},"woocommerce_demo_store","translateDemoStoreNotice",25,{"type":160,"name":498,"callback":499,"priority":163,"file":491,"line":500},"woocommerce_get_terms_and_conditions_checkbox_text","translateText",26,{"type":146,"name":502,"callback":503,"priority":163,"file":504,"line":496},"woocommerce_product_duplicate","unlinkOrginalProductTranslations","src\\Hyyan\\WPI\\Product\\Duplicator.php",{"type":146,"name":506,"callback":507,"priority":163,"file":504,"line":404},"woocommerce_product_duplicate_before_save","unlinkCopiedVariations",{"type":146,"name":385,"callback":509,"file":510,"line":183},"syncProductsMeta","src\\Hyyan\\WPI\\Product\\Meta.php",{"type":146,"name":512,"callback":513,"file":510,"line":203},"woocommerce_product_quick_edit_save","saveQuickEdit",{"type":160,"name":515,"callback":516,"priority":62,"file":510,"line":211},"wc_product_has_unique_sku","suppressInvalidDuplicatedSKUErrorMsg",{"type":146,"name":518,"callback":519,"priority":163,"file":510,"line":481},"woocommerce_product_import_inserted_product_object","onImport",{"type":146,"name":521,"callback":522,"priority":163,"file":510,"line":215},"woocommerce_attribute_added","newProductAttribute",{"type":160,"name":524,"callback":525,"priority":163,"file":510,"line":526},"pll_copy_post_metas","wpi_filter_pll_metas",87,{"type":160,"name":524,"callback":525,"priority":163,"file":510,"line":227},{"type":160,"name":524,"callback":525,"priority":163,"file":510,"line":271},{"type":146,"name":530,"callback":531,"priority":140,"file":510,"line":286},"save_post_product","syncTaxonomiesAndProductAttributes",{"type":146,"name":452,"callback":533,"priority":62,"file":510,"line":353},"addFieldsLocker",{"type":146,"name":535,"callback":450,"file":510,"line":536},"save_post",798,{"type":146,"name":452,"callback":450,"priority":366,"file":510,"line":538},814,{"type":160,"name":432,"callback":540,"file":541,"line":175},"manageProductTranslation","src\\Hyyan\\WPI\\Product\\Product.php",{"type":160,"name":147,"callback":543,"file":541,"line":187},"syncPostParent",{"type":160,"name":545,"callback":546,"file":541,"line":207},"default_title","wpi_editor_title",{"type":160,"name":548,"callback":549,"file":541,"line":375},"default_content","wpi_editor_content",{"type":160,"name":551,"callback":552,"file":541,"line":211},"default_excerpt","wpi_editor_excerpt",{"type":160,"name":554,"callback":555,"priority":163,"file":541,"line":556},"woocommerce_product_get_upsell_ids","getUpsellsInLanguage",59,{"type":160,"name":558,"callback":559,"priority":163,"file":541,"line":222},"woocommerce_product_get_cross_sell_ids","getCrosssellsInLanguage",{"type":160,"name":561,"callback":562,"priority":163,"file":541,"line":563},"woocommerce_product_get_children","getChildrenInLanguage",61,{"type":146,"name":565,"callback":566,"file":567,"line":404},"woocommerce_product_set_stock","SyncStockSimple","src\\Hyyan\\WPI\\Product\\Stock.php",{"type":146,"name":569,"callback":570,"file":567,"line":435},"woocommerce_variation_set_stock","SyncStockVariation",{"type":146,"name":565,"callback":572,"priority":163,"file":567,"line":573},"anonymous",46,{"type":146,"name":569,"callback":572,"priority":163,"file":567,"line":218},{"type":146,"name":530,"callback":576,"priority":163,"file":577,"line":153},"duplicateVariations","src\\Hyyan\\WPI\\Product\\Variable.php",{"type":146,"name":530,"callback":579,"priority":163,"file":577,"line":435},"syncDefaultAttributes",{"type":160,"name":581,"callback":582,"priority":163,"file":577,"line":371},"woocommerce_variable_children_args","allow_variable_children",{"type":160,"name":584,"callback":450,"file":577,"line":292},"woocommerce_hide_invisible_variations",{"type":146,"name":535,"callback":572,"priority":163,"file":577,"line":586},161,{"type":160,"name":588,"callback":589,"priority":163,"file":577,"line":590},"delete_post_metadata","skipDefaultAttributesMeta",241,{"type":160,"name":592,"callback":589,"priority":163,"file":577,"line":593},"add_post_metadata",242,{"type":160,"name":595,"callback":589,"priority":163,"file":577,"line":596},"update_post_metadata",243,{"type":146,"name":452,"callback":450,"file":577,"line":598},394,{"type":146,"name":600,"callback":450,"priority":62,"file":577,"line":601},"admin_enqueue_scripts",410,{"type":146,"name":385,"callback":450,"file":577,"line":603},431,{"type":146,"name":452,"callback":450,"priority":62,"file":577,"line":605},442,{"type":160,"name":607,"callback":608,"file":609,"line":610},"woocommerce_reports_get_order_report_data","combineProductsByLanguage","src\\Hyyan\\WPI\\Reports.php",52,{"type":160,"name":612,"callback":613,"file":609,"line":614},"woocommerce_reports_get_order_report_query","filterProductByLanguage",55,{"type":160,"name":616,"callback":617,"file":609,"line":563},"woocommerce_report_most_stocked_query_from","filterStockByLanguage",{"type":160,"name":619,"callback":617,"file":609,"line":620},"woocommerce_report_out_of_stock_query_from",64,{"type":160,"name":622,"callback":617,"file":609,"line":623},"woocommerce_report_low_in_stock_query_from",67,{"type":146,"name":147,"callback":625,"file":609,"line":626},"translateProductIDS",72,{"type":146,"name":147,"callback":628,"file":609,"line":629},"translateCategoryIDS",75,{"type":160,"name":631,"callback":632,"priority":163,"file":609,"line":633},"woocommerce_report_sales_by_category_get_products_in_category","addProductsInCategoryTranslations",76,{"type":146,"name":201,"callback":635,"file":636,"line":637},"registerShippingStringsForTranslation","src\\Hyyan\\WPI\\Shipping.php",35,{"type":160,"name":639,"callback":640,"priority":163,"file":636,"line":187},"woocommerce_shipping_rate_label","translateShippingLabel",{"type":160,"name":642,"callback":643,"priority":163,"file":636,"line":371},"woocommerce_order_shipping_method","translateOrderShippingMethod",{"type":146,"name":452,"callback":645,"priority":62,"file":636,"line":215},"disableShippingClassFeature",{"type":160,"name":647,"callback":648,"priority":163,"file":649,"line":165},"woocommerce_get_price_suffix","filterPriceSuffix","src\\Hyyan\\WPI\\Tax.php",{"type":146,"name":148,"callback":651,"priority":366,"file":652,"line":165},"manageAttrLablesTranslation","src\\Hyyan\\WPI\\Taxonomies\\Attributes.php",{"type":160,"name":654,"callback":655,"file":652,"line":656},"woocommerce_attribute_label","translateAttrLable",34,{"type":146,"name":452,"callback":658,"priority":62,"file":652,"line":187},"addAttrsTranslateLinks",{"type":146,"name":660,"callback":661,"priority":366,"file":662,"line":404},"product_cat_add_form_fields","copyProductCatCustomFields","src\\Hyyan\\WPI\\Taxonomies\\Categories.php",{"type":146,"name":664,"callback":665,"priority":366,"file":662,"line":435},"created_term","syncProductCatCustomFields",{"type":146,"name":667,"callback":665,"priority":366,"file":662,"line":637},"edit_term",{"type":160,"name":669,"callback":670,"priority":163,"file":671,"line":191},"pll_get_taxonomies","getAllTranslateableTaxonomies","src\\Hyyan\\WPI\\Taxonomies\\Taxonomies.php",{"type":146,"name":673,"callback":674,"priority":163,"file":671,"line":207},"update_option_wpi-features","updatePolyLangFromWooPolyFeatures",{"type":146,"name":676,"callback":677,"priority":163,"file":671,"line":211},"update_option_wpi-metas-list","updatePolyLangFromWooPolyMetas",{"type":146,"name":679,"callback":680,"file":681,"line":496},"admin_notices","display","src\\Hyyan\\WPI\\Tools\\FlashMessages.php",{"type":160,"name":683,"callback":572,"priority":684,"file":685,"line":686},"plugin_locale",9999,"src\\Hyyan\\WPI\\Utilities.php",598,{"type":146,"name":148,"callback":688,"priority":689,"file":690,"line":496},"layeredNavInit",1000,"src\\Hyyan\\WPI\\Widgets\\LayeredNav.php",{"type":160,"name":692,"callback":693,"file":694,"line":496},"get_product_search_form","fixSearchForm","src\\Hyyan\\WPI\\Widgets\\SearchWidget.php",[696,700],{"action":697,"nopriv":698,"callback":699,"hasNonce":698,"hasCapCheck":698,"file":541,"line":620},"woocommerce_feature_product",false,"sync_ajax_woocommerce_feature_product",{"action":701,"nopriv":698,"callback":702,"hasNonce":698,"hasCapCheck":698,"file":577,"line":637},"woocommerce_remove_variations","removeVariations",[],[],[],2,{"dangerousFunctions":708,"sqlUsage":716,"outputEscaping":721,"fileOperations":74,"externalRequests":706,"nonceChecks":74,"capabilityChecks":28,"bundledLibraries":765},[709,713],{"fn":710,"file":471,"line":711,"context":712},"unserialize",184,"$features = unserialize( 'a:13:{s:13:\"fields-locker\";s:2:\"on\";s:6:\"emails\";s:2:\"on\";s:7:\"reports\";s:",{"fn":710,"file":471,"line":714,"context":715},191,"$metas = unserialize( 'a:9:{s:7:\"general\";a:10:{s:12:\"product-type\";s:12:\"product-type\";s:8:\"_virtua",{"prepared":706,"raw":28,"locations":717},[718],{"file":719,"line":280,"context":720},"src\\Hyyan\\WPI\\Product\\Variation.php","$wpdb->get_col() with variable interpolation",{"escaped":191,"rawEcho":500,"locations":722},[723,726,728,729,730,731,732,733,735,737,739,741,742,744,745,746,748,750,752,754,756,759,760,761,762,764],{"file":149,"line":724,"context":725},89,"raw output",{"file":157,"line":727,"context":725},21,{"file":157,"line":500,"context":725},{"file":157,"line":153,"context":725},{"file":157,"line":179,"context":725},{"file":157,"line":207,"context":725},{"file":157,"line":211,"context":725},{"file":734,"line":637,"context":725},"src\\Hyyan\\WPI\\Gateways\\GatewayBACS.php",{"file":734,"line":736,"context":725},54,{"file":734,"line":738,"context":725},135,{"file":740,"line":179,"context":725},"src\\Hyyan\\WPI\\Gateways\\GatewayCheque.php",{"file":740,"line":387,"context":725},{"file":743,"line":179,"context":725},"src\\Hyyan\\WPI\\Gateways\\GatewayCOD.php",{"file":743,"line":387,"context":725},{"file":662,"line":13,"context":725},{"file":662,"line":747,"context":725},96,{"file":662,"line":749,"context":725},97,{"file":685,"line":751,"context":725},192,{"file":753,"line":435,"context":725},"src\\Hyyan\\WPI\\Views\\Admin\\about.php",{"file":755,"line":500,"context":725},"src\\Hyyan\\WPI\\Views\\Admin\\support.php",{"file":757,"line":758,"context":725},"src\\Hyyan\\WPI\\Views\\admin.php",13,{"file":757,"line":727,"context":725},{"file":757,"line":500,"context":725},{"file":757,"line":153,"context":725},{"file":763,"line":63,"context":725},"src\\Hyyan\\WPI\\Views\\Messages\\support.php",{"file":763,"line":656,"context":725},[],[767,789],{"entryPoint":768,"graph":769,"unsanitizedCount":28,"severity":39},"copyProductCatCustomFields (src\\Hyyan\\WPI\\Taxonomies\\Categories.php:78)",{"nodes":770,"edges":785},[771,776,781,783],{"id":772,"type":773,"label":774,"file":662,"line":775},"n0","source","$_GET",86,{"id":777,"type":778,"label":779,"file":662,"line":13,"wp_function":780},"n1","sink","echo() [XSS]","echo",{"id":782,"type":773,"label":774,"file":662,"line":775},"n2",{"id":784,"type":778,"label":779,"file":662,"line":749,"wp_function":780},"n3",[786,787],{"from":772,"to":777,"sanitized":698},{"from":782,"to":784,"sanitized":788},true,{"entryPoint":790,"graph":791,"unsanitizedCount":28,"severity":800},"\u003CCategories> (src\\Hyyan\\WPI\\Taxonomies\\Categories.php:0)",{"nodes":792,"edges":797},[793,794,795,796],{"id":772,"type":773,"label":774,"file":662,"line":775},{"id":777,"type":778,"label":779,"file":662,"line":13,"wp_function":780},{"id":782,"type":773,"label":774,"file":662,"line":775},{"id":784,"type":778,"label":779,"file":662,"line":749,"wp_function":780},[798,799],{"from":772,"to":777,"sanitized":698},{"from":782,"to":784,"sanitized":788},"low",{"summary":802,"deductions":803},"The \"woo-poly-integration\" v1.5.0 plugin exhibits significant security concerns. While it demonstrates some positive practices like using prepared statements for SQL queries and performing output escaping, these are overshadowed by critical vulnerabilities. The presence of unprotected AJAX handlers forms a substantial attack surface, offering direct entry points for malicious actors. Furthermore, the use of the `unserialize` function without proper input validation is a known risky practice that can lead to remote code execution vulnerabilities. The plugin's vulnerability history, particularly the existence of an unpatched medium severity vulnerability from 2026 and a pattern of \"Missing Authorization\" issues, strongly suggests a recurring lack of robust access control. This indicates a systemic weakness in how the plugin handles sensitive operations and user permissions.",[804,806,808,811,813,815],{"reason":805,"points":163},"Unprotected AJAX handlers",{"reason":807,"points":163},"Use of dangerous function: unserialize",{"reason":809,"points":810},"Unpatched CVE (medium severity)",15,{"reason":812,"points":158},"No nonce checks on AJAX",{"reason":814,"points":163},"Lack of capability checks on AJAX",{"reason":816,"points":163},"Flows with unsanitized paths","2026-03-16T17:52:28.537Z",{"wat":819,"direct":830},{"assetPaths":820,"generatorPatterns":824,"scriptPaths":825,"versionParams":826},[821,822,823],"\u002Fwp-content\u002Fplugins\u002Fwoo-poly-integration\u002Fassets\u002Fcss\u002Fwpi-admin-settings.css","\u002Fwp-content\u002Fplugins\u002Fwoo-poly-integration\u002Fassets\u002Fcss\u002Fwpi-front.css","\u002Fwp-content\u002Fplugins\u002Fwoo-poly-integration\u002Fassets\u002Fjs\u002Fwpi-front.js",[],[],[827,828,829],"\u002Fwp-content\u002Fplugins\u002Fwoo-poly-integration\u002Fassets\u002Fcss\u002Fwpi-admin-settings.css?ver=","\u002Fwp-content\u002Fplugins\u002Fwoo-poly-integration\u002Fassets\u002Fcss\u002Fwpi-front.css?ver=","\u002Fwp-content\u002Fplugins\u002Fwoo-poly-integration\u002Fassets\u002Fjs\u002Fwpi-front.js?ver=",{"cssClasses":831,"htmlComments":833,"htmlAttributes":834,"restEndpoints":838,"jsGlobals":839,"shortcodeOutput":841},[832],"wpi-cart-switch-product",[],[835,836,837],"data-product-id","data-variation-id","data-related-id",[],[840],"window.wpi_product_id",[]]