| 开发者 | therope |
|---|---|
| 更新时间 | 2026年9月14日 20:17 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
[ropemark_disclosure] shortcode plus an "AI disclosure notice" block for your transparency page, with the count of AI images.data-ai-generated, data-digital-source-type) and schema.org ImageObject with digitalSourceType for search engines and AI crawlers.DigitalSourceType term (trainedAlgorithmicMedia, compositeWithTrainedAlgorithmicMedia, and the rest of the vocabulary), the disclosure text, creator, credit and rights, and whether a C2PA / Content Credentials manifest is present, with the names of the tools that signed it (Google, Adobe Lightroom, Photoshop, and so on).DigitalSourceType).Iptc4xmpExt:DigitalSourceType.iTXt XML:com.adobe.xmp) and WebP (XMP chunk with the VP8X flag).ropemark_get_provenance( $attachment_id ) returns the record; ropemark_is_ai_generated( $attachment_id ) returns a boolean.ropemark_should_preserve (per attachment), ropemark_decorate_image (badge and label per image), ropemark_badge_text, ropemark_label_text, ropemark_popup_rows.ROPEMARK_CREDIT_DEFAULT (wp-config.php) to start with the credit line in the popup enabled.ropemark_after_inject with the per-size outcome.wp ropemark scan [--all] [--dry-run], wp ropemark status <id>..ropemark-wrap, .ropemark-ai-badge, .ropemark-pos-bottom-right (and the other corners), .ropemark-popup, .ropemark-label, .ropemark-site-notice, .ropemark-disclosure, img[data-ai-generated]./wp-content/plugins/.No. It reads the declaration inside the file (IPTC DigitalSourceType, C2PA manifest). Images without a declaration are listed as "No marking". Mark files in production, before upload: most generators embed C2PA, and exiftool or any DAM can write DigitalSourceType.
The plugin cannot give legal advice. Article 50 asks for a visible, clearly distinguishable disclosure at first exposure for deepfakes, which the Commission guidelines of July 2026 read as including photorealistic portraits of people who do not exist. A badge on the image or a label next to it are the two forms seen on European e-commerce sites today. Metadata alone is not considered enough for the visible part.
Because it would be a lie. A C2PA signature binds the exact bytes of one file. Thumbnails are new files; the honest thing is to carry the XMP and IPTC declaration, keep the manifest on the original, and record the signing tools in the library.
Smush, EWWW, ShortPixel, Imagify, TinyPNG, Optimole and LiteSpeed all have a "strip metadata" option. Turn it off for the marking to survive, then re-scan the library. The settings screen lists the optimizers it detects.
Yes: text or your own icon, corner, diameter, background color, opacity, text color, minimum image width and tooltip are settings. For anything else the badge, popup and label carry CSS classes (.ropemark-ai-badge, .ropemark-popup, .ropemark-label) that you can restyle from your theme stylesheet or the Customizer. You can also turn the badge off and use the data-ai-generated attribute in your theme.
Yes. Every attachment has a "visible badge" choice: follow the settings, always show, never show. Bulk actions set it on many images at once.
Classify it by hand in the attachment details or with a bulk action. The plugin writes the IPTC digital source type into the generated sizes and, unless the original carries a C2PA manifest, into the original too. Files with generator traces are listed as "Suspected AI, to confirm" so you find them first.
Yes. XMP is written as an iTXt chunk in PNG and as an XMP chunk in WebP (creating the VP8X header when the encoder did not). IPTC IIM exists only in JPEG.
Marginally: one read and one write per generated size, copying bytes. Nothing is re-encoded. On a large library use "Scan in background" (Action Scheduler when present, WP-Cron otherwise) or WP-CLI: wp ropemark scan processes tens of images per second in one process.
Filters and counters use flat flags, not the serialized record, so the Media Library stays fast at tens of thousands of images. Scans run in time-bounded batches and release memory as they go. Each derivative is read once and written only when the marking is missing.