{"id":4507,"date":"2026-02-27T21:29:04","date_gmt":"2026-02-27T20:29:04","guid":{"rendered":"https:\/\/oelna.de\/blog\/?p=4507"},"modified":"2026-03-26T12:37:22","modified_gmt":"2026-03-26T11:37:22","slug":"wordpress-plugin-mtg-block","status":"publish","type":"post","link":"https:\/\/oelna.de\/blog\/4507","title":{"rendered":"WordPress Plugin: MtG Block"},"content":{"rendered":"\n<p>A few days ago I had the need to display a Magic the Gathering decklist in my post. I could just link out to Moxfield of course, which does a great job with lists. Or I could just paste the list as a text paragraph. Or I could overengineer a custom WordPress block instead!<\/p>\n\n\n\n<p>Long story short: I had ChatGPT whip up a plugin that adds a custom MtG block. You paste a list there (Moxfield, MtG Arena, MTGO formats supported) and on the frontend, a nice list is displayed.<\/p>\n\n\n\n<p>The design was garbage and I wanted an auto update function as well, so I had to fiddle with the knobs myself for a while, too. Now it&#8217;s here, and it is for you, if you want it:<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/oelna\/wordpress-mtg-decklist-block\">https:\/\/github.com\/oelna\/wordpress-mtg-decklist-block<\/a><\/p>\n\n\n\n<p>See my <a href=\"https:\/\/oelna.de\/blog\/4472\">other post<\/a> for an example. And don&#8217;t @ me if your site burns!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A few days ago I had the need to display a Magic the Gathering decklist in my post. I could just link out to Moxfield of course, which does a great job with lists. Or I could just paste the list as a text paragraph. Or I could overengineer a custom WordPress block instead! Long [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"federated","footnotes":""},"categories":[3,859],"tags":[],"class_list":["post-4507","post","type-post","status-publish","format-standard","hentry","category-english","category-thoughts"],"_links":{"self":[{"href":"https:\/\/oelna.de\/blog\/wp-json\/wp\/v2\/posts\/4507","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oelna.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oelna.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oelna.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oelna.de\/blog\/wp-json\/wp\/v2\/comments?post=4507"}],"version-history":[{"count":2,"href":"https:\/\/oelna.de\/blog\/wp-json\/wp\/v2\/posts\/4507\/revisions"}],"predecessor-version":[{"id":4512,"href":"https:\/\/oelna.de\/blog\/wp-json\/wp\/v2\/posts\/4507\/revisions\/4512"}],"wp:attachment":[{"href":"https:\/\/oelna.de\/blog\/wp-json\/wp\/v2\/media?parent=4507"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oelna.de\/blog\/wp-json\/wp\/v2\/categories?post=4507"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oelna.de\/blog\/wp-json\/wp\/v2\/tags?post=4507"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}