| 开发者 | piftoworks |
|---|---|
| 更新时间 | 2026年10月1日 18:33 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
@wordpress/scriptsamzn.to / amzn.asia) are expanded automatically. Also useful as a rescue path for products that do not appear in search resultspochipps). Amazon ASIN / Rakuten item code / Yahoo seller_id + itemcode are mapped automatically. The last step rewrites the cards inside your posts and cannot be undone, so take a full site backup before you run itkukuriya). Translation contributions via translate.wordpress.org are welcomeKukuriya under "Add New" in the Plugins screen, install, and activateYes. Everything in this plugin is free and fully functional GPL v2+ open source, including all five official connectors. Nothing here is locked behind a licence. A separate paid add-on plugin (Kukuriya Pro, distributed from piftoworks.com) adds sale campaigns and bulk editing. It is not required, and none of its code is part of this plugin.
Yes. All API keys are encrypted with AES-256-GCM, protected by a key derived from AUTH_KEY in wp-config.php. Keys are separated per connector ID, so API keys cannot be decrypted even with direct database access.
Yes. You can import Pochipp data (CPT pochipps) from the "Migration" tab in the admin screen. The primary ASP is determined automatically in the order of Amazon ASIN / Rakuten item code / Yahoo seller_id + itemcode, and each post is converted into a Kukuriya product with Universal Link offers. A dry-run mode lets you check counts and errors before committing.
Take a full backup of your site before you start. The migration runs in three steps, and the third one replaces the Pochipp cards inside your posts with Kukuriya cards. There is no undo for that step: putting the old cards back means restoring your posts from a backup. Every step can be run as a dry run first, and you can limit a run to a single post while you check the result, so there is no need to do the whole site at once. The plugin also asks you to confirm that you have a backup before it will run the last step on every post.
Generic CSV import is also supported, so migrating from tools other than Pochipp is flexible as well.
No data is ever sent to the plugin developer (Pifto Works). Product API calls go directly to each ASP, using the API keys that you configure yourself. See the "External services" section above for exactly what is sent, to whom, and when.
Clicks are recorded in your own database only (the wp_bcore_clicks table); nothing is sent to the plugin developer. IP addresses and User-Agents are stored as HMAC-SHA256 hashes (salted from AUTH_KEY) and the original values cannot be recovered. Referrers keep the host name only (path / query are discarded). No cookies are used — a per-tab session ID lives in sessionStorage and disappears when the tab closes — so cookie consent management is not required. Rows are deleted after 90 days. Recording is on by default and can be switched off under "Measurement".
By default, the 5 wp_bcore_* tables (credentials / offers / clicks / custom_fields_def / custom_fields_value) and related options / cron events are deleted. To keep the data, set the option bcore_keep_data_on_uninstall to true before deleting the plugin.
The products and the self-made links you registered are ordinary posts (custom post types bcore_product / bcore_link) and are left in place, the same way WordPress leaves posts when a plugin is removed. Delete them from the database if you want a clean slate.
It works technically, but this version targets per-site operation. Network-wide aggregation and cross-site management are not implemented.
Yes. Each connector's API responses are cached short-term via the WP Transient API. The price refresh cron persists into the wp_bcore_offers table independently of the cache, so front-end rendering stays fast at all times.
Yes. You can distribute an independent WP plugin that implements PiftoWorks\Kukuriya\Contracts\ConnectorInterface. Register it with the core via the kukuriya_register_connectors hook, and it can use the core's search UI, price refresh cron, click tracking, and other infrastructure as-is.
The [bcore_product] / [bcore_comparison] shortcodes render products and comparison tables in the Classic Editor as well. The Block Editor search UI is not available there, so the workflow is to import product data via CSV and then reference it by post_id.
[bcore_link] shortcodes load the plugin's stylesheet. Without it, banner images in those links were not scaled down and spilled past the edge of the screen on phones. Links printed from other places, such as widgets or excerpts, are covered as well. The block version was not affected.kukuriya_store_catalog filter made PHP 8 stop with an error and the page did not render. Only the %s placeholder is replaced now.kukuriya_product_render_options filter are reduced to characters that are valid in a class name before they are printed. They were added to the card's class attribute as they came, so a quotation mark in the value could break out of it.api.ipify.org, and only when you press the button.&product= and the product's ID, so a link from elsewhere in the admin can land straight on that product. If the product cannot be opened, the list is shown as usual and the parameter is taken out of the address.kukuriya_product_link( $product_id, $store ) returns the link a reader would follow for a product: the same link as the card's buy button for that store - the product page through your monetization route, or a search link only when that search earns - and an empty string otherwise. kukuriya_product() returns the plain product URL, which earns nothing, so an add-on that lists products had no proper link to give them. Escape the result when you print it.PiftoWorks\Kukuriya\Links\PlacementScanner::by_kind() sorts what a post contains - cards, comparison tables, links, inline product links and any Pochipp cards still left - using the same rules the migration uses to rewrite them, and says whether it could read the whole post. PlacementScanner::RULES_VERSION goes up whenever those rules change, so anything that stores the result knows when to rebuild it.i.moshimo.com whenever such a page is shown. The "External services" section above describes exactly what Moshimo receives.