Did you know that a plugin hosted on the WordPress.org Plugin Directory can use a readme.md markdown file instead of readme.txt? If you manage your plugin on GitHub or GitLab and use a readme.md file there’s no need to maintain or generate a separate readme.txt file — just send the readme.md file straight to wordpress.org.
At any point in time I usually have a few coding projects on the go. Over the last two years I’ve made a conscious effort to focus on a few projects instead of trying to do everything, so I don’t spread myself too thinly.
Here’s a list of projects I’m working on currently.
You may have heard some news over the last few days about obfuscated and malicious code allegedly being found within a WordPress plugin published by a theme shop called pipdig. Jem Turner covered it here and Wordfence Security covered it here, although the latter chose to only use the word “peculiar” as I suspect they’ve drawn the same conclusion that I have.
If you’ve already disregarded this editor based on the Visual Studio prefix in its name, please don’t. There really is no relation to Visual Studio, and I suspect that the marketing team at Microsoft were entirely responsible for the naming prefix.
One of the problems you’ll soon run into when building a block for Gutenberg is that as a block becomes more complex, storing its complete output statically becomes undesirable. If a block contains several fields or its output contains HTML markup, you don’t want to find yourself in a situation where this output needs to be changed at some point in the future and you need to retrospectively apply changes to stored block output in every post.
Gutenberg supports dynamic block rendering so that you can perform more complex output rendering on the fly, without having to store the complete output when the block is saved. This is the same method that shortcodes in WordPress use and allows you to move away from static block output. If you’re building a block for Gutenberg that uses anything more than very simple output, you should consider using dynamic rendering.