{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreifrkuwtjilhocfubmpbuuoxo36jnmgjibzc2ytnoi7odgq3ehbi34",
    "uri": "at://did:plc:24m7bdv525qrha5za7ucsxwb/app.bsky.feed.post/3mo42xndcsc23"
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreia7gng6tudnndpf62n4ja5ehuk3554sbpr2lirxral7aximytolmi"
    },
    "mimeType": "image/jpeg",
    "size": 120943
  },
  "description": "Building a new site and using ACF to automate the things that are a pain let me spin up features in lightning speed and have a baseball site look like the Show.",
  "path": "/2026/on-beyond-abs-integrating-acf-pro-and-mlb/",
  "publishedAt": "2026-06-12T15:35:45+00:00",
  "site": "at://did:plc:24m7bdv525qrha5za7ucsxwb/site.standard.publication/3mo42xlxqbc23",
  "tags": [
    "acf",
    "coding",
    "mlb",
    "wordpress",
    "How To"
  ],
  "textContent": "I generally use CMB2 over ACF for no reason other than I’m familiar with it. After working at XWP and now at Awesome Motive, everyone uses it so I spent time making some custom ACF fields, and using them to integrate with Gutenberg Blocks. Now using ACF to power a block is not only common, it’s encouraged by ACF! And using ACF to power a options page is also pretty normal. What if I wanted to make a special options page that let me pick some items, set data, and it auto created the page for me in draft? Oh yes! Why on earth? I have a hobby site where I recap baseball games. Shut it. I decided, instead of making a post per game (which is unsustainable for me) I would instead make a post per series. This means every three days or so I spin up a new post with the following blocks: Intro paragraph (s) Series Summary Header Series Overview Block (custom) Games Header Game 1 sub header Game Results Block (custom) Bullet list of notes from the game A video from mlb.com (custom) The last four blocks repeat for however many games there are in the series, and it ends with a separator and a comment about who’s next. The three custom blocks are ones I made to help me nicely format the data in a repeatable way. They’re all made with ACF and integrated with a json file I made with some static data (team names, short names, cities, etc). They problem with them, I have to set things up every single time. I probably overcomplicated my life, but I’m going to use my custom series overview block for my example. That block has the following choices: Start and end date of series Home Game? Opponent Cleveland Wins Opponent Wins An example of the block. If it’s a home game, Cleveland is on the right. The short name in the middle changes when someone wins (and says SPLIT if it’s a tie). But every time I make a new post, I have to pick all those. And then? For each game I have to pick similar things! Home Game? Opponent Opponent Won-Lost Cleveland won-lost Cleveland hits Opponent hits Cleveland Errors Opponent Errors Score for each inning (if empty, it’s a 0) Example of a box score If you compare the two, there’s a lot of crossover. So instead of having a template where I pre set everything as a TBD, I thought late one night “what if I had a page and I could tell if the dates and shit, and it drafted the post?” So I did! Custom Settings Page I already had a settings page for some global settings (mostly the dates of each season subtype, like spring training) so I made a special subpage: The settings themselves are the easy part, it’s just ACF, but that checkbox and the drafting is where I got weird. It took a few tries to really get it right, but I do have it finally working the way I want to. I’m thinking about adding in the current standings, so it pre-fills those a little, but so far it fills in all the basic info, sets the options, and get’s things started. What’s Next? Automation! I mentioned standings. I could use the API to pull down the teams’ current standings, and honestly I do like that idea. Right now, I have to enter it all by hand which I don’t really mind since it allows me finer control, but I do think about automating post creation totally and maybe auto-generating quirky titles for posts, and throwing in fun facts. I am working on a feature to automate pulling down the umpire data and comparing the calls to see who’s favoured in games, but I haven’t decided how I want to math out the ABS factoring in to that. Check out the code for BaseBelles (named for my grandmother) on Github!",
  "title": "On Beyond ABS: Integrating ACF Pro and MLB"
}