56,966 blogs · [ { "id": "01a087e9-7fdb-739a-a0f6-e0cb3658df39", "title": "Seeding With Factories in Laravel", "url": "https://www.tannerrecord.com/seeding-test-data-in-laravel/", "published_at": "2026-05-01T13:28:00+00:00" }, { "id": "01a087e9-7fdb-739a-a0f6-e0cb37142555", "title": "Creating Realistic Testing Data With Factories", "url": "https://www.tannerrecord.com/creating-realistic-testing-data/", "published_at": "2026-04-30T18:00:00+00:00" }, { "id": "01a087e9-7fdb-739a-a0f6-e0cb37e6589b", "title": "Database Schema Changes", "url": "https://www.tannerrecord.com/database-schema-changes/", "published_at": "2026-04-24T00:58:46+00:00" }, { "id": "01a087e9-7fdb-739a-a0f6-e0cb38727717", "title": "Laravel Removes Testing Friction", "url": "https://www.tannerrecord.com/laravel-removes-testing-friction/", "published_at": "2026-04-22T21:00:47+00:00" }, { "id": "01a087e9-7fdb-739a-a0f6-e0cb3893a7ee", "title": "Graduate to calm deployments", "url": "https://www.tannerrecord.com/graduate-to-calm-deployments/", "published_at": "2026-04-21T21:07:11+00:00" }, { "id": "01a087e9-7fdb-739a-a0f6-e0cb39898966", "title": "WP-Cron is a lie: How Laravel handles scheduled jobs", "url": "https://www.tannerrecord.com/wp-cron-is-a-lie-how-laravel-handles-scheduled-jobs/", "published_at": "2026-04-20T14:57:06+00:00" }, { "id": "01a087e9-7fdb-739a-a0f6-e0cb3a16a6a1", "title": "You don’t have to leave WordPress to use Laravel", "url": "https://www.tannerrecord.com/you-dont-have-to-leave-wordpress-to-use-laravel/", "published_at": "2026-04-17T15:59:58+00:00" }, { "id": "01a087e9-7fdb-739a-a0f6-e0cb3a7e3e78", "title": "Logging Sucks", "url": "https://www.tannerrecord.com/logging-sucks/", "published_at": "2026-04-15T13:45:39+00:00" }, { "id": "01a087e9-7fdb-739a-a0f6-e0cb3b54063e", "title": "Use The WordPress Playground For Plugin Demos", "url": "https://www.tannerrecord.com/using-the-wordpress-playground-for-plugin-demos/", "published_at": "2024-10-12T13:30:00+00:00" }, { "id": "01a087e9-7fdb-739a-a0f6-e0cb3c50f42a", "title": "Adding Plugin Check (PCP) to Your Development Workflow", "url": "https://www.tannerrecord.com/adding-plugin-check-pcp-to-your-development-workflow/", "published_at": "2024-10-05T13:30:00+00:00" }, { "id": "01a0da32-0683-7109-b3fc-4d20c507f4ff", "title": "How to: Use the WordPress Filesystem API", "url": "https://www.tannerrecord.com/how-to-use-the-wordpress-filesystem-api/", "published_at": "2024-09-21T13:30:00+00:00" }, { "id": "01a0da32-0683-7109-b3fc-4d20c558aeb7", "title": "The WordPress Community Needs More Utility Plugins", "url": "https://www.tannerrecord.com/the-wordpress-community-needs-more-utility-plugins/", "published_at": "2024-03-16T13:00:00+00:00" }, { "id": "01a0da32-0683-7109-b3fc-4d20c6034fe8", "title": "How to: Configure WordPress Coding Standards", "url": "https://www.tannerrecord.com/how-to-configure-wordpress-coding-standards/", "published_at": "2024-03-09T14:18:34+00:00" }, { "id": "01a0da32-0683-7109-b3fc-4d20c60b0df1", "title": "Building a Stress-Free Deployment Pipeline", "url": "https://www.tannerrecord.com/building-a-stress-free-deployment-pipeline/", "published_at": "2024-03-02T14:20:00+00:00" }, { "id": "01a0da32-0683-7109-b3fc-4d20c61a4446", "title": "How to: Get Started Refactoring Your Plugin", "url": "https://www.tannerrecord.com/how-to-get-started-refactoring-your-plugin/", "published_at": "2024-02-24T14:00:00+00:00" }, { "id": "01a0da32-0683-7109-b3fc-4d20c6a0dfb1", "title": "How to Start Your Next Modern WordPress Plugin", "url": "https://www.tannerrecord.com/how-to-start-your-next-modern-wordpress-plugin/", "published_at": "2024-02-17T14:25:00+00:00" }, { "id": "01a0da32-0683-7109-b3fc-4d20c6c3eb24", "title": "Release New WordPress Plugin Versions in GitHub", "url": "https://www.tannerrecord.com/release-new-wordpress-plugin-versions-in-github/", "published_at": "2024-02-10T14:30:00+00:00" }, { "id": "01a0da32-0683-7109-b3fc-4d20c788b7da", "title": "A Primer on Autoloading in WordPress", "url": "https://www.tannerrecord.com/a-primer-on-autoloading-in-wordpress/", "published_at": "2024-02-03T14:25:00+00:00" }, { "id": "01a0da32-0683-7109-b3fc-4d20c7f4e7f2", "title": "The Great Data Liberation", "url": "https://www.tannerrecord.com/the-great-data-liberation/", "published_at": "2024-01-27T13:47:08+00:00" }, { "id": "01a0da32-0683-7109-b3fc-4d20c8868b23", "title": "How to Add Plugin Info to WordPress Site Health", "url": "https://www.tannerrecord.com/how-to-add-plugin-info-to-wordpress-site-health/", "published_at": "2024-01-20T14:20:00+00:00" }, { "id": "01a0da33-e3bf-7237-928b-31660763c4d7", "title": "How to Set Up a WordPress Plugin GitHub Repository", "url": "https://www.tannerrecord.com/how-to-set-up-a-wordpress-plugin-github-repository/", "published_at": "2024-01-13T13:13:17+00:00" }, { "id": "01a0da33-e3bf-7237-928b-3166081eb776", "title": "How to Use the Shutdown Hook for Tasks", "url": "https://www.tannerrecord.com/how-to-use-the-shutdown-hook-for-tasks/", "published_at": "2024-01-06T14:30:00+00:00" }, { "id": "01a0da33-e3bf-7237-928b-3166090ddd4f", "title": "How to Write Great Commits", "url": "https://www.tannerrecord.com/how-to-write-great-commits/", "published_at": "2023-11-25T13:35:33+00:00" }, { "id": "01a0da33-e3bf-7237-928b-3166092ac5f9", "title": "Collect Usage Data With A Simple Hook", "url": "https://www.tannerrecord.com/collect-usage-data-with-a-simple-hook/", "published_at": "2023-11-18T14:00:00+00:00" }, { "id": "01a0da33-e3bf-7237-928b-3166098c5d9a", "title": "Create CSV Exports of WordPress Data", "url": "https://www.tannerrecord.com/create-csv-exports-of-wordpress-data/", "published_at": "2023-11-11T14:30:00+00:00" }, { "id": "01a0da33-e3bf-7237-928b-3166099f5794", "title": "Add PHP Compatibility Checks to Your Process", "url": "https://www.tannerrecord.com/add-php-compatibility-checks-to-your-process/", "published_at": "2023-09-09T13:30:00+00:00" }, { "id": "01a0da33-e3bf-7237-928b-316609c1d64a", "title": "3 Lessons I’ve Learned Building Enterprise WordPress Plugins", "url": "https://www.tannerrecord.com/3-lessons-ive-learned-building-enterprise-wordpress-plugins/", "published_at": "2023-09-02T13:30:00+00:00" }, { "id": "01a0da33-e3bf-7237-928b-31660a3aefbf", "title": "WordPress Nonce 101: What are they and why do they matter?", "url": "https://www.tannerrecord.com/wordpress-nonce-101/", "published_at": "2023-08-19T13:30:00+00:00" }, { "id": "01a0da33-e3bf-7237-928b-31660a5eb74a", "title": "SWPD #014: Does Your Plugin Need a Custom Database Table?", "url": "https://www.tannerrecord.com/does-your-plugin-need-a-custom-database-table/", "published_at": "2023-08-05T13:30:00+00:00" }, { "id": "01a0da33-e3bf-7237-928b-31660aa19baa", "title": "SWPD #013: How to Make Breaking Changes In your Plugin", "url": "https://www.tannerrecord.com/how-to-make-breaking-changes-in-your-plugin/", "published_at": "2023-07-29T13:30:00+00:00" }, { "id": "01a0da34-ba76-711f-841f-0b51835f11f2", "title": "SWPD #012: Semantic Versioning 101", "url": "https://www.tannerrecord.com/semantic-versioning-101/", "published_at": "2023-07-22T13:30:00+00:00" }, { "id": "01a0da34-ba76-711f-841f-0b518404fc56", "title": "SWPD #011: The Four Levels of Automated Testing", "url": "https://www.tannerrecord.com/the-four-levels-of-automated-testing/", "published_at": "2023-07-15T13:30:00+00:00" }, { "id": "01a0da34-ba76-711f-841f-0b5184fdf292", "title": "SWPD #010: How to Add Acceptance Tests to Your WordPress Plugin", "url": "https://www.tannerrecord.com/how-to-add-acceptance-tests-to-your-wordpress-plugin/", "published_at": "2023-07-08T13:30:00+00:00" }, { "id": "01a0da34-ba76-711f-841f-0b518570b329", "title": "SWPD #009: How to Audit the Codebase of Your WordPress Plugin", "url": "https://www.tannerrecord.com/how-to-audit-the-codebase-of-your-wordpress-plugin/", "published_at": "2023-07-01T13:30:00+00:00" }, { "id": "01a0da34-ba76-711f-841f-0b51857b6875", "title": "SWPD #008: Namespacing WordPress Hooks in Plugins", "url": "https://www.tannerrecord.com/namespacing-wordpress-hooks-in-plugins/", "published_at": "2023-06-24T13:30:00+00:00" }, { "id": "01a0da34-ba76-711f-841f-0b51866599f0", "title": "SWPD #007: How to Use Composer to Simplify Plugin Development", "url": "https://www.tannerrecord.com/how-to-use-composer-to-simplify-plugin-development/", "published_at": "2023-06-17T13:30:00+00:00" }, { "id": "01a0da34-ba76-711f-841f-0b51872153e7", "title": "SWPD #006: Use Modern PHP in Your WordPress Plugins", "url": "https://www.tannerrecord.com/use-modern-php-in-your-wordpress-plugins/", "published_at": "2023-06-10T13:30:00+00:00" }, { "id": "01a0da34-ba76-711f-841f-0b5187dc7bad", "title": "SWPD #005: Easily Zip WordPress Plugins with WP-CLI dist-archive", "url": "https://www.tannerrecord.com/easily-zip-wordpress-plugins-with-wp-cli-dist-archive/", "published_at": "2023-06-03T13:30:00+00:00" }, { "id": "01a0da34-ba76-711f-841f-0b51884b157e", "title": "SWPD #004: Effectively Planning New Development", "url": "https://www.tannerrecord.com/effectively-planning-new-development/", "published_at": "2023-05-27T13:30:00+00:00" }, { "id": "01a0da34-ba76-711f-841f-0b5188a3a45a", "title": "SWPD #003: Setting up a local development environment with Lando", "url": "https://www.tannerrecord.com/setting-up-a-local-development-environment-with-lando/", "published_at": "2023-05-20T13:30:00+00:00" }, { "id": "01a0da35-6ecd-71fd-8e37-176ef8900530", "title": "SWPD#002: Improve Your Code Quality With Static Analysis", "url": "https://www.tannerrecord.com/improve-your-code-quality-with-static-analysis/", "published_at": "2023-05-13T13:30:00+00:00" }, { "id": "01a0da35-6ecd-71fd-8e37-176ef953b05c", "title": "How to add a Github Action to your WordPress plugin", "url": "https://www.tannerrecord.com/how-to-add-a-github-action-to-your-wordpress-plugin/", "published_at": "2023-05-06T13:30:00+00:00" }, { "id": "01a0da35-6ecd-71fd-8e37-176efa48fe2a", "title": "Is Too Many Plugins Harmful For a WordPress Site?", "url": "https://www.tannerrecord.com/too-many-plugins/", "published_at": "2023-02-04T14:50:00+00:00" }, { "id": "01a0da35-6ecd-71fd-8e37-176efadeeb7a", "title": "How to Rebase Git Branch Onto Another Parent Branch", "url": "https://www.tannerrecord.com/how-to-rebase-git-branch-onto-another-parent-branch/", "published_at": "2022-12-09T14:15:00+00:00" }, { "id": "01a0da35-6ecd-71fd-8e37-176efae00464", "title": "Selective SQL Exports with WP-CLI", "url": "https://www.tannerrecord.com/selective-sql-exports-with-wp-cli/", "published_at": "2022-02-23T15:00:00+00:00" }, { "id": "01a0da35-6ecd-71fd-8e37-176efb71a710", "title": "Custom Post Type Naming", "url": "https://www.tannerrecord.com/custom-post-type-naming/", "published_at": "2022-02-01T15:30:00+00:00" }, { "id": "01a0da35-6ecd-71fd-8e37-176efc3f93a7", "title": "Software Versioning and WordPress", "url": "https://www.tannerrecord.com/software-versioning-and-wordpress/", "published_at": "2022-01-25T15:30:00+00:00" }, { "id": "01a0da35-6ecd-71fd-8e37-176efca384ce", "title": "No Language Options for Site Language in WordPress", "url": "https://www.tannerrecord.com/no-language-options-for-site-language-in-wordpress/", "published_at": "2021-12-23T15:30:00+00:00" }, { "id": "01a0da35-6ecd-71fd-8e37-176efd6be63d", "title": "How to Use Custom Fields In WordPress", "url": "https://www.tannerrecord.com/how-to-use-custom-fields-in-wordpress/", "published_at": "2021-09-17T14:30:00+00:00" }, { "id": "01a0da35-6ecd-71fd-8e37-176efdbca0eb", "title": "Micro Plugins In WordPress", "url": "https://www.tannerrecord.com/micro-plugins-wordpress/", "published_at": "2021-09-10T14:32:29+00:00" }, { "id": "01a0da36-0e9a-739f-8734-3741d4e83f6a", "title": "Using VS Code to Improve Your Git Commits", "url": "https://www.tannerrecord.com/using-vs-code-to-improve-git-commits/", "published_at": "2021-02-27T20:55:56+00:00" }, { "id": "01a0da36-0e9a-739f-8734-3741d5b5c99c", "title": "Get Only Public Post Types In WordPress", "url": "https://www.tannerrecord.com/checking-post-type-on-save/", "published_at": "2021-01-29T16:00:00+00:00" }, { "id": "01a0da36-0e9a-739f-8734-3741d69ecfd8", "title": "Transforms Can Be Used to Invert Elements", "url": "https://www.tannerrecord.com/transforms-can-be-used-to-invert-elements/", "published_at": "2020-09-25T21:29:11+00:00" }, { "id": "01a0da36-0e9a-739f-8734-3741d76ea6d0", "title": "Using Symlinks With Local by Flywheel For Plugin Development", "url": "https://www.tannerrecord.com/how-to-use-symlinks-for-plugin-development-with-local-by-flywheel/", "published_at": "2020-01-31T14:19:33+00:00" }, { "id": "01a0da36-0e9a-739f-8734-3741d7780788", "title": "Learn SCSS From The Source", "url": "https://www.tannerrecord.com/til-learn-scss-from-the-source/", "published_at": "2020-01-24T13:00:00+00:00" }, { "id": "01a0da36-0e9a-739f-8734-3741d84dfa8d", "title": "How To Use Local By Flywheel For Local WordPress Development", "url": "https://www.tannerrecord.com/how-to-use-local-by-flywheel-for-local-wordpress-development/", "published_at": "2020-01-17T15:20:32+00:00" }, { "id": "01a0da36-0e9a-739f-8734-3741d900e76d", "title": "How To Write Your First WordPress Plugin", "url": "https://www.tannerrecord.com/how-to-write-your-first-wordpress-plugin/", "published_at": "2019-02-05T12:00:45+00:00" }, { "id": "01a0da36-0e9a-739f-8734-3741d9d57acb", "title": "How To Back Up Forge WordPress Sites to Amazon S3", "url": "https://www.tannerrecord.com/back-up-forge-amazon-s3/", "published_at": "2018-11-05T12:09:27+00:00" }, { "id": "01a0da36-0e9a-739f-8734-3741da8128a8", "title": "How To Develop A Backup Plan For WordPress", "url": "https://www.tannerrecord.com/develop-backup-plan-wordpress/", "published_at": "2018-07-17T18:32:30+00:00" }, { "id": "01a0da36-0e9a-739f-8734-3741db0980c1", "title": "How to Get Yoast’s Primary Category", "url": "https://www.tannerrecord.com/how-to-get-yoasts-primary-category/", "published_at": "2018-05-14T11:24:19+00:00" }, { "id": "01a0da36-d24a-7316-a770-3eb7b8e9682d", "title": "Efficiently Deleting WordPress Posts Using SQL", "url": "https://www.tannerrecord.com/deleting-wordpress-posts-sql/", "published_at": "2017-04-18T00:11:43+00:00" }, { "id": "01a0da36-d24a-7316-a770-3eb7b8ec2e33", "title": "Why Every Business Should Have A Blog", "url": "https://www.tannerrecord.com/why-every-business-should-have-a-blog/", "published_at": "2015-06-12T17:56:24+00:00" }, { "id": "01a0da36-d24a-7316-a770-3eb7b9ae5d67", "title": "How to Add Google Analytics to WordPress", "url": "https://www.tannerrecord.com/how-to-add-google-analytics-to-wordpress/", "published_at": "2015-06-11T16:21:08+00:00" }, { "id": "01a0da36-d24a-7316-a770-3eb7b9f524b5", "title": "How To Create A WordPress Website", "url": "https://www.tannerrecord.com/how-to-create-a-wordpress-website/", "published_at": "2015-06-08T21:01:01+00:00" }, { "id": "01a0da36-d24a-7316-a770-3eb7ba5eea3c", "title": "Simple Contact Form (Part 1)", "url": "https://www.tannerrecord.com/simple-contact-form-part-1/", "published_at": "2014-05-01T19:14:16+00:00" } ] posts Claim your blog
Back to tannerrecord.com
Blog · corpus.blog/blogs/tannerrecord.com/posts

tannerrecord.com

tannerrecord.com

2026

2024

2023

2022

2021

2020

2019

2018

2017

2015

2014