外掛標籤
開發者團隊
原文外掛簡介
Important: third-party APIs and commercial use
Codemio Anime Publisher provides software tools for publishing and displaying anime information. Using this plugin does not grant a license to use AniList, MyAnimeList, their APIs, or third-party descriptions and artwork, and does not include approval for commercial use.
Before enabling a provider connection, review that provider’s current terms and confirm that your intended use is permitted. You are responsible for obtaining your own credentials where required, any necessary commercial permissions, and the rights to display, store, or reproduce provider content on your website. Use only credentials you are authorized to use and comply with attribution, request limits, and content removal requirements. A successful API connection does not itself confirm permission for your use.
Review the AniList API Terms of Use and the MyAnimeList API License and Developer Agreement. If your use requires authorization or you are unsure whether it is allowed, contact the provider before proceeding. This plugin is independent and is not endorsed by either provider.
Bring anime information to your WordPress website with customizable cards and a library of your selected titles.
Codemio Anime Publisher lets you search AniList and MyAnimeList, save selected anime, and display their details with Gutenberg, Elementor, shortcodes, or WooCommerce product tabs. Choose the titles you want to feature and adjust how they appear on your site.
Saved information stays on your site until you update or remove it. Public cards read your saved library without making requests to the provider APIs. Covers load from external image hosts by default; optional local image storage is available.
Main features
Search AniList and MyAnimeList and save selected titles to your anime library.
Display a single anime or a collection of up to 12 entries with Gutenberg or a shortcode.
Publish a paginated library of your selected anime.
Choose responsive card or compact layouts, visible fields, colors, labels, and text sizes.
Add your own title and synopsis without overwriting the saved provider information.
Show covers, scores, genres, studios, episodes, status, and other available details.
Show the next AniList episode’s scheduled air date when available. Dates reflect the last manual update.
Use the dedicated Elementor widget or associate an anime with a WooCommerce product.
Optionally store covers in the Media Library and convert them to WebP.
Control external connections and sensitive-content visibility from the plugin settings.
Getting started
Enable the provider connections you want to use, search for an anime in My library, and save it. Then select it in the Gutenberg block or Elementor widget, or insert a shortcode using its provider-specific ID.
For example, after saving AniList ID 1:
[ampub_anime_publisher source="anilist" ids="1"]
MyAnimeList requires your own application Client ID. AniList public metadata does not require an API key. This plugin is intended for a curated selection of titles rather than a full-database import.
Customize your cards and library
Use My library to search saved titles, update details, add editorial text, or explicitly remove plugin-owned images. Your custom title and synopsis are stored separately from provider data. Changing the default provider does not change existing entries.
Choose visible fields, card labels, colors, text sizes, border radius, synopsis length, and image options. Gutenberg and Elementor also support per-card fields and title/synopsis overrides. Source names and links are enabled by default; retain attribution required by your provider agreement.
Publish your selected library:
[ampub_anime_library source="anilist" per_page="12"]
Choose fields and add a custom title:
[ampub_anime_publisher source="anilist" ids="1" fields="cover,episodes,score,description" title="My editorial title"]
Use source="mal" for MyAnimeList. IDs belong to the selected provider.
Optional extended details include additional titles, dates, tags, characters, staff, related anime, recommendations, rankings, statistics, and external or legal streaming links. Missing information is omitted. Use Update to retrieve extended details for an existing entry.
Lists are bounded: AniList characters and staff show up to 25 each; recommendations up to 10; review summaries up to 5; tags, external links, and streaming links up to 100; and MAL image links up to 25. Full reviews, private user data, and internal moderation fields are not copied. Artwork storage does not grant redistribution rights.
External services
Connections are disabled by default. Enabling them sends searches and selected anime IDs from the WordPress server to the chosen provider. HTTP requests include a plugin user agent and the WordPress home URL. MyAnimeList requests additionally include the administrator’s Client ID in the X-MAL-CLIENT-ID header. This plugin does not send visitor account data or collect analytics.
AniList:
Endpoint: https://graphql.anilist.co
Purpose: public anime metadata search and selected-entry refresh.
Terms: https://docs.anilist.co/guide/terms-of-use
Privacy: https://anilist.co/terms
MyAnimeList:
Endpoint: https://api.myanimelist.net/v2/anime
Purpose: public anime metadata search and selected-entry refresh.
Documentation: https://myanimelist.net/apiconfig/references/api/v2
Registration and developer agreement: https://myanimelist.net/apiconfig
Privacy: https://myanimelist.net/about/privacy_policy
Cover images load directly from the provider’s returned HTTPS image URL. Visitors’ browsers therefore contact external image hosts, which receive their IP address and normal request headers. Referrer information is suppressed by the image element. By default, images stay remote. Administrators can opt into Media Library storage and WebP conversion. Local cover processing allows only approved provider hosts, validates raster types and dimensions, caps downloads at 5 MB and re-encodes every image. It requires GD or Imagick. In local mode, failed imports show a placeholder instead of silently loading a remote cover. Remote images may be blocked by browsers, networks or the provider.
Use of an API does not grant ownership of descriptions, artwork or trademarks. The site operator must comply with the provider’s agreement and obtain applicable permissions. Plugin distribution and commercial use also require review under provider terms. The plugin is unofficial and unaffiliated with either provider.
Saved data and manual updates
Saved anime details do not expire. Updates run only when requested by an administrator; public rendering reads saved information. Searches do not update existing records. Scores, status, and schedules remain as last fetched, and failed updates preserve the last saved information.
Recoverable legacy snapshots migrate locally during upgrade without contacting providers. Previously deleted information must be fetched again with Update. Clearing legacy temporary data does not remove permanent snapshots.
There is no automatic provider refresh or provider-search result cache. Requests are spaced at least three seconds apart and subject to provider rate limits. Connection consent and content visibility settings still control access and display. The optional Pro add-on can continue only administrator-confirmed, explicitly queued bulk update jobs.
Security and privacy
Search requires WordPress editing permissions; preparation and library management require administrator permissions. Settings, maintenance, product saves, and authenticated requests use the applicable WordPress capabilities and nonces.
Provider API requests use fixed HTTPS endpoints, disabled redirects, response-size limits, and timeouts. Remote text is stripped of HTML and output is escaped. Provider credentials are not returned to visitors in REST responses or page markup.
Saved MyAnimeList Client IDs use authenticated AES-256-GCM encryption with a server-derived key. This requires OpenSSL and strong WordPress authentication salts, or a configured AMPUB_CREDENTIAL_KEY. Alternatively, define AMPUB_MAL_CLIENT_ID on the server. Client Secrets and access tokens are not requested or stored. Encryption does not replace server and database access controls.
Sensitive-content filtering follows provider flags; it is not comprehensive age verification or content classification.
Upgrade and deactivation remove the legacy automatic refresh task. Uninstall removes legacy temporary data and schedules but preserves permanent snapshots by default. Enabling the cleanup option also removes settings, selected entries, and product association metadata. Existing post content and blocks are preserved.
