{"id":272057,"date":"2026-01-08T05:01:28","date_gmt":"2026-01-08T05:01:28","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wwi-blogcard\/"},"modified":"2026-02-23T16:29:57","modified_gmt":"2026-02-23T16:29:57","slug":"wwi-blogcard","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/wwi-blogcard\/","author":23431498,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.11","stable_tag":"1.0.11","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"WWI Blogcard","header_author":"whywaita","header_description":"A WordPress block plugin that generates beautiful blog cards from URLs using OGP information.","assets_banners_color":"","last_updated":"2026-02-23 16:29:57","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/whywaita\/wwi-blogcard","header_author_uri":"https:\/\/github.com\/whywaita","rating":0,"author_block_rating":0,"active_installs":0,"downloads":209,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.10":{"tag":"1.0.10","author":"whywaita","date":"2026-01-08 15:15:49"},"1.0.11":{"tag":"1.0.11","author":"whywaita","date":"2026-02-23 16:29:57"},"1.0.5":{"tag":"1.0.5","author":"whywaita","date":"2026-01-08 05:00:45"},"1.0.6":{"tag":"1.0.6","author":"whywaita","date":"2026-01-08 06:59:17"},"1.0.7":{"tag":"1.0.7","author":"whywaita","date":"2026-01-08 08:31:30"},"1.0.8":{"tag":"1.0.8","author":"whywaita","date":"2026-01-08 14:57:01"},"1.0.9":{"tag":"1.0.9","author":"whywaita","date":"2026-01-08 15:10:42"}},"upgrade_notice":{"1.0.0":"<p>Initial release of WWI Blogcard.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":{"wwi-blogcard\/blogcard":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"wwi-blogcard\/blogcard","version":"1.0.11","title":"Blogcard","category":"embed","icon":"admin-links","description":"Create a beautiful blog card from any URL using OGP information.","keywords":["blogcard","ogp","embed","link","card"],"supports":{"html":false,"align":["wide","full"]},"attributes":{"url":{"type":"string","default":""},"title":{"type":"string","default":""},"description":{"type":"string","default":""},"image":{"type":"string","default":""},"siteName":{"type":"string","default":""},"favicon":{"type":"string","default":""}},"textdomain":"wwi-blogcard","editorScript":"file:.\/index.js","editorStyle":"file:.\/index.css","style":"file:.\/style-index.css"}},"tagged_versions":["1.0.10","1.0.11","1.0.5","1.0.6","1.0.7","1.0.8","1.0.9"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Blog card example in the editor","2":"Blog card displayed on the frontend","3":"Block settings panel"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[51790,15095,230,537,26918],"plugin_category":[56],"plugin_contributors":[253556],"plugin_business_model":[],"class_list":["post-272057","plugin","type-plugin","status-publish","hentry","plugin_tags-blogcard","plugin_tags-card","plugin_tags-embed","plugin_tags-link","plugin_tags-ogp","plugin_category-social-and-sharing","plugin_contributors-whywaita","plugin_committers-whywaita"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/wwi-blogcard.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>WWI Blogcard is a Gutenberg block plugin that creates visually appealing blog cards from any URL. Simply paste a URL, and the plugin automatically fetches OGP (Open Graph Protocol) information to generate a rich preview card.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Easy to use<\/strong>: Just paste a URL and the blog card is automatically generated<\/li>\n<li><strong>OGP support<\/strong>: Fetches title, description, and images from OGP meta tags<\/li>\n<li><strong>Responsive design<\/strong>: Cards look great on any device<\/li>\n<li><strong>Dark mode support<\/strong>: Automatic dark mode based on system preferences<\/li>\n<li><strong>Caching<\/strong>: OGP data is cached for improved performance<\/li>\n<li><strong>Security<\/strong>: SSRF protection blocks requests to private IP addresses<\/li>\n<\/ul>\n\n<h4>Usage<\/h4>\n\n<ol>\n<li>Add a new \"Blogcard\" block in the Gutenberg editor<\/li>\n<li>Paste the URL you want to create a card for<\/li>\n<li>Click \"Fetch\" to retrieve OGP information<\/li>\n<li>The blog card is automatically generated<\/li>\n<\/ol>\n\n<h3>Source Code<\/h3>\n\n<p>The source code for this plugin, including uncompiled JavaScript and CSS files, is available on GitHub:<\/p>\n\n<p><a href=\"https:\/\/github.com\/whywaita\/wwi-blogcard\">https:\/\/github.com\/whywaita\/wwi-blogcard<\/a><\/p>\n\n<h4>Building from Source<\/h4>\n\n<p>To build the plugin from source, you need Node.js and npm installed. Then run the following commands:<\/p>\n\n<ol>\n<li>Clone the repository: <code>git clone https:\/\/github.com\/whywaita\/wwi-blogcard.git<\/code><\/li>\n<li>Navigate to the plugin directory: <code>cd wwi-blogcard<\/code><\/li>\n<li>Install dependencies: <code>npm install<\/code><\/li>\n<li>Build the plugin: <code>npm run build<\/code><\/li>\n<\/ol>\n\n<p>The build process uses <code>@wordpress\/scripts<\/code> to compile and minify the JavaScript and CSS files from the <code>src\/<\/code> directory to the <code>build\/<\/code> directory.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/wwi-blogcard<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Use the \"Blogcard\" block in the Gutenberg editor.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20ogp%3F\"><h3>What is OGP?<\/h3><\/dt>\n<dd><p>OGP (Open Graph Protocol) is a protocol that allows web pages to become rich objects in a social graph. It's commonly used by social media platforms to display link previews.<\/p><\/dd>\n<dt id=\"how%20long%20is%20ogp%20data%20cached%3F\"><h3>How long is OGP data cached?<\/h3><\/dt>\n<dd><p>OGP data is cached for 24 hours by default using WordPress Transients API.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20support%20private%2Finternal%20urls%3F\"><h3>Does this plugin support private\/internal URLs?<\/h3><\/dt>\n<dd><p>No, for security reasons (SSRF protection), the plugin blocks requests to private IP addresses and localhost.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<p>See: <a href=\"https:\/\/github.com\/whywaita\/wwi-blogcard\/blob\/main\/CHANGELOG.md\">https:\/\/github.com\/whywaita\/wwi-blogcard\/blob\/main\/CHANGELOG.md<\/a><\/p>","raw_excerpt":"A WordPress block plugin that generates beautiful blog cards from URLs using OGP information.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/272057","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=272057"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/whywaita"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=272057"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=272057"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=272057"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=272057"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=272057"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=272057"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}